hello-world/settings/main.c File Reference

#include "config.h"
#include <glib.h>
#include <gtk/gtk.h>
#include <signal.h>
#include <string.h>
#include <stdlib.h>
#include <sys/types.h>
#include <unistd.h>
#include <libergtk/ergtk.h>
#include <liberutils/gconf_utils.h>
#include "log.h"
#include "i18n.h"
#include "ipc.h"
#include "main.h"
#include "menu.h"
#include "screen_utils.h"
Include dependency graph for hello-world/settings/main.c:

Go to the source code of this file.

Defines

#define GCONF_ROOT   "/apps/er/" PACKAGE
#define GCONF_TODO_ENTRY   GCONF_ROOT "/todo_entry"
#define GCONF_TODO_RADIOBUTTON   GCONF_ROOT "/todo_radiobutton"
#define WINDOW_MIN_WIDTH   700
#define WINDOW_MIN_HEIGHT   625

Enumerations

enum  TODO_radioButton_e { RADIO_FIRST, RADIO_SECOND, RADIO_THIRD, N_RADIO }

Functions

static void load_settings (void)
static void main_set_text (void)
static void save_settings (void)
static void on_cancel_clicked (GtkButton *button, gpointer user_data)
static gboolean on_focus_out (GtkWidget *widget, GdkEventFocus *event, gpointer user_data)
static void on_save_clicked (GtkButton *button, gpointer user_data)
static gboolean on_startup_complete (gpointer data)
static void usage (const char *argv_0)
static void parse_arguments (int argc, char **argv)
void main_set_locale (const char *locale)
static GtkWidget * create_screen_layout (void)
void main_quit (void)
static void on_sigterm (int signo)
int main (int argc, char *argv[])
void run_error_dialog (const gchar *msg)

Variables

static const char * rc_filename = DATADIR "/" PACKAGE_NAME ".rc"
static const int WINDOW_TOP_PADDING = 40
static const int WINDOW_BOTTOM_PADDING = 20
static const int WINDOW_H_PADDING = 20
static const int SCREENITEMS_V_SPACING = 20
static const int SCREENITEMS_H_SPACING = 20
static const int BUTTONS_H_SPACING = 20
static const int ENTRY_LABEL_WIDTH = 200
struct {
   GtkWidget *   widget
   const gchar *   TODO_radio_button_text
   const gchar *   TODO_registry_value
g_radio_buttons [N_RADIO]
static GtkWidget * g_title = NULL
static GtkWidget * g_label_TODO = NULL
static GtkWidget * g_entry_TODO = NULL
static GtkWidget * g_button_cancel = NULL
static GtkWidget * g_button_save = NULL

Define Documentation

#define GCONF_ROOT   "/apps/er/" PACKAGE

Definition at line 74 of file hello-world/settings/main.c.

#define GCONF_TODO_ENTRY   GCONF_ROOT "/todo_entry"

Definition at line 75 of file hello-world/settings/main.c.

Referenced by load_settings(), and save_settings().

#define GCONF_TODO_RADIOBUTTON   GCONF_ROOT "/todo_radiobutton"

Definition at line 76 of file hello-world/settings/main.c.

Referenced by load_settings(), and save_settings().

#define WINDOW_MIN_HEIGHT   625

Definition at line 88 of file hello-world/settings/main.c.

Referenced by main().

#define WINDOW_MIN_WIDTH   700

Definition at line 87 of file hello-world/settings/main.c.

Referenced by main().


Enumeration Type Documentation

Copyright (C) 2009 iRex Technologies B.V. All rights reserved.

Enumerator:
RADIO_FIRST 
RADIO_SECOND 
RADIO_THIRD 
N_RADIO 

Definition at line 59 of file hello-world/settings/main.c.

00060         {
00061             RADIO_FIRST,
00062             RADIO_SECOND,
00063             RADIO_THIRD,
00064             N_RADIO
00065         } TODO_radioButton_e;


Function Documentation

static GtkWidget* create_screen_layout ( void   )  [static]

Definition at line 188 of file hello-world/settings/main.c.

References BUTTONS_H_SPACING, create_screen_title(), create_separator(), ENTRY_LABEL_WIDTH, ergtk_entry_new(), g_button_cancel, g_button_save, g_entry_TODO, g_label_TODO, g_radio_buttons, g_title, label, load_settings(), LOGPRINTF, main_set_text(), N_RADIO, on_cancel_clicked(), on_save_clicked(), SCREENITEMS_H_SPACING, SCREENITEMS_V_SPACING, widget, WINDOW_BOTTOM_PADDING, WINDOW_H_PADDING, and WINDOW_TOP_PADDING.

Referenced by main().

00189 {
00190     GtkWidget   *background = NULL;  // return value
00191     GtkWidget   *widget;
00192     GtkWidget   *previous;
00193     GtkWidget   **p_widget;
00194     GtkBox      *vbox;
00195     GtkBox      *vbox2;
00196     GtkBox      *hbox;
00197     GtkLabel    *label;
00198     int         i;
00199 
00200     LOGPRINTF("entry");
00201 
00202     // object hierarchy:
00203     //     background (alignment)
00204     //       |
00205     widget = gtk_alignment_new(0.0, 0.0, 1.0, 1.0);
00206     gtk_alignment_set_padding( GTK_ALIGNMENT(widget),
00207                                WINDOW_TOP_PADDING,
00208                                WINDOW_BOTTOM_PADDING,
00209                                WINDOW_H_PADDING,
00210                                WINDOW_H_PADDING  );
00211     gtk_widget_show(widget);
00212     background = widget;
00213     //       |
00214     //       |-- vbox
00215     //             |
00216     widget = gtk_vbox_new(FALSE, SCREENITEMS_V_SPACING);
00217     gtk_container_add(GTK_CONTAINER(background), widget);
00218     gtk_widget_show(widget);
00219     vbox = GTK_BOX(widget);
00220     //             |
00221     //             |-- g_title
00222     //             |
00223     widget = create_screen_title( &g_title );
00224     gtk_box_pack_start(vbox, widget, FALSE, FALSE, 0);
00225     //             |
00226     //             |-- hbox
00227     //             |     |-- g_label_TODO
00228     //             |     |-- g_entry_TODO
00229     //             |
00230     widget = gtk_hbox_new(FALSE, SCREENITEMS_H_SPACING);
00231     gtk_box_pack_start(vbox, widget, FALSE, FALSE, 0);
00232     gtk_widget_show(widget);
00233     hbox = GTK_BOX(widget);
00234     //             |
00235     p_widget = &g_label_TODO;
00236     widget = gtk_label_new(NULL);
00237     gtk_widget_set_name(widget, "irex-hello-instruction");
00238     gtk_widget_set_size_request(widget, ENTRY_LABEL_WIDTH, -1 );
00239     gtk_box_pack_start(hbox, widget, FALSE, FALSE, 0);
00240     label = GTK_LABEL(widget);
00241     gtk_label_set_line_wrap(label, TRUE);
00242     gtk_label_set_ellipsize(label, PANGO_ELLIPSIZE_NONE);
00243     gtk_misc_set_alignment(GTK_MISC(widget), 0.0, 0.5);
00244     g_signal_connect(widget, "destroy", G_CALLBACK(gtk_widget_destroyed), p_widget);
00245     gtk_widget_show(widget);
00246     g_assert(*p_widget == NULL);
00247     *p_widget = widget;
00248     //             |
00249     p_widget = &g_entry_TODO;
00250     widget = ergtk_entry_new();
00251     gtk_widget_set_name(widget, "irex-hello-entry");
00252     gtk_box_pack_end(hbox, widget, TRUE, TRUE, 0);
00253     g_signal_connect(widget, "destroy", G_CALLBACK(gtk_widget_destroyed), p_widget);
00254     gtk_widget_show(widget);
00255     g_assert(*p_widget == NULL);
00256     *p_widget = widget;
00257     //             |
00258     //             |-- separator
00259     //             |
00260     widget = create_separator();
00261     gtk_box_pack_start(vbox, widget, FALSE, FALSE, 0);
00262     gtk_widget_show(widget);
00263     //             |
00264     //             |-- vbox2
00265     //             |     |-- g_radiobutton_TODO[..].widget
00266     //             |
00267     widget = gtk_vbox_new(FALSE, 0);
00268     gtk_box_pack_start(vbox, widget, FALSE, FALSE, 0);
00269     gtk_widget_show(widget);
00270     vbox2 = GTK_BOX(widget);
00271     //             |
00272     previous = NULL;
00273     for (i = 0 ; i < N_RADIO ; i++)
00274     {
00275         p_widget = &(g_radio_buttons[i].widget);
00276         widget = gtk_radio_button_new_with_label_from_widget(
00277                                                 previous ? GTK_RADIO_BUTTON(previous) : NULL,
00278                                                 NULL );
00279         gtk_box_pack_start(vbox2, widget, FALSE, FALSE, 0);
00280         g_signal_connect(widget, "destroy", G_CALLBACK(gtk_widget_destroyed), p_widget);
00281         gtk_widget_show(widget);
00282         g_assert(*p_widget == NULL);
00283         *p_widget = widget;
00284 
00285         previous = widget;
00286     }
00287     //             |
00288     //             |-- separator
00289     //             |
00290     widget = create_separator();
00291     gtk_box_pack_start(vbox, widget, FALSE, FALSE, 0);
00292     gtk_widget_show(widget);
00293     //             |
00294     //             |-- filler (event box)
00295     //             |     Note: filler takes no space itself, but puts buttons at double V spacing
00296     //             |
00297     widget = gtk_event_box_new();
00298     gtk_widget_set_size_request(widget, -1, -1);
00299     gtk_box_pack_start(vbox, widget, FALSE, FALSE, 0);
00300     gtk_widget_show(widget);
00301     //             |
00302     //             |-- hbox
00303     //                   |-- g_button_cancel
00304     //                   |-- g_button_save
00305     //
00306     widget = gtk_hbox_new(FALSE, BUTTONS_H_SPACING);
00307     gtk_box_pack_end(vbox, widget, FALSE, FALSE, 0);
00308     gtk_widget_show(widget);
00309     hbox = GTK_BOX(widget);
00310     //
00311     p_widget = &g_button_cancel;
00312     widget = gtk_button_new_with_label(NULL);
00313     gtk_box_pack_end(hbox, widget, FALSE, FALSE, 0);
00314     g_signal_connect(widget, "clicked", G_CALLBACK(on_cancel_clicked),    NULL);
00315     g_signal_connect(widget, "destroy", G_CALLBACK(gtk_widget_destroyed), p_widget);
00316     gtk_widget_show(widget);
00317     g_assert(*p_widget == NULL);
00318     *p_widget = widget;
00319     //
00320     p_widget = &g_button_save;
00321     widget = gtk_button_new_with_label(NULL);
00322     gtk_box_pack_end(hbox, widget, FALSE, FALSE, 0);
00323     g_signal_connect(widget, "clicked", G_CALLBACK(on_save_clicked),      NULL);
00324     g_signal_connect(widget, "destroy", G_CALLBACK(gtk_widget_destroyed), p_widget);
00325     gtk_widget_show(widget);
00326     g_assert(*p_widget == NULL);
00327     *p_widget = widget;
00328 
00329     main_set_text();
00330     load_settings();
00331     gtk_widget_grab_focus(g_button_cancel);
00332     
00333     return background;
00334 }

Here is the call graph for this function:

Here is the caller graph for this function:

void load_settings ( void   )  [static]

Definition at line 552 of file hello-world/settings/main.c.

References cp, ergconf_get_string(), ERRORPRINTF, g_entry_TODO, g_radio_buttons, GCONF_TODO_ENTRY, GCONF_TODO_RADIOBUTTON, LOGPRINTF, N_RADIO, TODO_registry_value, and widget.

Referenced by create_screen_layout().

00553 {
00554     gchar       *cp;
00555     gint        i;
00556     gboolean    b;
00557     GtkWidget   *widget;
00558 
00559     LOGPRINTF("entry");
00560 
00561     //TODO start
00562     ERRORPRINTF("Missing implementation: load values from registry");
00563 
00564     // entry field
00565     if (g_entry_TODO)
00566     {
00567         cp = ergconf_get_string( GCONF_TODO_ENTRY );
00568         LOGPRINTF("GCONF_TODO_ENTRY [%s]", cp);
00569         gtk_entry_set_text(GTK_ENTRY(g_entry_TODO), cp ? cp : "");
00570         g_free(cp);
00571     }
00572 
00573     // radio button
00574     cp = ergconf_get_string( GCONF_TODO_RADIOBUTTON );
00575     LOGPRINTF("GCONF_TODO_RADIOBUTTON [%s]", cp);
00576     for ( i = 0 ; i < N_RADIO ; i++ )
00577     {
00578         b = FALSE;
00579         if ( cp  &&  strcmp(cp, g_radio_buttons[i].TODO_registry_value) == 0 )
00580         {
00581             b = TRUE;
00582         }
00583 
00584         widget = g_radio_buttons[i].widget;
00585         if (widget)
00586         {
00587             gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON(widget), b );
00588         }
00589     }
00590     g_free(cp);
00591 
00592     //TODO end
00593 }

Here is the call graph for this function:

Here is the caller graph for this function:

int main ( int  argc,
char *  argv[] 
)

Definition at line 460 of file hello-world/settings/main.c.

References create_screen_layout(), ergconf_initialize(), g_main_window, GETTEXT_PACKAGE, ipc_set_services(), LOGPRINTF, menu_init(), on_focus_out(), on_sigterm(), on_startup_complete(), parse_arguments(), rc_filename, WARNPRINTF, widget, WINDOW_MIN_HEIGHT, and WINDOW_MIN_WIDTH.

00461 {
00462     GtkWidget        *widget;
00463     GtkWindow        *window;
00464     struct sigaction on_term;
00465 
00466     // parse command-line arguments
00467     parse_arguments(argc, argv);
00468 
00469     // catch the SIGTERM signal
00470     memset(&on_term, 0x00, sizeof(on_term));
00471     on_term.sa_handler = on_sigterm;
00472     sigaction(SIGTERM, &on_term, NULL);
00473 #if LOGGING_ON
00474     sigaction(SIGINT,  &on_term, NULL);
00475 #endif
00476 
00477     // init domain for translations
00478     textdomain(GETTEXT_PACKAGE);
00479     
00480     // init gtk, list the default rc files
00481     gtk_init(&argc, &argv);
00482     gchar** files = gtk_rc_get_default_files();
00483     while( *files )
00484     {
00485         WARNPRINTF("gtk_rc_get_default_files [%s]", *files);
00486         files++;
00487     }
00488 
00489     // init GConf library
00490     ergconf_initialize();
00491 
00492     // init modules
00493     ipc_set_services();
00494     menu_init();
00495 
00496     // open the RC file associated with this program
00497     WARNPRINTF("gtk_rc_parse [%s]", rc_filename);
00498     gtk_rc_parse(rc_filename);
00499 
00500     // create the top level window 
00501     widget = gtk_window_new(GTK_WINDOW_TOPLEVEL);
00502     gtk_widget_set_size_request(widget, WINDOW_MIN_WIDTH, WINDOW_MIN_HEIGHT);
00503     window = GTK_WINDOW(widget);
00504     gtk_window_set_type_hint( window, GDK_WINDOW_TYPE_HINT_DIALOG);
00505     gtk_window_set_title(     window, "");
00506     gtk_window_set_keep_above(window, TRUE);
00507     gtk_widget_realize(widget);
00508     gdk_window_set_decorations(widget->window, GDK_DECOR_BORDER);
00509     g_signal_connect(window, "focus-out-event", G_CALLBACK (on_focus_out), NULL);
00510     g_main_window = widget;
00511 
00512     // add screen details
00513     widget = create_screen_layout();
00514     gtk_container_add(GTK_CONTAINER(window), widget);
00515 
00516     // make sure everything is visible 
00517     gtk_widget_show(GTK_WIDGET(window));
00518 
00519     // tell system daemon we are ready to go
00520     g_idle_add(on_startup_complete, NULL);
00521     
00522     // run the main loop
00523     LOGPRINTF("before gtk_main");
00524     gtk_main();
00525     LOGPRINTF("after gtk_main");
00526 
00527     // clean up modules
00528 
00529     return 0;
00530 }

Here is the call graph for this function:

void main_quit ( void   ) 

Definition at line 377 of file hello-world/settings/main.c.

References ergconf_finalize(), g_main_window, menu_destroy(), and WARNPRINTF.

00378 {
00379     WARNPRINTF("entry");
00380     
00381     // clean up modules
00382     menu_destroy();
00383     ergconf_finalize();
00384 
00385     // clean up widgets
00386     if (g_main_window)
00387     {
00388         gtk_widget_destroy(g_main_window);
00389         g_main_window = NULL;
00390     }    
00391     
00392     // clean up gtk
00393     if (gtk_main_level() > 0)
00394     {
00395         WARNPRINTF("quit main loop");
00396         gtk_main_quit();
00397     }
00398     else
00399     {
00400         WARNPRINTF("no main loop to quit, exit directly");
00401         _exit(0);
00402     }
00403 }

Here is the call graph for this function:

void main_set_locale ( const char *  locale  ) 

Definition at line 175 of file hello-world/settings/main.c.

References LOGPRINTF, main_set_text(), and menu_set_text().

00176 {
00177     LOGPRINTF("entry: locale [%s]", locale);
00178 
00179     g_setenv("LANG", locale, TRUE);
00180     setlocale(LC_ALL, "");
00181 
00182     main_set_text();
00183     menu_set_text();
00184 }

Here is the call graph for this function:

static void main_set_text ( void   )  [static]

Definition at line 338 of file hello-world/settings/main.c.

References g_button_cancel, g_button_save, g_label_TODO, g_radio_buttons, g_title, LOGPRINTF, N_RADIO, TODO_radio_button_text, and widget.

Referenced by create_screen_layout(), and main_set_locale().

00339 {
00340     int         i;
00341     GtkWidget   *widget;
00342 
00343     LOGPRINTF("entry");
00344 
00345     if (g_title)
00346     {
00347         gtk_label_set_text(GTK_LABEL(g_title), _("Hello world - Settings"));
00348     }
00349 
00350     if (g_label_TODO)
00351     {
00352         gtk_label_set_text(GTK_LABEL(g_label_TODO), _("<your text here>"));
00353     }
00354 
00355     for (i = 0 ; i < N_RADIO ; i++)
00356     {
00357         widget = g_radio_buttons[i].widget;
00358         if (widget)
00359         {
00360             gtk_button_set_label( GTK_BUTTON(widget), _(g_radio_buttons[i].TODO_radio_button_text)  );
00361         }
00362     }
00363 
00364     if (g_button_cancel)
00365     {
00366         gtk_button_set_label(GTK_BUTTON(g_button_cancel), _("Cancel"));
00367     }
00368 
00369     if (g_button_save)
00370     {
00371         gtk_button_set_label(GTK_BUTTON(g_button_save), _("Save & Close"));
00372     }
00373 }

Here is the caller graph for this function:

static void on_cancel_clicked ( GtkButton *  button,
gpointer  user_data 
) [static]

Definition at line 430 of file hello-world/settings/main.c.

References LOGPRINTF, and main_quit().

Referenced by create_screen_layout().

00431 {
00432     LOGPRINTF("entry");
00433 
00434     main_quit();
00435 }

Here is the call graph for this function:

Here is the caller graph for this function:

static gboolean on_focus_out ( GtkWidget *  widget,
GdkEventFocus *  event,
gpointer  user_data 
) [static]

Definition at line 449 of file hello-world/settings/main.c.

References LOGPRINTF, and main_quit().

Referenced by main().

00450 {
00451     LOGPRINTF("entry");
00452 
00453     main_quit();
00454 
00455     return FALSE;
00456 }

Here is the call graph for this function:

Here is the caller graph for this function:

static void on_save_clicked ( GtkButton *  button,
gpointer  user_data 
) [static]

Definition at line 439 of file hello-world/settings/main.c.

References LOGPRINTF, main_quit(), and save_settings().

Referenced by create_screen_layout().

00440 {
00441     LOGPRINTF("entry");
00442 
00443     save_settings();
00444     main_quit();
00445 }

Here is the call graph for this function:

Here is the caller graph for this function:

static void on_sigterm ( int  signo  )  [static]

Definition at line 407 of file hello-world/settings/main.c.

References main_quit(), and WARNPRINTF.

Referenced by main().

00408 {
00409     WARNPRINTF("    -- entry " PACKAGE_NAME "-settings, my pid [%d]", getpid());
00410 
00411     // stop main process, prepare to quit application
00412     main_quit();
00413 
00414     WARNPRINTF("    -- leave " PACKAGE_NAME "-settings");
00415 }

Here is the call graph for this function:

Here is the caller graph for this function:

static gboolean on_startup_complete ( gpointer  data  )  [static]

Definition at line 419 of file hello-world/settings/main.c.

References ipc_sys_startup_complete(), and LOGPRINTF.

Referenced by main().

00420 {
00421     LOGPRINTF("entry");
00422 
00423     ipc_sys_startup_complete();
00424 
00425     return FALSE;  // don't call me again
00426 }

Here is the call graph for this function:

Here is the caller graph for this function:

static void parse_arguments ( int  argc,
char **  argv 
) [static]

Definition at line 154 of file hello-world/settings/main.c.

References ERRORPRINTF, and usage().

Referenced by main().

00155 {
00156     int  i;
00157 
00158     // parse options
00159     for (i = 1 ; i < argc ; i++)
00160     {
00161         if (strcmp(argv[i], "--help") == 0)
00162         {
00163             usage(argv[0]);
00164         }
00165         else
00166         {
00167             ERRORPRINTF("ignore unknown option [%s]", argv[i]);
00168             usage(argv[0]);
00169         }
00170     }
00171 }

Here is the call graph for this function:

Here is the caller graph for this function:

void run_error_dialog ( const gchar *  msg  ) 

Definition at line 534 of file hello-world/settings/main.c.

00535 {
00536     GtkWidget   *dialog = NULL;
00537 
00538     ERRORPRINTF("entry: msg [%s]", msg);
00539 
00540     dialog = gtk_message_dialog_new( GTK_WINDOW(g_main_window),
00541                                      GTK_DIALOG_DESTROY_WITH_PARENT,
00542                                      GTK_MESSAGE_ERROR,
00543                                      GTK_BUTTONS_OK,
00544                                      msg );
00545 
00546     gtk_dialog_run( GTK_DIALOG(dialog) );
00547     gtk_widget_destroy( dialog );
00548 }

void save_settings ( void   )  [static]

Definition at line 599 of file hello-world/settings/main.c.

References cp, ergconf_set_string(), ERRORPRINTF, g_entry_TODO, g_radio_buttons, GCONF_TODO_ENTRY, GCONF_TODO_RADIOBUTTON, LOGPRINTF, N_RADIO, and widget.

Referenced by on_save_clicked().

00600 {
00601     const gchar *cp;
00602     gint        i;
00603     gboolean    b;
00604     GtkWidget   *widget;
00605 
00606     LOGPRINTF("entry");
00607 
00608     //TODO start
00609     ERRORPRINTF("Missing implementation: save values to registry");
00610 
00611     // entry field
00612     if (g_entry_TODO)
00613     {
00614         cp = gtk_entry_get_text( GTK_ENTRY(g_entry_TODO) );
00615         ergconf_set_string( GCONF_TODO_ENTRY, cp );
00616     }
00617 
00618     // radio button
00619     cp = NULL;
00620     for ( i = 0 ; cp == NULL && i < N_RADIO ; i++ )
00621     {
00622         widget = g_radio_buttons[i].widget;
00623         if (widget)
00624         {
00625             b = gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON(widget) );
00626             if ( b )
00627             {
00628                 cp = g_radio_buttons[i].TODO_registry_value;
00629             }
00630         }
00631     }
00632     if (cp == NULL)
00633     {
00634         ERRORPRINTF("none of the g_radio_buttons selected");
00635         cp = "";
00636     }
00637     ergconf_set_string( GCONF_TODO_RADIOBUTTON, cp );
00638 
00639     //TODO end
00640 }

Here is the call graph for this function:

Here is the caller graph for this function:

static void usage ( const char *  argv_0  )  [static]

Definition at line 138 of file hello-world/settings/main.c.

00139 {
00140     static const char *usage_text = 
00141                         "\n"
00142                         "usage: %s [options]\n"
00143                         "\n"
00144                         "options:\n"
00145                         "    --help\n"
00146                         "        Print help text and quit\n";
00147 
00148     printf(usage_text, argv_0);
00149 
00150     exit(1);
00151 }


Variable Documentation

const int BUTTONS_H_SPACING = 20 [static]

Definition at line 84 of file hello-world/settings/main.c.

Referenced by create_screen_layout().

const int ENTRY_LABEL_WIDTH = 200 [static]

Definition at line 85 of file hello-world/settings/main.c.

Referenced by create_screen_layout().

GtkWidget* g_button_cancel = NULL [static]

Definition at line 116 of file hello-world/settings/main.c.

Referenced by create_screen_layout(), and main_set_text().

GtkWidget* g_button_save = NULL [static]

Definition at line 117 of file hello-world/settings/main.c.

Referenced by create_screen_layout(), and main_set_text().

GtkWidget* g_entry_TODO = NULL [static]

Definition at line 115 of file hello-world/settings/main.c.

Referenced by create_screen_layout(), load_settings(), and save_settings().

GtkWidget* g_label_TODO = NULL [static]

Definition at line 114 of file hello-world/settings/main.c.

Referenced by create_screen_layout(), and main_set_text().

struct { ... } g_radio_buttons[N_RADIO] [static]
GtkWidget* g_title = NULL [static]

Definition at line 113 of file hello-world/settings/main.c.

Referenced by create_screen_layout(), and main_set_text().

const char* rc_filename = DATADIR "/" PACKAGE_NAME ".rc" [static]

Definition at line 71 of file hello-world/settings/main.c.

Referenced by main().

const int SCREENITEMS_H_SPACING = 20 [static]

Definition at line 83 of file hello-world/settings/main.c.

Referenced by create_screen_layout().

const int SCREENITEMS_V_SPACING = 20 [static]

Definition at line 82 of file hello-world/settings/main.c.

Referenced by create_screen_layout().

const gchar* TODO_radio_button_text

Definition at line 99 of file hello-world/settings/main.c.

Referenced by main_set_text().

const gchar* TODO_registry_value

Definition at line 100 of file hello-world/settings/main.c.

Referenced by load_settings().

GtkWidget* widget
const int WINDOW_BOTTOM_PADDING = 20 [static]

Definition at line 80 of file hello-world/settings/main.c.

const int WINDOW_H_PADDING = 20 [static]

Definition at line 81 of file hello-world/settings/main.c.

const int WINDOW_TOP_PADDING = 40 [static]

Definition at line 79 of file hello-world/settings/main.c.

Generated by  doxygen 1.6.2-20100208