All pastes #10288 Raw Edit

gtk app

public text v1 · immutable
#10288 ·published 2005-04-25 18:45 UTC
rendered paste body
#include <gtk/gtk.h>

void CloseTheApp ( GtkWidget * window, gpointer data)
{
 gtk_main_quit();     
}

void AddMvrPage ( GtkWidget * notebook, gchar * pglabel, gchar * frmlabel)
{
 GtkWidget *frame;
 GtkWidget *label;
 
 frame = gtk_frame_new(frmlabel);
 label = gtk_label_new (pglabel);
 
 gtk_notebook_append_page (GTK_NOTEBOOK (notebook), frame, label);     
}

void BuildWindow( GtkWidget * window )
{ 
 window = gtk_window_new ( GTK_WINDOW_TOPLEVEL );
 gtk_window_set_title ( GTK_WINDOW( window ), "MVRDBT C Version");
 gtk_container_set_border_width ( GTK_CONTAINER ( window ), 5);
 gtk_window_set_default_size ( GTK_WINDOW ( window ), 400, 400);

 gtk_signal_connect ( GTK_OBJECT( window ), "destroy", 
                      GTK_SIGNAL_FUNC ( CloseTheApp ), NULL);      
}

void BuildUserInterface ()
{
 GtkWidget *window;
 GtkWidget *notebook; 

 gchar pgMainTitle[]    = "Home"; 
 gchar frmMainTitle[]   = "Main"; 
 gchar pgConfigTitle[]  = "Config";
 gchar frmConfigTitle[] = "Settings";
 gchar pgAboutTitle[]   = "About";
 gchar frmAboutTitle[]  = "Version Information";

 BuildWindow(window);

 notebook = gtk_notebook_new();
 
 gtk_container_add ( GTK_CONTAINER( window ), notebook);
  
 AddMvrPage( notebook, pgMainTitle, frmMainTitle);
 AddMvrPage( notebook, pgConfigTitle, frmConfigTitle);
 AddMvrPage( notebook, pgAboutTitle, frmAboutTitle);
      
 gtk_widget_show_all( window );      
}

gint main( gint argc, gchar * argv[])
{
 gtk_init( &argc, &argv);
 
 BuildUserInterface();
  
 gtk_main();
 return 0;     
}