void glade_gtk_scale_set_property (GladeWidgetAdaptor *adaptor, GObject *object, const gchar *id, const GValue *value) { GladeWidget *widget = glade_widget_get_from_gobject (object); GladeProperty *property = glade_widget_get_property (widget, id); if (strcmp (id, "draw-value") == 0) { if (g_value_get_boolean (value)) { glade_widget_property_set_sensitive (widget, "digits", TRUE, NULL); glade_widget_property_set_sensitive (widget, "value-pos", TRUE, NULL); } else { glade_widget_property_set_sensitive (widget, "digits", FALSE, DRAW_VALUE_DISABLED_MSG); glade_widget_property_set_sensitive (widget, "value-pos", FALSE, DRAW_VALUE_DISABLED_MSG); } } if (GPC_VERSION_CHECK (glade_property_get_class (property), gtk_major_version, gtk_minor_version + 1)) GWA_GET_CLASS (GTK_TYPE_CONTAINER)->set_property (adaptor, object, id, value); }
void glade_gtk_progress_bar_set_property (GladeWidgetAdaptor * adaptor, GObject * object, const gchar * id, const GValue * value) { GladeWidget *widget = glade_widget_get_from_gobject (object); GladeProperty *property = glade_widget_get_property (widget, id); if (strcmp (id, "show-text") == 0) { if (g_value_get_boolean (value)) { glade_widget_property_set_sensitive (widget, "text", TRUE, NULL); glade_widget_property_set_sensitive (widget, "ellipsize", TRUE, NULL); } else { glade_widget_property_set_sensitive (widget, "text", FALSE, TEXT_DISABLED_MSG); glade_widget_property_set_sensitive (widget, "ellipsize", FALSE, TEXT_DISABLED_MSG); } } if (GPC_VERSION_CHECK (glade_property_get_class (property), gtk_major_version, gtk_minor_version + 1)) GWA_GET_CLASS (GTK_TYPE_CONTAINER)->set_property (adaptor, object, id, value); }
void glade_gtk_treeview_set_property (GladeWidgetAdaptor * adaptor, GObject * object, const gchar * id, const GValue * value) { GladeWidget *widget = glade_widget_get_from_gobject (object); GladeProperty *property = glade_widget_get_property (widget, id); if (strcmp (id, "enable-search") == 0) { if (g_value_get_boolean (value)) glade_widget_property_set_sensitive (widget, "search-column", TRUE, NULL); else glade_widget_property_set_sensitive (widget, "search-column", FALSE, _("Search is disabled")); } else if (strcmp (id, "headers-visible") == 0) { if (g_value_get_boolean (value)) glade_widget_property_set_sensitive (widget, "headers-clickable", TRUE, NULL); else glade_widget_property_set_sensitive (widget, "headers-clickable", FALSE, _("Headers are invisible")); } else if (strcmp (id, "show-expanders") == 0) { if (g_value_get_boolean (value)) glade_widget_property_set_sensitive (widget, "expander-column", TRUE, NULL); else glade_widget_property_set_sensitive (widget, "expander-column", FALSE, _("Expanders are not shown")); } if (GPC_VERSION_CHECK (glade_property_get_class (property), gtk_major_version, gtk_minor_version + 1)) GWA_GET_CLASS (GTK_TYPE_CONTAINER)->set_property (adaptor, object, id, value); }
void glade_gtk_tool_item_set_property (GladeWidgetAdaptor * adaptor, GObject * object, const gchar * id, const GValue * value) { GladeWidget *gwidget = glade_widget_get_from_gobject (object); GladeProperty *property = glade_widget_get_property (gwidget, id); if (GPC_VERSION_CHECK (glade_property_get_class (property), gtk_major_version, gtk_minor_version + 1)) GWA_GET_CLASS (GTK_TYPE_CONTAINER)->set_property (adaptor, object, id, value); }
void glade_gtk_button_set_property (GladeWidgetAdaptor * adaptor, GObject * object, const gchar * id, const GValue * value) { GladeWidget *widget = glade_widget_get_from_gobject (object); GladeProperty *property = glade_widget_get_property (widget, id); if (strcmp (id, "custom-child") == 0) { GtkWidget *child = gtk_bin_get_child (GTK_BIN (object)); gboolean custom_child = g_value_get_boolean (value); /* Avoid removing a child if we already have a custom child */ if (custom_child && (child && glade_widget_get_from_gobject (child))) return; if (custom_child) { if (child) gtk_container_remove (GTK_CONTAINER (object), child); gtk_container_add (GTK_CONTAINER (object), glade_placeholder_new ()); } else if (child && GLADE_IS_PLACEHOLDER (child)) gtk_container_remove (GTK_CONTAINER (object), child); } else if (strcmp (id, "stock") == 0) { gboolean use_stock = FALSE; glade_widget_property_get (widget, "use-stock", &use_stock); if (use_stock) gtk_button_set_label (GTK_BUTTON (object), g_value_get_string (value)); } else if (strcmp (id, "use-stock") == 0) { /* I guess its my bug in GTK+, we need to resync the appearance property * on GtkButton when the GtkButton:use-stock property changes. */ GWA_GET_CLASS (GTK_TYPE_CONTAINER)->set_property (adaptor, object, id, value); glade_gtk_sync_use_appearance (widget); } else if (GPC_VERSION_CHECK (glade_property_get_class (property), gtk_major_version, gtk_minor_version + 1)) GWA_GET_CLASS (GTK_TYPE_CONTAINER)->set_property (adaptor, object, id, value); }
void glade_gtk_menu_item_set_property (GladeWidgetAdaptor * adaptor, GObject * object, const gchar * id, const GValue * value) { GladeWidget *gwidget = glade_widget_get_from_gobject (object); GladeProperty *property = glade_widget_get_property (gwidget, id); if (!strcmp (id, "use-underline")) glade_gtk_menu_item_set_use_underline (object, value); else if (!strcmp (id, "label")) glade_gtk_menu_item_set_label (object, value); else if (GPC_VERSION_CHECK (glade_property_get_class (property), gtk_major_version, gtk_minor_version + 1)) GWA_GET_CLASS (GTK_TYPE_CONTAINER)->set_property (adaptor, object, id, value); }
void glade_gtk_entry_set_property (GladeWidgetAdaptor * adaptor, GObject * object, const gchar * id, const GValue * value) { GladeImageEditMode mode; GladeWidget *gwidget = glade_widget_get_from_gobject (object); GladeProperty *property = glade_widget_get_property (gwidget, id); if (!strcmp (id, "use-entry-buffer")) { glade_widget_property_set_sensitive (gwidget, "text", FALSE, NOT_SELECTED_MSG); glade_widget_property_set_sensitive (gwidget, "buffer", FALSE, NOT_SELECTED_MSG); if (g_value_get_boolean (value)) glade_widget_property_set_sensitive (gwidget, "buffer", TRUE, NULL); else glade_widget_property_set_sensitive (gwidget, "text", TRUE, NULL); } else if (!strcmp (id, "primary-icon-mode")) { mode = g_value_get_int (value); glade_widget_property_set_sensitive (gwidget, "primary-icon-stock", FALSE, NOT_SELECTED_MSG); glade_widget_property_set_sensitive (gwidget, "primary-icon-name", FALSE, NOT_SELECTED_MSG); glade_widget_property_set_sensitive (gwidget, "primary-icon-pixbuf", FALSE, NOT_SELECTED_MSG); switch (mode) { case GLADE_IMAGE_MODE_STOCK: glade_widget_property_set_sensitive (gwidget, "primary-icon-stock", TRUE, NULL); break; case GLADE_IMAGE_MODE_ICON: glade_widget_property_set_sensitive (gwidget, "primary-icon-name", TRUE, NULL); break; case GLADE_IMAGE_MODE_FILENAME: glade_widget_property_set_sensitive (gwidget, "primary-icon-pixbuf", TRUE, NULL); break; case GLADE_IMAGE_MODE_RESOURCE: /* Doesnt apply for entry icons */ break; } } else if (!strcmp (id, "secondary-icon-mode")) { mode = g_value_get_int (value); glade_widget_property_set_sensitive (gwidget, "secondary-icon-stock", FALSE, NOT_SELECTED_MSG); glade_widget_property_set_sensitive (gwidget, "secondary-icon-name", FALSE, NOT_SELECTED_MSG); glade_widget_property_set_sensitive (gwidget, "secondary-icon-pixbuf", FALSE, NOT_SELECTED_MSG); switch (mode) { case GLADE_IMAGE_MODE_STOCK: glade_widget_property_set_sensitive (gwidget, "secondary-icon-stock", TRUE, NULL); break; case GLADE_IMAGE_MODE_ICON: glade_widget_property_set_sensitive (gwidget, "secondary-icon-name", TRUE, NULL); break; case GLADE_IMAGE_MODE_FILENAME: glade_widget_property_set_sensitive (gwidget, "secondary-icon-pixbuf", TRUE, NULL); break; case GLADE_IMAGE_MODE_RESOURCE: /* Doesnt apply for entry icons */ break; } } else if (!strcmp (id, "primary-icon-tooltip-text") || !strcmp (id, "primary-icon-tooltip-markup")) { /* Avoid a silly crash in GTK+ */ if (gtk_entry_get_icon_storage_type (GTK_ENTRY (object), GTK_ENTRY_ICON_PRIMARY) != GTK_IMAGE_EMPTY) GWA_GET_CLASS (GTK_TYPE_WIDGET)->set_property (adaptor, object, id, value); } else if (!strcmp (id, "secondary-icon-tooltip-text") || !strcmp (id, "secondary-icon-tooltip-markup")) { /* Avoid a silly crash in GTK+ */ if (gtk_entry_get_icon_storage_type (GTK_ENTRY (object), GTK_ENTRY_ICON_SECONDARY) != GTK_IMAGE_EMPTY) GWA_GET_CLASS (GTK_TYPE_WIDGET)->set_property (adaptor, object, id, value); } else if (!strcmp (id, "text")) { g_signal_handlers_block_by_func (object, glade_gtk_entry_changed, gwidget); if (g_value_get_string (value)) gtk_entry_set_text (GTK_ENTRY (object), g_value_get_string (value)); else gtk_entry_set_text (GTK_ENTRY (object), ""); g_signal_handlers_unblock_by_func (object, glade_gtk_entry_changed, gwidget); } else if (!strcmp (id, "has-frame")) { if (g_value_get_boolean (value)) glade_widget_property_set_sensitive (gwidget, "shadow-type", TRUE, NULL); else glade_widget_property_set_sensitive (gwidget, "shadow-type", FALSE, _("This property is only available\n" "if the entry has a frame")); GWA_GET_CLASS (GTK_TYPE_WIDGET)->set_property (adaptor, object, id, value); } else if (!strcmp (id, "visibility")) { if (g_value_get_boolean (value)) glade_widget_property_set_sensitive (gwidget, "invisible-char", FALSE, _("This property is only available\n" "if the entry characters are invisible")); else glade_widget_property_set_sensitive (gwidget, "invisible-char", TRUE, NULL); GWA_GET_CLASS (GTK_TYPE_WIDGET)->set_property (adaptor, object, id, value); } else if (GPC_VERSION_CHECK (glade_property_get_class (property), gtk_major_version, gtk_minor_version + 1)) GWA_GET_CLASS (GTK_TYPE_WIDGET)->set_property (adaptor, object, id, value); }
void glade_gtk_entry_read_widget (GladeWidgetAdaptor * adaptor, GladeWidget * widget, GladeXmlNode * node) { GladeProperty *property; if (!(glade_xml_node_verify_silent (node, GLADE_XML_TAG_WIDGET) || glade_xml_node_verify_silent (node, GLADE_XML_TAG_TEMPLATE))) return; /* First chain up and read in all the normal properties.. */ GWA_GET_CLASS (GTK_TYPE_WIDGET)->read_widget (adaptor, widget, node); if (!glade_widget_property_original_default (widget, "text")) { property = glade_widget_get_property (widget, "text"); glade_widget_property_set (widget, "use-entry-buffer", FALSE); glade_property_sync (property); } else { gint target_minor, target_major; glade_project_get_target_version (glade_widget_get_project (widget), "gtk+", &target_major, &target_minor); property = glade_widget_get_property (widget, "buffer"); /* Only default to the buffer setting if the project version supports it. */ if (GPC_VERSION_CHECK (glade_property_get_class (property), target_major, target_minor)) { glade_widget_property_set (widget, "use-entry-buffer", TRUE); glade_property_sync (property); } else glade_widget_property_set (widget, "use-entry-buffer", FALSE); } if (!glade_widget_property_original_default (widget, "primary-icon-name")) { property = glade_widget_get_property (widget, "primary-icon-name"); glade_widget_property_set (widget, "primary-icon-mode", GLADE_IMAGE_MODE_ICON); } else if (!glade_widget_property_original_default (widget, "primary-icon-pixbuf")) { property = glade_widget_get_property (widget, "primary-icon-pixbuf"); glade_widget_property_set (widget, "primary-icon-mode", GLADE_IMAGE_MODE_FILENAME); } else /* if (glade_widget_property_original_default (widget, "stock") == FALSE) */ { property = glade_widget_get_property (widget, "primary-icon-stock"); glade_widget_property_set (widget, "primary-icon-mode", GLADE_IMAGE_MODE_STOCK); } glade_property_sync (property); if (!glade_widget_property_original_default (widget, "secondary-icon-name")) { property = glade_widget_get_property (widget, "secondary-icon-name"); glade_widget_property_set (widget, "secondary-icon-mode", GLADE_IMAGE_MODE_ICON); } else if (!glade_widget_property_original_default (widget, "secondary-icon-pixbuf")) { property = glade_widget_get_property (widget, "secondary-icon-pixbuf"); glade_widget_property_set (widget, "secondary-icon-mode", GLADE_IMAGE_MODE_FILENAME); } else /* if (glade_widget_property_original_default (widget, "stock") == FALSE) */ { property = glade_widget_get_property (widget, "secondary-icon-stock"); glade_widget_property_set (widget, "secondary-icon-mode", GLADE_IMAGE_MODE_STOCK); } glade_property_sync (property); if (!glade_widget_property_original_default (widget, "primary-icon-tooltip-markup")) glade_widget_property_set (widget, "glade-primary-tooltip-markup", TRUE); if (!glade_widget_property_original_default (widget, "secondary-icon-tooltip-markup")) glade_widget_property_set (widget, "glade-secondary-tooltip-markup", TRUE); }