Blame platform-demos/el/hello-world.c.page

Packit 1470ea
Packit 1470ea
<page xmlns="http://projectmallard.org/1.0/" xmlns:its="http://www.w3.org/2005/11/its" xmlns:xi="http://www.w3.org/2001/XInclude" type="guide" style="task" id="hello-world" xml:lang="el">
Packit 1470ea
Packit 1470ea
  <info>
Packit 1470ea
    
Packit 1470ea
    <title type="link">Hello World (C)</title>
Packit 1470ea
    <link type="guide" xref="c#examples"/>
Packit 1470ea
    <revision version="0.1" date="2013-06-17" status="review"/>
Packit 1470ea
Packit 1470ea
    <credit type="author copyright">
Packit 1470ea
      <name>Susanna Huhtanen</name>
Packit 1470ea
      <email its:translate="no">ihmis.suski@gmail.com</email>
Packit 1470ea
      <years>2012</years>
Packit 1470ea
    </credit>
Packit 1470ea
    <credit type="editor">
Packit 1470ea
      <name>Tiffany Antopolski</name>
Packit 1470ea
      <email its:translate="no">tiffany.antopolski@gmail.com</email>
Packit 1470ea
    </credit>
Packit 1470ea
    <credit type="editor">
Packit 1470ea
      <name>Bastian Ilsø</name>
Packit 1470ea
      <email its:translate="no">bastianilso@gnome.org</email>
Packit 1470ea
    </credit>
Packit 1470ea
Packit 1470ea
    <desc>Δημιουργώντας μια μικρή εφαρμογή "Hello, World" χρησιμοποιώντας GTK+.</desc>
Packit 1470ea
  
Packit 1470ea
    <mal:credit xmlns:mal="http://projectmallard.org/1.0/" type="translator copyright">
Packit 1470ea
      <mal:name>Ελληνική μεταφραστική ομάδα GNOME</mal:name>
Packit 1470ea
      <mal:email>team@gnome.gr</mal:email>
Packit 1470ea
      <mal:years>2012-2015</mal:years>
Packit 1470ea
    </mal:credit>
Packit 1470ea
  
Packit 1470ea
    <mal:credit xmlns:mal="http://projectmallard.org/1.0/" type="translator copyright">
Packit 1470ea
      <mal:name>Δημήτρης Σπίγγος</mal:name>
Packit 1470ea
      <mal:email>dmtrs32@gmail.com</mal:email>
Packit 1470ea
      <mal:years>2012, 2013</mal:years>
Packit 1470ea
    </mal:credit>
Packit 1470ea
  
Packit 1470ea
    <mal:credit xmlns:mal="http://projectmallard.org/1.0/" type="translator copyright">
Packit 1470ea
      <mal:name>Μαρία Θουκιδίδου</mal:name>
Packit 1470ea
      <mal:email>marablack3@gmail.com</mal:email>
Packit 1470ea
      <mal:years>2014</mal:years>
Packit 1470ea
    </mal:credit>
Packit 1470ea
  
Packit 1470ea
    <mal:credit xmlns:mal="http://projectmallard.org/1.0/" type="translator copyright">
Packit 1470ea
      <mal:name>Θάνος Τρυφωνίδης</mal:name>
Packit 1470ea
      <mal:email>tomtryf@gmail.com</mal:email>
Packit 1470ea
      <mal:years>2014, 2015</mal:years>
Packit 1470ea
    </mal:credit>
Packit 1470ea
  </info>
Packit 1470ea
Packit 1470ea
  <title>Hello world</title>
Packit 1470ea
Packit 1470ea
  <note>
Packit 1470ea
    

Μια μια λεπτομερή αναφορά στην δημιουργία διαλόγων GTK+ σε C, δείτε το <link href="https://developer.gnome.org/gtk3/stable/gtk-getting-started.html">Getting Started with GTK+</link>

Packit 1470ea
  </note>
Packit 1470ea
Packit 1470ea
  

Ένας διάλογος GTK+ με το μήνυμα «Γεια σου κόσμε» μπορεί να δημιουργηθεί σε C με τον παρακάτω κώδικα:

Packit 1470ea
  
Packit 1470ea
    #include <gtk/gtk.h>
Packit 1470ea
Packit 1470ea
static void
Packit 1470ea
activate (GtkApplication* app,
Packit 1470ea
          gpointer        user_data)
Packit 1470ea
{
Packit 1470ea
  GtkWidget *window;
Packit 1470ea
  GtkWidget *label;
Packit 1470ea
Packit 1470ea
  window = gtk_application_window_new (app);
Packit 1470ea
  label = gtk_label_new ("Hello GNOME!");
Packit 1470ea
  gtk_container_add (GTK_CONTAINER (window), label);
Packit 1470ea
  gtk_window_set_title (GTK_WINDOW (window), "Welcome to GNOME");
Packit 1470ea
  gtk_window_set_default_size (GTK_WINDOW (window), 200, 100);
Packit 1470ea
  gtk_widget_show_all (window);
Packit 1470ea
}
Packit 1470ea
Packit 1470ea
int
Packit 1470ea
main (int    argc,
Packit 1470ea
      char **argv)
Packit 1470ea
{
Packit 1470ea
  GtkApplication *app;
Packit 1470ea
  int status;
Packit 1470ea
Packit 1470ea
  app = gtk_application_new (NULL, G_APPLICATION_FLAGS_NONE);
Packit 1470ea
  g_signal_connect (app, "activate", G_CALLBACK (activate), NULL);
Packit 1470ea
  status = g_application_run (G_APPLICATION (app), argc, argv);
Packit 1470ea
  g_object_unref (app);
Packit 1470ea
Packit 1470ea
  return status;
Packit 1470ea
}
Packit 1470ea
Packit 1470ea
  
Packit 1470ea
Packit 1470ea
  

Το GtkApplication αρχικοποιεί το GTK+. Συνδέει επίσης του κουμπί <gui>x</gui>, το οποίο δημιουργείται αυτόματα μαζί με το παράθυρο, με το σήμα"destroy". Πλέον μπορούμε να δημιουργήσουμε το πρώτο μας παράθυρο. Αυτό γίνεται δημιουργώντας μια μεταβλητή με όνομα window και την καταχωρούμε στο gtk_application_window_new. Ο τίτλος του παραθύρου μπορεί να είναι οποιοδήποτε κείμενο επιθυμείτε. Για να είστε σίγουροι, καλό είναι να χρησιμοποιήσετε ένα σε κωδικοποίηση UTF-8. Ο παραπάνω κώδικας θα δημιουργήσει ένα παράθυρου διαλόγουμ ίδιο με το παρακάτω:

Packit 1470ea
Packit 1470ea
  <media type="image" mime="image/png" src="media/hello-world.png"/>
Packit 1470ea
</page>