GTK+: g_signal_connect und mehrere Parameter
-
hallo, habe 2 textfelder, deren inhalt brauche ich in einer funktion. die funktion sieht so aus:
static void eintragen(GtkWidget *widget, GtkWidget *entry, GtkWidget *entry2) { ... }
diese funktion wird aufgerufen, wenn der button "eintragen" angegklickt wird
g_signal_connect (G_OBJECT (button), "clicked", G_CALLBACK (eintragen), (gpointer) eingabe_vorname);
wie man sieht, wird hier nur ein parameter "(gpointer) eingabe_vorname" an die funktion übergeben, ich bräuchte aber 2, nämlich zusätzlich eingabe_nachname.
versucht habe ich es ganz simpel mitg_signal_connect (G_OBJECT (button), "clicked", G_CALLBACK (eintragen), (gpointer) eingabe_vorname, (gpointer) eingabe_nachname);
was aber nicht funktioniert.
wie kann ich denn nun 2 parameter übergeben?
edit:
habs mit g_object_set_data() und g_object_get_data() geschafft. leider habe ich es bisher nur geschafft n string zu übergeben. mal schaun ob ichs noch schaff n zeiger zu übergeben^^
-
Erstell einfach eine struct, die deine Informationen beinhaltet. Je nachdem, wo du deine struct anlegst, reicht es sie auf den stack zu Packen, oder du musst sie mit malloc erstellen.
Den Pointer zu der struct übergibts du dann einfach bei connect.