/* Get entry box text */ static void get_entry_text(struct elyapp *app, char **str) { GtkEntryBuffer *buf = gtk_entry_get_buffer(GTK_ENTRY(app->gui.widg)); const gchar *text = gtk_entry_buffer_get_text(buf); printf("~%s~\n", text); buf = gtk_entry_buffer_new(0, -1); gtk_entry_buffer_set_max_length(buf, app->text.maxchars); gtk_entry_set_buffer(GTK_ENTRY(app->gui.widg), buf); gtk_widget_destroy(app->gui.widg); *str = (char*)text; }
/* *************************** * ***** SETUP ENTRY BOX ***** * *************************** */ static void setup_entry(struct elyapp *app, char *tag) { TRACE(stdout, "Setting up %s entry box...", tag); if ( app->text.invis != NULL ) { gtk_entry_set_visibility(GTK_ENTRY(app->gui.widg), FALSE); gtk_entry_set_invisible_char(GTK_ENTRY(app->gui.widg), *app->text.invis); } GtkEntryBuffer *buf = gtk_entry_buffer_new(0, -1); gtk_entry_buffer_set_max_length(buf, app->text.maxchars); gtk_entry_set_buffer(GTK_ENTRY(app->gui.widg), buf); gtk_entry_set_placeholder_text(GTK_ENTRY(app->gui.widg), tag); TRACE(stdout, "Done setting up %s entry box.", tag); }
static void gtk_entry_buffer_set_property (GObject *obj, guint prop_id, const GValue *value, GParamSpec *pspec) { GtkEntryBuffer *buffer = GTK_ENTRY_BUFFER (obj); switch (prop_id) { case PROP_TEXT: gtk_entry_buffer_set_text (buffer, g_value_get_string (value), -1); break; case PROP_MAX_LENGTH: gtk_entry_buffer_set_max_length (buffer, g_value_get_int (value)); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (obj, prop_id, pspec); break; } }