static void xplayer_search_entry_init (XplayerSearchEntry *self) { GtkWidget *entry; GtkWidget *button; self->priv = G_TYPE_INSTANCE_GET_PRIVATE (self, XPLAYER_TYPE_SEARCH_ENTRY, XplayerSearchEntryPrivate); /* Entry */ entry = GTK_WIDGET (gd_tagged_entry_new ()); gd_tagged_entry_set_tag_button_visible (GD_TAGGED_ENTRY (entry), FALSE); gtk_box_pack_start (GTK_BOX (self), entry, TRUE, TRUE, 0); gtk_widget_show (entry); self->priv->entry = entry; /* Button */ button = gtk_menu_button_new (); gtk_box_pack_start (GTK_BOX (self), button, FALSE, TRUE, 0); gtk_widget_show (button); self->priv->button = button; /* Connect signals */ g_signal_connect (self->priv->entry, "activate", G_CALLBACK (entry_activate_cb), self); }
static void gd_tagged_entry_set_property (GObject *object, guint property_id, const GValue *value, GParamSpec *pspec) { GdTaggedEntry *self = GD_TAGGED_ENTRY (object); switch (property_id) { case PROP_TAG_BUTTON_VISIBLE: gd_tagged_entry_set_tag_button_visible (self, g_value_get_boolean (value)); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec); } }