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_combo_box_set_property (GladeWidgetAdaptor * adaptor, GObject * object, const gchar * id, const GValue * value) { if (!strcmp (id, "entry-text-column")) { /* Avoid warnings */ if (g_value_get_int (value) >= 0) GWA_GET_CLASS (GTK_TYPE_CONTAINER)->set_property (adaptor, object, id, value); } else if (!strcmp (id, "text-column")) { if (g_value_get_int (value) >= 0) gtk_combo_box_set_entry_text_column (GTK_COMBO_BOX (object), g_value_get_int (value)); } else if (!strcmp (id, "add-tearoffs")) { GladeWidget *widget = glade_widget_get_from_gobject (object); if (g_value_get_boolean (value)) glade_widget_property_set_sensitive (widget, "tearoff-title", TRUE, NULL); else glade_widget_property_set_sensitive (widget, "tearoff-title", FALSE, _("Tearoff menus are disabled")); } else GWA_GET_CLASS (GTK_TYPE_CONTAINER)->set_property (adaptor, object, id, value); }
void glade_gtk_header_bar_set_property (GladeWidgetAdaptor * adaptor, GObject * object, const gchar * id, const GValue * value) { if (!strcmp (id, "use-custom-title")) glade_gtk_header_bar_set_use_custom_title (object, g_value_get_boolean (value)); else if (!strcmp (id, "show-close-button")) { GladeWidget *gwidget = glade_widget_get_from_gobject (object); /* We don't set the property to 'ignore' so that we catch this in the adaptor, * but we also do not apply the property to the runtime object here, thus * avoiding showing the close button which would in turn close glade itself * when clicked. */ glade_widget_property_set_sensitive (gwidget, "decoration-layout", g_value_get_boolean (value), _("The decoration layout does not apply to header bars " "which do no show window controls")); } else if (!strcmp (id, "size")) glade_gtk_header_bar_set_size (object, value); else GWA_GET_CLASS (GTK_TYPE_CONTAINER)->set_property (adaptor, object, id, value); }
void glade_gtk_button_post_create (GladeWidgetAdaptor * adaptor, GObject * button, GladeCreateReason reason) { GladeWidget *gbutton = glade_widget_get_from_gobject (button); g_return_if_fail (GTK_IS_BUTTON (button)); g_return_if_fail (GLADE_IS_WIDGET (gbutton)); if (GTK_IS_FONT_BUTTON (button)) g_signal_connect (button, "font-set", G_CALLBACK (glade_gtk_font_button_refresh_font_name), gbutton); else if (GTK_IS_COLOR_BUTTON (button)) g_signal_connect (button, "color-set", G_CALLBACK (glade_gtk_color_button_refresh_color), gbutton); /* Disabled response-id until its in an action area */ glade_widget_property_set_sensitive (gbutton, "response-id", FALSE, RESPID_INSENSITIVE_MSG); if (reason == GLADE_CREATE_USER) glade_gtk_button_update_stock (gbutton); }
void glade_gtk_treeview_replace_child (GladeWidgetAdaptor * adaptor, GObject * container, GObject * current, GObject * new_column) { GtkTreeView *view = GTK_TREE_VIEW (container); GList *columns; GtkTreeViewColumn *column; GladeWidget *gcolumn; gint index; if (!GTK_IS_TREE_VIEW_COLUMN (current)) return; column = GTK_TREE_VIEW_COLUMN (current); columns = gtk_tree_view_get_columns (view); index = g_list_index (columns, column); g_list_free (columns); gtk_tree_view_remove_column (view, column); column = GTK_TREE_VIEW_COLUMN (new_column); gtk_tree_view_insert_column (view, column, index); if (gtk_tree_view_get_fixed_height_mode (view)) { gcolumn = glade_widget_get_from_gobject (column); glade_widget_property_set (gcolumn, "sizing", GTK_TREE_VIEW_COLUMN_FIXED); glade_widget_property_set_sensitive (gcolumn, "sizing", FALSE, INSENSITIVE_COLUMN_SIZING_MSG); } glade_gtk_cell_layout_sync_attributes (G_OBJECT (column)); }
void glade_gtk_window_set_property (GladeWidgetAdaptor * adaptor, GObject * object, const gchar * id, const GValue * value) { GladeWidget *gwidget = glade_widget_get_from_gobject (object); if (!strcmp (id, "glade-window-icon-name")) { glade_widget_property_set_sensitive (gwidget, "icon", FALSE, NOT_SELECTED_MSG); glade_widget_property_set_sensitive (gwidget, "icon-name", FALSE, NOT_SELECTED_MSG); if (g_value_get_boolean (value)) glade_widget_property_set_sensitive (gwidget, "icon-name", TRUE, NULL); else glade_widget_property_set_sensitive (gwidget, "icon", TRUE, NULL); } else if (!strcmp (id, "use-csd")) { if (g_value_get_boolean (value)) { GtkWidget *titlebar; titlebar = gtk_window_get_titlebar (GTK_WINDOW (object)); if (!titlebar) titlebar = glade_placeholder_new (); g_object_set_data (G_OBJECT (titlebar), "special-child-type", "titlebar"); gtk_window_set_titlebar (GTK_WINDOW (object), titlebar); glade_widget_property_set_sensitive (gwidget, "title", FALSE, CSD_DISABLED_MESSAGE); glade_widget_property_set_sensitive (gwidget, "decorated", FALSE, CSD_DISABLED_MESSAGE); glade_widget_property_set_sensitive (gwidget, "hide-titlebar-when-maximized", FALSE, CSD_DISABLED_MESSAGE); } else { gtk_window_set_titlebar (GTK_WINDOW (object), NULL); glade_widget_property_set_sensitive (gwidget, "title", TRUE, NULL); glade_widget_property_set_sensitive (gwidget, "decorated", TRUE, NULL); glade_widget_property_set_sensitive (gwidget, "hide-titlebar-when-maximized", TRUE, NULL); } } else GWA_GET_CLASS (GTK_TYPE_CONTAINER)->set_property (adaptor, object, id, value); }
static void fix_response_id_on_child (GladeWidget * gbox, GObject * child, gboolean add) { GladeWidget *gchild; const gchar *internal_name; gchild = glade_widget_get_from_gobject (child); /* Fix response id property on child buttons */ if (gchild && GTK_IS_BUTTON (child)) { if (add && (internal_name = glade_widget_get_internal (gbox)) && !strcmp (internal_name, "action_area")) glade_widget_property_set_sensitive (gchild, "response-id", TRUE, NULL); else glade_widget_property_set_sensitive (gchild, "response-id", FALSE, RESPID_INSENSITIVE_MSG); } }
static void glade_gtk_tool_button_set_image_mode (GObject * object, const GValue * value) { GladeWidget *gbutton; g_return_if_fail (GTK_IS_TOOL_BUTTON (object)); gbutton = glade_widget_get_from_gobject (object); glade_widget_property_set_sensitive (gbutton, "stock-id", FALSE, NOT_SELECTED_MSG); glade_widget_property_set_sensitive (gbutton, "icon-name", FALSE, NOT_SELECTED_MSG); glade_widget_property_set_sensitive (gbutton, "icon-widget", FALSE, NOT_SELECTED_MSG); switch (g_value_get_int (value)) { case GLADE_TB_MODE_STOCK: glade_widget_property_set_sensitive (gbutton, "stock-id", TRUE, NULL); break; case GLADE_TB_MODE_ICON: glade_widget_property_set_sensitive (gbutton, "icon-name", TRUE, NULL); break; case GLADE_TB_MODE_CUSTOM: glade_widget_property_set_sensitive (gbutton, "icon-widget", TRUE, NULL); break; default: break; } }
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_combo_box_post_create (GladeWidgetAdaptor *adaptor, GObject *object, GladeCreateReason reason) { GladeWidget *widget; /* Chain Up */ GWA_GET_CLASS (GTK_TYPE_CONTAINER)->post_create (adaptor, object, reason); widget = glade_widget_get_from_gobject (object); if (gtk_combo_box_get_has_entry (GTK_COMBO_BOX (object))) { glade_widget_property_set_sensitive (widget, "entry-text-column", TRUE, NULL); glade_widget_property_set_sensitive (widget, "has-frame", TRUE, NULL); } else { glade_widget_property_set_sensitive (widget, "entry-text-column", FALSE, NO_ENTRY_MSG); glade_widget_property_set_sensitive (widget, "has-frame", FALSE, NO_ENTRY_MSG); } }
void glade_gtk_header_bar_set_use_custom_title (GObject *object, gboolean use_custom_title) { GladeWidget *gwidget = glade_widget_get_from_gobject (object); GtkWidget *child; if (use_custom_title) { child = gtk_header_bar_get_custom_title (GTK_HEADER_BAR (object)); if (!child) { child = glade_placeholder_new (); g_object_set_data (G_OBJECT (child), "special-child-type", "title"); } } else child = NULL; gtk_header_bar_set_custom_title (GTK_HEADER_BAR (object), child); if (GLADE_IS_PLACEHOLDER (child)) { GList *list, *l; list = glade_placeholder_packing_actions (GLADE_PLACEHOLDER (child)); for (l = list; l; l = l->next) { GladeWidgetAction *gwa = l->data; if (!strcmp (glade_widget_action_get_class (gwa)->id, "remove_slot")) glade_widget_action_set_visible (gwa, FALSE); } } if (use_custom_title) { glade_widget_property_set_sensitive (gwidget, "title", FALSE, TITLE_DISABLED_MESSAGE); glade_widget_property_set_sensitive (gwidget, "subtitle", FALSE, TITLE_DISABLED_MESSAGE); glade_widget_property_set_sensitive (gwidget, "has-subtitle", FALSE, TITLE_DISABLED_MESSAGE); } else { glade_widget_property_set_sensitive (gwidget, "title", TRUE, NULL); glade_widget_property_set_sensitive (gwidget, "subtitle", TRUE, NULL); glade_widget_property_set_sensitive (gwidget, "has-subtitle", TRUE, NULL); } }
void glade_gtk_treeview_add_child (GladeWidgetAdaptor * adaptor, GObject * container, GObject * child) { GtkTreeView *view = GTK_TREE_VIEW (container); GtkTreeViewColumn *column; GladeWidget *gcolumn; if (!GTK_IS_TREE_VIEW_COLUMN (child)) return; if (gtk_tree_view_get_fixed_height_mode (view)) { gcolumn = glade_widget_get_from_gobject (child); glade_widget_property_set (gcolumn, "sizing", GTK_TREE_VIEW_COLUMN_FIXED); glade_widget_property_set_sensitive (gcolumn, "sizing", FALSE, INSENSITIVE_COLUMN_SIZING_MSG); } column = GTK_TREE_VIEW_COLUMN (child); gtk_tree_view_append_column (view, column); glade_gtk_cell_layout_sync_attributes (G_OBJECT (column)); }
static void glade_gtk_tool_button_set_custom_label (GObject * object, const GValue * value) { GladeWidget *gbutton; g_return_if_fail (GTK_IS_TOOL_BUTTON (object)); gbutton = glade_widget_get_from_gobject (object); glade_widget_property_set_sensitive (gbutton, "label", FALSE, NOT_SELECTED_MSG); glade_widget_property_set_sensitive (gbutton, "label-widget", FALSE, NOT_SELECTED_MSG); glade_widget_property_set_sensitive (gbutton, "use-underline", FALSE, _("This property only applies when configuring the label with text")); if (g_value_get_boolean (value)) glade_widget_property_set_sensitive (gbutton, "label-widget", TRUE, NULL); else { glade_widget_property_set_sensitive (gbutton, "label", TRUE, NULL); glade_widget_property_set_sensitive (gbutton, "use-underline", TRUE, NULL); } }
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); }
static void glade_gtk_image_set_image_mode (GObject *object, const GValue *value) { GladeWidget *gwidget; GladeImageEditMode type; gwidget = glade_widget_get_from_gobject (object); g_return_if_fail (GTK_IS_IMAGE (object)); g_return_if_fail (GLADE_IS_WIDGET (gwidget)); glade_widget_property_set_sensitive (gwidget, "stock", FALSE, NOT_SELECTED_MSG); glade_widget_property_set_sensitive (gwidget, "icon-name", FALSE, NOT_SELECTED_MSG); glade_widget_property_set_sensitive (gwidget, "pixbuf", FALSE, NOT_SELECTED_MSG); glade_widget_property_set_sensitive (gwidget, "resource", FALSE, NOT_SELECTED_MSG); glade_widget_property_set_sensitive (gwidget, "icon-size", FALSE, _("This property only applies to stock images or named icons")); glade_widget_property_set_sensitive (gwidget, "pixel-size", FALSE, _("This property only applies to named icons")); glade_widget_property_set_sensitive (gwidget, "use-fallback", FALSE, _("This property only applies to named icons")); switch ((type = g_value_get_int (value))) { case GLADE_IMAGE_MODE_STOCK: glade_widget_property_set_sensitive (gwidget, "stock", TRUE, NULL); glade_widget_property_set_sensitive (gwidget, "icon-size", TRUE, NULL); break; case GLADE_IMAGE_MODE_ICON: glade_widget_property_set_sensitive (gwidget, "icon-name", TRUE, NULL); glade_widget_property_set_sensitive (gwidget, "icon-size", TRUE, NULL); glade_widget_property_set_sensitive (gwidget, "pixel-size", TRUE, NULL); glade_widget_property_set_sensitive (gwidget, "use-fallback", TRUE, NULL); break; case GLADE_IMAGE_MODE_RESOURCE: glade_widget_property_set_sensitive (gwidget, "resource", TRUE, NULL); break; case GLADE_IMAGE_MODE_FILENAME: glade_widget_property_set_sensitive (gwidget, "pixbuf", TRUE, NULL); default: break; } }