[Glade-users] C Beginner question



On Mon, 2007-12-24 at 10:33 -0800, Micah Carrick wrote:
Did you specify "ssh_user_entry" as the user_data for the "clicked" 
event of the button in the glade file? Otherwise, you might want to use 
glade_xml_signal_connect instead of autoconnect so you can specify the 
user data. Sometimes if you have custom user data, you use 
glade_xml_signal_connect_data for your connections instead.

void on_connect_btn_clicked(GtkButton *button, GtkWidget
*ssh_user_entry)
{
    const gchar *ssh_user_text;
     ssh_user_text = gtk_entry_get_text (GTK_ENTRY (ssh_user_entry));
    printf ("Entry contents: %s\n", ssh_user_text);
}

int main (int argc, char *argv[])
{
    GladeXML *xml;    /* glade xml file */
    GtkWidget *entry;
   
    gtk_init (&argc, &argv);
    xml = glade_xml_new (GLADE_FILE, NULL, NULL);   
   
    /* get a reference to the entry widget */
    entry = glade_xml_get_widget (xml, "ssh_user_entry");
   
    /*
    assumes "on_connect_btn_clicked" is the handler name specified in glade
    and passes the entry widget as user data.
    */
   
    glade_xml_signal_connect_data (xml,
                                   "on_connect_btn_clicked",
                                   G_CALLBACK (on_connect_btn_clicked),
                                   entry);
                                  
    /*
    unlike PHP, you're responsible for freeing memory with C
    Below we are unreferencing the xml object in memory now that we've built
    the UI and obtained references to the widgets we need.
    */
   
    g_object_unref (xml);
   
    gtk_main();

    return 0;
}



Ahhh, thanks for the thorough explanation, and sample code.  It makes a
little more sense now.  I'm just a little confused on the format of the
glade_xml_signal_connect_data function.  I'm now wondering how the best
way to pass multiple GtkEntry inputs to that function, or do I go and
grab that information from within the void on_connect_btn_clicked()
function.

Is there any site that I can reference for future, similar, basic
questions?

Thanks again for the same-day response!
-Lup





[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]