Hi All, But as usual with GUI programming in C or C++, in this case gtk3, the way to access components, subcomponents and their data, is extremely contorted.
Edward On 29/11/2015, Edward Bartolo <[email protected]> wrote: > Hi All, > > Finally I succeeded to create a simple window with a button and a > multiline text box! > > Edward > > On 29/11/2015, Edward Bartolo <[email protected]> wrote: >> Hi Aitor, >> >> Thanks for taking some time to answer my question. I did as you >> instructed me and successfully compile and run the test program. >> However, the test program failed to close even though I closed its >> window. I had to kill it using Ctrl + C. >> >> Thanks >> >> On 29/11/2015, aitor_czr <[email protected]> wrote: >>> Hi Edward, >>> >>> Replace by GtkObject* object by GtkWidget* widget in the routine >>> 'on_window_destroy'. On the other hand, use -export-dynamic. Otherwise, >>> you will get warnings running the executable: >>> >>> (prueba:4108): Gtk-WARNING **: Could not find signal handler >>> 'on_togglebutton1_clicked'. Did you compile with -rdynamic? >>> >>> In other words: >>> >>> $ gcc -o gtkprog gtkprog.c -export-dynamic `pkg-config --libs --cflags >>> gtk+-3.0` >>> >>> HTH, >>> >>> Aitor. >>> >>> On 11/28/2015 07:46 PM, Edward Bartolo <[email protected]> wrote: >>>> Hi All, >>>> >>>> I am trying to practice creating a GUI with gtk but I am failing to >>>> compile my little test application. >>>> >>>> -------------------------------------------- >>>> >>>> #include <gtk/gtk.h> >>>> >>>> void >>>> on_window_destroy (GtkObject *object, gpointer user_data) >>>> { >>>> gtk_main_quit (); >>>> } >>>> >>>> int >>>> main (int argc, char *argv[]) >>>> { >>>> GtkBuilder *builder; >>>> GtkWidget *window; >>>> >>>> gtk_init (&argc, &argv); >>>> >>>> builder = gtk_builder_new (); >>>> gtk_builder_add_from_file (builder, "gui.glade", NULL); >>>> window = GTK_WIDGET (gtk_builder_get_object (builder, "window1")); >>>> gtk_builder_connect_signals (builder, NULL); >>>> >>>> g_object_unref (G_OBJECT (builder)); >>>> >>>> gtk_widget_show (window); >>>> gtk_main (); >>>> >>>> return 0; >>>> } >>>> >>>> ------------------------------ >>>> >>>> The .glade file: >>>> >>>> <?xml version="1.0" encoding="UTF-8"?> >>>> <!-- Generated with glade 3.18.3 --> >>>> <interface> >>>> <requires lib="gtk+" version="3.12"/> >>>> <object class="GtkWindow" id="window1"> >>>> <property name="can_focus">False</property> >>>> <child> >>>> <object class="GtkBox" id="box1"> >>>> <property name="visible">True</property> >>>> <property name="can_focus">False</property> >>>> <property name="orientation">vertical</property> >>>> <child> >>>> <object class="GtkMenuButton" id="menubutton1"> >>>> <property name="visible">True</property> >>>> <property name="can_focus">True</property> >>>> <property name="receives_default">True</property> >>>> <child> >>>> <placeholder/> >>>> </child> >>>> </object> >>>> <packing> >>>> <property name="expand">False</property> >>>> <property name="fill">True</property> >>>> <property name="position">0</property> >>>> </packing> >>>> </child> >>>> <child> >>>> <object class="GtkTextView" id="textview1"> >>>> <property name="visible">True</property> >>>> <property name="can_focus">True</property> >>>> <property name="wrap_mode">word</property> >>>> </object> >>>> <packing> >>>> <property name="expand">True</property> >>>> <property name="fill">True</property> >>>> <property name="position">1</property> >>>> </packing> >>>> </child> >>>> <child> >>>> <object class="GtkToggleButton" id="togglebutton1"> >>>> <property name="label" >>>> translatable="yes">togglebutton</property> >>>> <property name="width_request">100</property> >>>> <property name="visible">True</property> >>>> <property name="can_focus">True</property> >>>> <property name="receives_default">True</property> >>>> <property name="halign">end</property> >>>> <property name="valign">center</property> >>>> <property name="xalign">0.51999998092651367</property> >>>> <property name="image_position">right</property> >>>> <signal name="clicked" handler="on_togglebutton1_clicked" >>>> object="textview1" swapped="no"/> >>>> </object> >>>> <packing> >>>> <property name="expand">False</property> >>>> <property name="fill">True</property> >>>> <property name="pack_type">end</property> >>>> <property name="position">2</property> >>>> </packing> >>>> </child> >>>> </object> >>>> </child> >>>> </object> >>>> </interface> >>> ------------------------------ The command to compile: $ gcc -o gtkprog >>> gtkprog.c `pkg-config --libs --cflags gtk+-3.0` Could anyone shed some >>> light on what I am doing wrong? Edward >>> >> > _______________________________________________ Dng mailing list [email protected] https://mailinglists.dyne.org/cgi-bin/mailman/listinfo/dng
