[glade3/signal-tree-model] * gladeui/glade-signal-editor.c: - Fixed <click here> column to always show up italic insensitiv
- From: Tristan Van Berkom <tvb src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [glade3/signal-tree-model] * gladeui/glade-signal-editor.c: - Fixed <click here> column to always show up italic insensitiv
- Date: Mon, 10 Jan 2011 08:57:17 +0000 (UTC)
commit 5a2aa19bfa0e8a0004b376559b8f78866a912f1b
Author: Tristan Van Berkom <tristan van berkom gmail com>
Date: Mon Jan 10 18:04:07 2011 +0900
* gladeui/glade-signal-editor.c:
- Fixed <click here> column to always show up italic insensitive when
no object is selected.
- Fixed the <type here> text to come back and not add any signal when
the first signal of a type is added with a NULL handler
- Fixed devhelp icon visibility to not show when !glade_util_have_devhelp()
ChangeLog | 7 +
gladeui/glade-signal-editor.c | 1222 +++++++++++++++++++++--------------------
2 files changed, 627 insertions(+), 602 deletions(-)
---
diff --git a/ChangeLog b/ChangeLog
index 0c05e04..85c874c 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -4,6 +4,13 @@
- Fixed indentation
- Relicense as LGPL as Johannes Schmid said that was ok.
+ * gladeui/glade-signal-editor.c:
+ - Fixed <click here> column to always show up italic insensitive when
+ no object is selected.
+ - Fixed the <type here> text to come back and not add any signal when
+ the first signal of a type is added with a NULL handler
+ - Fixed devhelp icon visibility to not show when !glade_util_have_devhelp()
+
2011-01-09 Tristan Van Berkom <tristanvb openismus com>
* gladeui/glade-design-layout.c: Fixed to not hide widgets when removing
diff --git a/gladeui/glade-signal-editor.c b/gladeui/glade-signal-editor.c
index 6236a20..6b1fe2d 100644
--- a/gladeui/glade-signal-editor.c
+++ b/gladeui/glade-signal-editor.c
@@ -53,29 +53,29 @@ G_DEFINE_TYPE (GladeSignalEditor, glade_signal_editor, GTK_TYPE_VBOX)
struct _GladeSignalEditorPrivate
{
- GtkTreeModel *model;
+ GtkTreeModel *model;
- GladeWidget *widget;
- GladeWidgetAdaptor* adaptor;
+ GladeWidget *widget;
+ GladeWidgetAdaptor* adaptor;
- GtkWidget* signal_tree;
- GtkTreeViewColumn* column_name;
- GtkTreeViewColumn* column_handler;
- GtkTreeViewColumn* column_userdata;
- GtkTreeViewColumn* column_swap;
- GtkTreeViewColumn* column_after;
+ GtkWidget* signal_tree;
+ GtkTreeViewColumn* column_name;
+ GtkTreeViewColumn* column_handler;
+ GtkTreeViewColumn* column_userdata;
+ GtkTreeViewColumn* column_swap;
+ GtkTreeViewColumn* column_after;
- GtkCellRenderer* renderer_userdata;
+ GtkCellRenderer* renderer_userdata;
};
/* Utils */
static gboolean
glade_signal_is_dummy (GladeSignal *signal)
{
- gboolean dummy;
- dummy = GPOINTER_TO_INT (g_object_get_data (G_OBJECT (signal),
- DUMMY_DATA));
- return dummy;
+ gboolean dummy;
+ dummy = GPOINTER_TO_INT (g_object_get_data (G_OBJECT (signal),
+ DUMMY_DATA));
+ return dummy;
}
/* Signal handlers */
@@ -85,89 +85,89 @@ on_handler_edited (GtkCellRendererText* renderer,
gchar* handler,
gpointer user_data)
{
- GladeSignalEditor* self = GLADE_SIGNAL_EDITOR(user_data);
- GtkTreePath* tree_path = gtk_tree_path_new_from_string (path);
- GtkTreeIter iter;
- gchar* old_handler;
- GladeSignal* signal;
- gboolean dummy;
-
- g_return_if_fail (self->priv->widget != NULL);
+ GladeSignalEditor* self = GLADE_SIGNAL_EDITOR(user_data);
+ GtkTreePath* tree_path = gtk_tree_path_new_from_string (path);
+ GtkTreeIter iter;
+ gchar* old_handler;
+ GladeSignal* signal;
+ gboolean dummy;
+
+ g_return_if_fail (self->priv->widget != NULL);
- gtk_tree_model_get_iter (self->priv->model,
- &iter,
- tree_path);
+ gtk_tree_model_get_iter (self->priv->model,
+ &iter,
+ tree_path);
- gtk_tree_model_get (self->priv->model, &iter,
- GLADE_SIGNAL_COLUMN_HANDLER, &old_handler,
- GLADE_SIGNAL_COLUMN_SIGNAL, &signal, -1);
+ gtk_tree_model_get (self->priv->model, &iter,
+ GLADE_SIGNAL_COLUMN_HANDLER, &old_handler,
+ GLADE_SIGNAL_COLUMN_SIGNAL, &signal, -1);
- dummy = glade_signal_is_dummy (signal);
- g_object_unref (signal);
+ dummy = glade_signal_is_dummy (signal);
+ g_object_unref (signal);
- /* False alarm ? */
- if (handler && !g_str_equal (old_handler, handler))
+ /* False alarm ? */
+ if (handler && !g_str_equal (old_handler, handler))
+ {
+ if (!dummy)
{
- if (!dummy)
- {
- if (strlen (handler))
- {
- /* change an existing signal handler */
- GladeSignal* old_signal;
- GladeSignal* new_signal;
+ if (strlen (handler))
+ {
+ /* change an existing signal handler */
+ GladeSignal* old_signal;
+ GladeSignal* new_signal;
- gtk_tree_model_get (self->priv->model,
- &iter,
- GLADE_SIGNAL_COLUMN_SIGNAL,
- &old_signal, -1);
-
- new_signal = glade_signal_clone (old_signal);
-
- /* Change the new signal handler */
- glade_signal_set_handler (new_signal, handler);
-
- glade_command_change_signal (self->priv->widget, old_signal, new_signal);
-
- g_object_unref (new_signal);
- }
- else
- {
- GladeSignal* deleted_signal;
- gtk_tree_model_get (self->priv->model,
- &iter,
- GLADE_SIGNAL_COLUMN_SIGNAL,
- &deleted_signal, -1);
+ gtk_tree_model_get (self->priv->model,
+ &iter,
+ GLADE_SIGNAL_COLUMN_SIGNAL,
+ &old_signal, -1);
+
+ new_signal = glade_signal_clone (old_signal);
+
+ /* Change the new signal handler */
+ glade_signal_set_handler (new_signal, handler);
+
+ glade_command_change_signal (self->priv->widget, old_signal, new_signal);
+
+ g_object_unref (new_signal);
+ }
+ else
+ {
+ GladeSignal* deleted_signal;
+ gtk_tree_model_get (self->priv->model,
+ &iter,
+ GLADE_SIGNAL_COLUMN_SIGNAL,
+ &deleted_signal, -1);
- /* Delete signal */
- glade_command_remove_signal (self->priv->widget,
- deleted_signal);
- }
- }
- else
- {
- GladeSignal* signal;
- GladeSignal* dummy;
- gchar* name;
+ /* Delete signal */
+ glade_command_remove_signal (self->priv->widget,
+ deleted_signal);
+ }
+ }
+ else if (strlen (handler))
+ {
+ GladeSignal* signal;
+ GladeSignal* dummy;
+ gchar* name;
- /* Get the signal name */
- gtk_tree_model_get (self->priv->model, &iter,
- GLADE_SIGNAL_COLUMN_NAME, &name,
- GLADE_SIGNAL_COLUMN_SIGNAL, &dummy,
- -1);
+ /* Get the signal name */
+ gtk_tree_model_get (self->priv->model, &iter,
+ GLADE_SIGNAL_COLUMN_NAME, &name,
+ GLADE_SIGNAL_COLUMN_SIGNAL, &dummy,
+ -1);
- /* Add a new signal handler */
- signal = glade_signal_new (glade_signal_get_class (dummy),
- handler, NULL, FALSE, FALSE);
- glade_command_add_signal (self->priv->widget, signal);
+ /* Add a new signal handler */
+ signal = glade_signal_new (glade_signal_get_class (dummy),
+ handler, NULL, FALSE, FALSE);
+ glade_command_add_signal (self->priv->widget, signal);
- g_object_unref (signal);
- g_object_unref (dummy);
- g_free (name);
- }
+ g_object_unref (signal);
+ g_object_unref (dummy);
+ g_free (name);
}
- g_free (old_handler);
- gtk_tree_path_free (tree_path);
+ }
+ g_free (old_handler);
+ gtk_tree_path_free (tree_path);
}
static void
@@ -176,30 +176,30 @@ on_handler_editing_started (GtkCellRenderer* renderer,
gchar* path,
gpointer user_data)
{
- GladeSignalEditor* self = GLADE_SIGNAL_EDITOR(user_data);
- GtkTreePath* tree_path = gtk_tree_path_new_from_string (path);
-
- /* Remove the <Type here> */
- if (GTK_IS_ENTRY (editable))
+ GladeSignalEditor* self = GLADE_SIGNAL_EDITOR(user_data);
+ GtkTreePath* tree_path = gtk_tree_path_new_from_string (path);
+
+ /* Remove the <Type here> */
+ if (GTK_IS_ENTRY (editable))
+ {
+ GtkTreeIter iter;
+ GladeSignal* signal;
+ gboolean dummy;
+ gtk_tree_model_get_iter (self->priv->model,
+ &iter,
+ tree_path);
+ gtk_tree_model_get (self->priv->model,
+ &iter,
+ GLADE_SIGNAL_COLUMN_SIGNAL, &signal,
+ -1);
+ dummy = glade_signal_is_dummy (signal);
+ if (dummy)
{
- GtkTreeIter iter;
- GladeSignal* signal;
- gboolean dummy;
- gtk_tree_model_get_iter (self->priv->model,
- &iter,
- tree_path);
- gtk_tree_model_get (self->priv->model,
- &iter,
- GLADE_SIGNAL_COLUMN_SIGNAL, &signal,
- -1);
- dummy = glade_signal_is_dummy (signal);
- if (dummy)
- {
- gtk_entry_set_text (GTK_ENTRY (editable), "");
- }
- g_object_unref (signal);
+ gtk_entry_set_text (GTK_ENTRY (editable), "");
}
- gtk_tree_path_free (tree_path);
+ g_object_unref (signal);
+ }
+ gtk_tree_path_free (tree_path);
}
static void
@@ -207,57 +207,57 @@ glade_signal_editor_user_data_activate (GtkCellRenderer * icon_renderer,
const gchar * path_str,
GladeSignalEditor * editor)
{
- GladeSignalEditorPrivate *priv = editor->priv;
- GtkTreePath *path = gtk_tree_path_new_from_string (path_str);
- GtkTreeModel *model = priv->model;
- GtkTreeIter iter;
- GladeWidget *project_object = NULL;
- GladeProject *project;
-
- GladeSignal *signal;
+ GladeSignalEditorPrivate *priv = editor->priv;
+ GtkTreePath *path = gtk_tree_path_new_from_string (path_str);
+ GtkTreeModel *model = priv->model;
+ GtkTreeIter iter;
+ GladeWidget *project_object = NULL;
+ GladeProject *project;
+
+ GladeSignal *signal;
- GList *selected = NULL;
- GList *exception = NULL;
+ GList *selected = NULL;
+ GList *exception = NULL;
- gboolean dummy;
+ gboolean dummy;
- gtk_tree_model_get_iter (model, &iter, path);
- gtk_tree_model_get (model, &iter,
- GLADE_SIGNAL_COLUMN_SIGNAL, &signal, -1);
- dummy = glade_signal_is_dummy (signal);
+ gtk_tree_model_get_iter (model, &iter, path);
+ gtk_tree_model_get (model, &iter,
+ GLADE_SIGNAL_COLUMN_SIGNAL, &signal, -1);
+ dummy = glade_signal_is_dummy (signal);
+
+ if (!dummy)
+ {
+ project = glade_widget_get_project (priv->widget);
- if (!dummy)
+ if (glade_signal_get_userdata (signal))
{
- project = glade_widget_get_project (priv->widget);
-
- if (glade_signal_get_userdata (signal))
- {
- project_object =
- glade_project_get_widget_by_name (project, NULL,
- glade_signal_get_userdata (signal));
- selected = g_list_prepend (selected, project_object);
- }
-
- exception = g_list_prepend (exception, priv->widget);
-
- if (glade_editor_property_show_object_dialog (project,
- _("Select an object to pass to the handler"),
- gtk_widget_get_toplevel (GTK_WIDGET (editor)),
- G_TYPE_OBJECT, priv->widget,
- &project_object))
- {
- GladeSignal *old_signal = signal;
- GladeSignal *new_signal = glade_signal_clone (signal);
-
- glade_signal_set_userdata (new_signal,
- project_object ? glade_widget_get_name (project_object) : NULL);
-
- glade_command_change_signal (priv->widget, old_signal, new_signal);
- g_object_unref (new_signal);
- }
+ project_object =
+ glade_project_get_widget_by_name (project, NULL,
+ glade_signal_get_userdata (signal));
+ selected = g_list_prepend (selected, project_object);
}
- g_object_unref (signal);
- gtk_tree_path_free (path);
+
+ exception = g_list_prepend (exception, priv->widget);
+
+ if (glade_editor_property_show_object_dialog (project,
+ _("Select an object to pass to the handler"),
+ gtk_widget_get_toplevel (GTK_WIDGET (editor)),
+ G_TYPE_OBJECT, priv->widget,
+ &project_object))
+ {
+ GladeSignal *old_signal = signal;
+ GladeSignal *new_signal = glade_signal_clone (signal);
+
+ glade_signal_set_userdata (new_signal,
+ project_object ? glade_widget_get_name (project_object) : NULL);
+
+ glade_command_change_signal (priv->widget, old_signal, new_signal);
+ g_object_unref (new_signal);
+ }
+ }
+ g_object_unref (signal);
+ gtk_tree_path_free (path);
}
static void
@@ -265,35 +265,35 @@ on_swap_toggled (GtkCellRendererToggle* renderer,
gchar* path,
gpointer user_data)
{
- GladeSignalEditor* self = GLADE_SIGNAL_EDITOR(user_data);
- GtkTreePath* tree_path = gtk_tree_path_new_from_string (path);
- GtkTreeIter iter;
- GladeSignal* old_signal;
- GladeSignal* new_signal;
+ GladeSignalEditor* self = GLADE_SIGNAL_EDITOR(user_data);
+ GtkTreePath* tree_path = gtk_tree_path_new_from_string (path);
+ GtkTreeIter iter;
+ GladeSignal* old_signal;
+ GladeSignal* new_signal;
- g_return_if_fail (self->priv->widget != NULL);
+ g_return_if_fail (self->priv->widget != NULL);
- gtk_tree_model_get_iter (self->priv->model,
- &iter,
- tree_path);
+ gtk_tree_model_get_iter (self->priv->model,
+ &iter,
+ tree_path);
- gtk_tree_model_get (self->priv->model,
- &iter,
- GLADE_SIGNAL_COLUMN_SIGNAL,
- &old_signal, -1);
+ gtk_tree_model_get (self->priv->model,
+ &iter,
+ GLADE_SIGNAL_COLUMN_SIGNAL,
+ &old_signal, -1);
- new_signal = glade_signal_clone (old_signal);
+ new_signal = glade_signal_clone (old_signal);
- /* Change the new signal handler */
- glade_signal_set_swapped (new_signal,
- !gtk_cell_renderer_toggle_get_active (renderer));
+ /* Change the new signal handler */
+ glade_signal_set_swapped (new_signal,
+ !gtk_cell_renderer_toggle_get_active (renderer));
- glade_command_change_signal (self->priv->widget, old_signal, new_signal);
+ glade_command_change_signal (self->priv->widget, old_signal, new_signal);
- g_object_unref (new_signal);
- g_object_unref (old_signal);
+ g_object_unref (new_signal);
+ g_object_unref (old_signal);
- gtk_tree_path_free (tree_path);
+ gtk_tree_path_free (tree_path);
}
static void
@@ -301,35 +301,35 @@ on_after_toggled (GtkCellRendererToggle* renderer,
gchar* path,
gpointer user_data)
{
- GladeSignalEditor* self = GLADE_SIGNAL_EDITOR(user_data);
- GtkTreePath* tree_path = gtk_tree_path_new_from_string (path);
- GtkTreeIter iter;
- GladeSignal* old_signal;
- GladeSignal* new_signal;
+ GladeSignalEditor* self = GLADE_SIGNAL_EDITOR(user_data);
+ GtkTreePath* tree_path = gtk_tree_path_new_from_string (path);
+ GtkTreeIter iter;
+ GladeSignal* old_signal;
+ GladeSignal* new_signal;
- g_return_if_fail (self->priv->widget != NULL);
+ g_return_if_fail (self->priv->widget != NULL);
- gtk_tree_model_get_iter (self->priv->model,
- &iter,
- tree_path);
+ gtk_tree_model_get_iter (self->priv->model,
+ &iter,
+ tree_path);
- gtk_tree_model_get (self->priv->model,
- &iter,
- GLADE_SIGNAL_COLUMN_SIGNAL,
- &old_signal, -1);
+ gtk_tree_model_get (self->priv->model,
+ &iter,
+ GLADE_SIGNAL_COLUMN_SIGNAL,
+ &old_signal, -1);
- new_signal = glade_signal_clone (old_signal);
+ new_signal = glade_signal_clone (old_signal);
- /* Change the new signal handler */
- glade_signal_set_after (new_signal,
- !gtk_cell_renderer_toggle_get_active (renderer));
+ /* Change the new signal handler */
+ glade_signal_set_after (new_signal,
+ !gtk_cell_renderer_toggle_get_active (renderer));
- glade_command_change_signal (self->priv->widget, old_signal, new_signal);
+ glade_command_change_signal (self->priv->widget, old_signal, new_signal);
- g_object_unref (new_signal);
- g_object_unref (old_signal);
+ g_object_unref (new_signal);
+ g_object_unref (old_signal);
- gtk_tree_path_free (tree_path);
+ gtk_tree_path_free (tree_path);
}
static void
@@ -337,33 +337,33 @@ glade_signal_editor_devhelp (GtkCellRenderer * cell,
const gchar * path_str,
GladeSignalEditor * editor)
{
- GladeSignalEditorPrivate *priv = editor->priv;
- GtkTreePath *path = gtk_tree_path_new_from_string (path_str);
- GtkTreeModel *model = priv->model;
- GtkTreeIter iter;
- GladeWidgetAdaptor *adaptor;
- const GladeSignalClass *signal_class;
- GladeSignal *signal;
- gchar *book;
- gchar *search;
-
- g_return_if_fail (gtk_tree_model_get_iter (model, &iter, path));
- gtk_tree_path_free (path);
-
- gtk_tree_model_get (model, &iter,
- GLADE_SIGNAL_COLUMN_SIGNAL, &signal,
- -1);
- signal_class = glade_signal_get_class (signal);
- adaptor = glade_signal_class_get_adaptor (signal_class);
- g_object_get (adaptor, "book", &book, NULL);
-
- search = g_strdup_printf ("The %s signal", glade_signal_get_name (signal));
-
- glade_app_search_docs (book, glade_widget_adaptor_get_name (adaptor), search);
-
- g_free (search);
- g_free (book);
- g_object_unref (signal);
+ GladeSignalEditorPrivate *priv = editor->priv;
+ GtkTreePath *path = gtk_tree_path_new_from_string (path_str);
+ GtkTreeModel *model = priv->model;
+ GtkTreeIter iter;
+ GladeWidgetAdaptor *adaptor;
+ const GladeSignalClass *signal_class;
+ GladeSignal *signal;
+ gchar *book;
+ gchar *search;
+
+ g_return_if_fail (gtk_tree_model_get_iter (model, &iter, path));
+ gtk_tree_path_free (path);
+
+ gtk_tree_model_get (model, &iter,
+ GLADE_SIGNAL_COLUMN_SIGNAL, &signal,
+ -1);
+ signal_class = glade_signal_get_class (signal);
+ adaptor = glade_signal_class_get_adaptor (signal_class);
+ g_object_get (adaptor, "book", &book, NULL);
+
+ search = g_strdup_printf ("The %s signal", glade_signal_get_name (signal));
+
+ glade_app_search_docs (book, glade_widget_adaptor_get_name (adaptor), search);
+
+ g_free (search);
+ g_free (book);
+ g_object_unref (signal);
}
/**
@@ -374,12 +374,12 @@ glade_signal_editor_devhelp (GtkCellRenderer * cell,
GladeSignalEditor *
glade_signal_editor_new ()
{
- GladeSignalEditor *signal_editor;
+ GladeSignalEditor *signal_editor;
- signal_editor = GLADE_SIGNAL_EDITOR (g_object_new (GLADE_TYPE_SIGNAL_EDITOR,
- NULL, NULL));
+ signal_editor = GLADE_SIGNAL_EDITOR (g_object_new (GLADE_TYPE_SIGNAL_EDITOR,
+ NULL, NULL));
- return signal_editor;
+ return signal_editor;
}
/**
@@ -394,28 +394,28 @@ void
glade_signal_editor_load_widget (GladeSignalEditor *editor,
GladeWidget *widget)
{
- GladeSignalEditorPrivate *priv = editor->priv;
+ GladeSignalEditorPrivate *priv = editor->priv;
- if (priv->widget != widget)
- {
- priv->widget = widget;
- priv->adaptor = widget ? glade_widget_get_adaptor (widget) : NULL;
+ if (priv->widget != widget)
+ {
+ priv->widget = widget;
+ priv->adaptor = widget ? glade_widget_get_adaptor (widget) : NULL;
- if (priv->widget)
- {
- g_object_ref (priv->widget);
- }
+ if (priv->widget)
+ {
+ g_object_ref (priv->widget);
}
+ }
- gtk_tree_view_set_model (GTK_TREE_VIEW (priv->signal_tree), NULL);
- priv->model = NULL;
+ gtk_tree_view_set_model (GTK_TREE_VIEW (priv->signal_tree), NULL);
+ priv->model = NULL;
- if (!widget)
- return;
+ if (!widget)
+ return;
- priv->model = glade_widget_get_signal_model (widget);
- gtk_tree_view_set_model (GTK_TREE_VIEW (priv->signal_tree), priv->model);
+ priv->model = glade_widget_get_signal_model (widget);
+ gtk_tree_view_set_model (GTK_TREE_VIEW (priv->signal_tree), priv->model);
}
/**
@@ -431,57 +431,57 @@ glade_signal_editor_load_widget (GladeSignalEditor *editor,
void
glade_signal_editor_enable_dnd (GladeSignalEditor *editor, gboolean enabled)
{
- GladeSignalEditorPrivate *priv = editor->priv;
- if (enabled)
- {
- const GtkTargetEntry entry = {
- "application/x-glade-signal",
- GTK_TARGET_OTHER_WIDGET,
- 1
- };
- /* DND */
- gtk_tree_view_enable_model_drag_source (GTK_TREE_VIEW(priv->signal_tree),
- GDK_BUTTON1_MASK,
- &entry,
- 1,
- GDK_ACTION_COPY);
- }
- else
- {
- gtk_tree_view_unset_rows_drag_source (GTK_TREE_VIEW (priv->signal_tree));
- }
+ GladeSignalEditorPrivate *priv = editor->priv;
+ if (enabled)
+ {
+ const GtkTargetEntry entry = {
+ "application/x-glade-signal",
+ GTK_TARGET_OTHER_WIDGET,
+ 1
+ };
+ /* DND */
+ gtk_tree_view_enable_model_drag_source (GTK_TREE_VIEW(priv->signal_tree),
+ GDK_BUTTON1_MASK,
+ &entry,
+ 1,
+ GDK_ACTION_COPY);
+ }
+ else
+ {
+ gtk_tree_view_unset_rows_drag_source (GTK_TREE_VIEW (priv->signal_tree));
+ }
}
static void
glade_signal_editor_dispose (GObject *object)
{
- G_OBJECT_CLASS (glade_signal_editor_parent_class)->dispose (object);
+ G_OBJECT_CLASS (glade_signal_editor_parent_class)->dispose (object);
}
static cairo_surface_t*
create_rich_drag_surface (GtkWidget* widget, const gchar* text)
{
- PangoLayout* layout = pango_layout_new (gtk_widget_get_pango_context (widget));
- cairo_t* cr;
- cairo_surface_t* s;
- gint width, height;
+ PangoLayout* layout = pango_layout_new (gtk_widget_get_pango_context (widget));
+ cairo_t* cr;
+ cairo_surface_t* s;
+ gint width, height;
- pango_layout_set_text (layout, text, -1);
- pango_layout_get_size (layout, &width, &height);
- width = PANGO_PIXELS(width) + 10;
- height = PANGO_PIXELS(height) + 10;
+ pango_layout_set_text (layout, text, -1);
+ pango_layout_get_size (layout, &width, &height);
+ width = PANGO_PIXELS(width) + 10;
+ height = PANGO_PIXELS(height) + 10;
- s = cairo_image_surface_create (CAIRO_FORMAT_A1, width, height);
- cr = cairo_create (s);
+ s = cairo_image_surface_create (CAIRO_FORMAT_A1, width, height);
+ cr = cairo_create (s);
- cairo_rectangle (cr, 0, 0, 1, 1);
+ cairo_rectangle (cr, 0, 0, 1, 1);
- cairo_show_text (cr, text);
- cairo_stroke (cr);
+ cairo_show_text (cr, text);
+ cairo_stroke (cr);
- g_object_unref (layout);
+ g_object_unref (layout);
- return s;;
+ return s;;
}
static void
@@ -489,30 +489,30 @@ glade_signal_editor_drag_begin (GtkWidget* widget,
GdkDragContext* context,
gpointer user_data)
{
- cairo_surface_t *s = NULL;
- GtkTreeModel *model;
- GtkTreeIter iter;
- GtkTreeSelection* selection;
-
- selection = gtk_tree_view_get_selection (GTK_TREE_VIEW (widget));
-
- if (gtk_tree_selection_get_selected (selection, &model, &iter))
- {
- gchar* handler;
- gtk_tree_model_get (model, &iter,
- GLADE_SIGNAL_COLUMN_HANDLER, &handler, -1);
- s = create_rich_drag_surface (widget, handler);
- }
+ cairo_surface_t *s = NULL;
+ GtkTreeModel *model;
+ GtkTreeIter iter;
+ GtkTreeSelection* selection;
+
+ selection = gtk_tree_view_get_selection (GTK_TREE_VIEW (widget));
+
+ if (gtk_tree_selection_get_selected (selection, &model, &iter))
+ {
+ gchar* handler;
+ gtk_tree_model_get (model, &iter,
+ GLADE_SIGNAL_COLUMN_HANDLER, &handler, -1);
+ s = create_rich_drag_surface (widget, handler);
+ }
- if (s)
- {
- gtk_drag_set_icon_surface (context, s);
- g_object_unref (s);
- }
- else
- {
- gtk_drag_set_icon_default (context);
- }
+ if (s)
+ {
+ gtk_drag_set_icon_surface (context, s);
+ g_object_unref (s);
+ }
+ else
+ {
+ gtk_drag_set_icon_default (context);
+ }
}
static void
@@ -522,40 +522,40 @@ glade_signal_editor_name_cell_data_func (GtkTreeViewColumn *column,
GtkTreeIter *iter,
gpointer data)
{
- GladeSignal* signal;
- gboolean show_name;
-
- gtk_tree_model_get (model, iter,
- GLADE_SIGNAL_COLUMN_SIGNAL, &signal,
- GLADE_SIGNAL_COLUMN_SHOW_NAME, &show_name,
- -1);
- if (signal)
- {
- gboolean dummy;
+ GladeSignal* signal;
+ gboolean show_name;
+
+ gtk_tree_model_get (model, iter,
+ GLADE_SIGNAL_COLUMN_SIGNAL, &signal,
+ GLADE_SIGNAL_COLUMN_SHOW_NAME, &show_name,
+ -1);
+ if (signal)
+ {
+ gboolean dummy;
- dummy = glade_signal_is_dummy (signal);
- if (!dummy && show_name)
- {
- g_object_set (renderer,
- "weight", PANGO_WEIGHT_BOLD,
- NULL);
- }
- else
- {
- g_object_set (renderer,
- "weight", PANGO_WEIGHT_NORMAL,
- NULL);
- }
- g_object_unref (signal);
+ dummy = glade_signal_is_dummy (signal);
+ if (!dummy && show_name)
+ {
+ g_object_set (renderer,
+ "weight", PANGO_WEIGHT_BOLD,
+ NULL);
+ }
+ else
+ {
+ g_object_set (renderer,
+ "weight", PANGO_WEIGHT_NORMAL,
+ NULL);
}
- else
- g_object_set (renderer,
- "weight", PANGO_WEIGHT_NORMAL,
- NULL);
+ g_object_unref (signal);
+ }
+ else
+ g_object_set (renderer,
+ "weight", PANGO_WEIGHT_NORMAL,
+ NULL);
- g_object_set (renderer,
- "visible", show_name,
- NULL);
+ g_object_set (renderer,
+ "visible", show_name,
+ NULL);
}
static void
@@ -565,57 +565,53 @@ glade_signal_editor_handler_cell_data_func (GtkTreeViewColumn *column,
GtkTreeIter *iter,
gpointer data)
{
- GladeSignalEditor* editor = GLADE_SIGNAL_EDITOR (data);
- GladeSignal* signal;
-
- gtk_tree_model_get (model, iter,
- GLADE_SIGNAL_COLUMN_SIGNAL, &signal,
- -1);
- if (signal)
- {
- gboolean dummy;
- GtkStyleContext* context = gtk_widget_get_style_context (editor->priv->signal_tree);
+ GladeSignalEditor* editor = GLADE_SIGNAL_EDITOR (data);
+ GladeSignal* signal;
+ GdkRGBA color;
+
+ gtk_tree_model_get (model, iter,
+ GLADE_SIGNAL_COLUMN_SIGNAL, &signal,
+ -1);
+ if (signal)
+ {
+ gboolean dummy;
+ GtkStyleContext* context = gtk_widget_get_style_context (editor->priv->signal_tree);
- dummy = glade_signal_is_dummy (signal);
- if (dummy)
- {
- /* FIXME: That's invisible...
- GdkRGBA color;
- gtk_style_context_get_color (context,
- GTK_STATE_INSENSITIVE,
- &color);
- */
- g_object_set (renderer,
- "style", PANGO_STYLE_ITALIC,
- "foreground", "grey",
- NULL);
- }
- else
- {
- GdkRGBA fg_color;
- gtk_style_context_get_color (context,
- GTK_STATE_NORMAL,
- &fg_color);
- g_object_set (renderer,
- "style", PANGO_STYLE_NORMAL,
- "foreground-rgba", &fg_color,
- NULL);
- }
- g_object_set (renderer,
- "visible", TRUE,
- "sensitive", TRUE,
- "editable", TRUE,
- NULL);
-
- g_object_unref (signal);
+ dummy = glade_signal_is_dummy (signal);
+ if (dummy)
+ {
+ gtk_style_context_get_color (context,
+ GTK_STATE_FLAG_INSENSITIVE, &color);
+ g_object_set (renderer,
+ "style", PANGO_STYLE_ITALIC,
+ "foreground-rgba", &color,
+ NULL);
}
- else
+ else
{
- g_object_set (renderer,
- "visible", FALSE,
- "editable", FALSE,
- NULL);
+ gtk_style_context_get_color (context,
+ GTK_STATE_FLAG_NORMAL,
+ &color);
+ g_object_set (renderer,
+ "style", PANGO_STYLE_NORMAL,
+ "foreground-rgba", &color,
+ NULL);
}
+ g_object_set (renderer,
+ "visible", TRUE,
+ "sensitive", TRUE,
+ "editable", TRUE,
+ NULL);
+
+ g_object_unref (signal);
+ }
+ else
+ {
+ g_object_set (renderer,
+ "visible", FALSE,
+ "editable", FALSE,
+ NULL);
+ }
}
static void
@@ -625,29 +621,56 @@ glade_signal_editor_data_cell_data_func (GtkTreeViewColumn *column,
GtkTreeIter *iter,
gpointer data)
{
- GladeSignal* signal;
-
- gtk_tree_model_get (model, iter,
- GLADE_SIGNAL_COLUMN_SIGNAL, &signal,
- -1);
- if (signal)
- {
- gboolean dummy;
+ GladeSignalEditor* editor = GLADE_SIGNAL_EDITOR (data);
+ GladeSignal* signal;
+ GdkRGBA color;
+
+ gtk_tree_model_get (model, iter,
+ GLADE_SIGNAL_COLUMN_SIGNAL, &signal,
+ -1);
+ if (signal)
+ {
+ gboolean dummy;
- dummy = glade_signal_is_dummy (signal);
- g_object_set (renderer,
- "sensitive", !dummy,
- "visible", TRUE,
- NULL);
- g_object_unref (signal);
- }
- else
+ dummy = glade_signal_is_dummy (signal);
+ g_object_set (renderer,
+ "sensitive", !dummy,
+ "visible", TRUE,
+ NULL);
+
+ if (GTK_IS_CELL_RENDERER_TEXT (renderer))
{
- g_object_set (renderer,
- "sensitive", FALSE,
- "visible", FALSE,
- NULL);
+ GtkStyleContext* context = gtk_widget_get_style_context (editor->priv->signal_tree);
+
+ if (dummy || !glade_signal_get_userdata (signal))
+ {
+ gtk_style_context_get_color (context, GTK_STATE_FLAG_INSENSITIVE, &color);
+ g_object_set (renderer,
+ "style", PANGO_STYLE_ITALIC,
+ "foreground-rgba", &color,
+ NULL);
+ }
+ else
+ {
+ gtk_style_context_get_color (context,
+ GTK_STATE_FLAG_NORMAL,
+ &color);
+ g_object_set (renderer,
+ "style", PANGO_STYLE_NORMAL,
+ "foreground-rgba", &color,
+ NULL);
+ }
}
+
+ g_object_unref (signal);
+ }
+ else
+ {
+ g_object_set (renderer,
+ "sensitive", FALSE,
+ "visible", FALSE,
+ NULL);
+ }
}
static void
@@ -657,22 +680,22 @@ glade_signal_editor_warning_cell_data_func (GtkTreeViewColumn *column,
GtkTreeIter *iter,
gpointer data)
{
- GladeSignal* signal;
- gboolean visible = FALSE;
-
- gtk_tree_model_get (model, iter,
- GLADE_SIGNAL_COLUMN_SIGNAL, &signal,
- -1);
- if (signal)
- {
- const gchar* warning = glade_signal_get_support_warning (signal);
- visible = warning && strlen (warning);
- g_object_unref (signal);
- }
+ GladeSignal* signal;
+ gboolean visible = FALSE;
+
+ gtk_tree_model_get (model, iter,
+ GLADE_SIGNAL_COLUMN_SIGNAL, &signal,
+ -1);
+ if (signal)
+ {
+ const gchar* warning = glade_signal_get_support_warning (signal);
+ visible = warning && strlen (warning);
+ g_object_unref (signal);
+ }
- g_object_set (renderer,
- "visible", visible,
- NULL);
+ g_object_set (renderer,
+ "visible", visible,
+ NULL);
}
static void
@@ -682,225 +705,220 @@ glade_signal_editor_devhelp_cell_data_func (GtkTreeViewColumn *column,
GtkTreeIter *iter,
gpointer data)
{
- GladeSignal* signal;
-
- gtk_tree_model_get (model, iter,
- GLADE_SIGNAL_COLUMN_SIGNAL, &signal,
- -1);
- if (signal)
- {
- const GladeSignalClass* class = glade_signal_get_class (signal);
- GladeWidgetAdaptor* adaptor = glade_signal_class_get_adaptor (class);
- gchar* book;
-
- g_object_get (adaptor, "book", &book, NULL);
-
- g_object_set (renderer,
- "visible", book != NULL,
- NULL);
- g_free (book);
- g_object_unref (signal);
- }
- else
- {
- g_object_set (renderer,
- "visible", FALSE,
- NULL);
- }
+ GladeSignal* signal;
+
+ gtk_tree_model_get (model, iter,
+ GLADE_SIGNAL_COLUMN_SIGNAL, &signal,
+ -1);
+ if (signal && glade_util_have_devhelp ())
+ {
+ const GladeSignalClass* class = glade_signal_get_class (signal);
+ GladeWidgetAdaptor* adaptor = glade_signal_class_get_adaptor (class);
+ gchar* book;
+
+ g_object_get (adaptor, "book", &book, NULL);
+ g_object_set (renderer,
+ "visible", book != NULL,
+ NULL);
+ g_free (book);
+ g_object_unref (signal);
+ }
+ else
+ {
+ g_object_set (renderer,
+ "visible", FALSE,
+ NULL);
+ }
}
static void
glade_signal_editor_init (GladeSignalEditor *self)
{
- GtkWidget *scroll;
- GtkCellRenderer* renderer;
- GtkCellArea* cell_area;
- GladeSignalEditorPrivate* priv;
+ GtkWidget *scroll;
+ GtkCellRenderer* renderer;
+ GtkCellArea* cell_area;
+ GladeSignalEditorPrivate* priv;
- self->priv = G_TYPE_INSTANCE_GET_PRIVATE (self, GLADE_TYPE_SIGNAL_EDITOR, GladeSignalEditorPrivate);
- priv = self->priv;
+ self->priv = G_TYPE_INSTANCE_GET_PRIVATE (self, GLADE_TYPE_SIGNAL_EDITOR, GladeSignalEditorPrivate);
+ priv = self->priv;
- /* Create signal tree */
- priv->signal_tree = gtk_tree_view_new ();
+ /* Create signal tree */
+ priv->signal_tree = gtk_tree_view_new ();
- /* Create columns */
- /* Signal name */
- priv->column_name = gtk_tree_view_column_new ();
+ /* Create columns */
+ /* Signal name */
+ priv->column_name = gtk_tree_view_column_new ();
- /* version warning */
- renderer = gtk_cell_renderer_pixbuf_new ();
- g_object_set (G_OBJECT (renderer), "icon-name", GTK_STOCK_DIALOG_WARNING,
+ /* version warning */
+ renderer = gtk_cell_renderer_pixbuf_new ();
+ g_object_set (G_OBJECT (renderer), "icon-name", GTK_STOCK_DIALOG_WARNING,
NULL);
- gtk_tree_view_column_set_cell_data_func (priv->column_name, renderer,
- glade_signal_editor_warning_cell_data_func,
- self,
- NULL);
- gtk_tree_view_column_pack_start (priv->column_name, renderer, FALSE);
-
- /* signal name */
- renderer = gtk_cell_renderer_text_new ();
- g_object_set (G_OBJECT (renderer),
- "ellipsize", PANGO_ELLIPSIZE_END,
- "width-chars", 20,
- NULL);
- gtk_tree_view_column_pack_end (priv->column_name, renderer, TRUE);
- gtk_tree_view_column_set_attributes (priv->column_name, renderer,
- "text", GLADE_SIGNAL_COLUMN_NAME,
- NULL);
- gtk_tree_view_column_set_cell_data_func (priv->column_name, renderer,
- glade_signal_editor_name_cell_data_func,
- self,
- NULL);
+ gtk_tree_view_column_set_cell_data_func (priv->column_name, renderer,
+ glade_signal_editor_warning_cell_data_func,
+ self,
+ NULL);
+ gtk_tree_view_column_pack_start (priv->column_name, renderer, FALSE);
+
+ /* signal name */
+ renderer = gtk_cell_renderer_text_new ();
+ g_object_set (G_OBJECT (renderer),
+ "ellipsize", PANGO_ELLIPSIZE_END,
+ "width-chars", 20,
+ NULL);
+ gtk_tree_view_column_pack_end (priv->column_name, renderer, TRUE);
+ gtk_tree_view_column_set_attributes (priv->column_name, renderer,
+ "text", GLADE_SIGNAL_COLUMN_NAME,
+ NULL);
+ gtk_tree_view_column_set_cell_data_func (priv->column_name, renderer,
+ glade_signal_editor_name_cell_data_func,
+ self,
+ NULL);
- gtk_tree_view_column_set_resizable (priv->column_name, TRUE);
- gtk_tree_view_column_set_expand (priv->column_name, TRUE);
+ gtk_tree_view_column_set_resizable (priv->column_name, TRUE);
+ gtk_tree_view_column_set_expand (priv->column_name, TRUE);
- gtk_tree_view_column_set_title (priv->column_name, _("Signal")),
- gtk_tree_view_append_column (GTK_TREE_VIEW (self->priv->signal_tree), priv->column_name);
-
- /* Signal handler */
- renderer = gtk_cell_renderer_text_new ();
- g_signal_connect (renderer, "edited", G_CALLBACK(on_handler_edited), self);
- g_signal_connect (renderer, "editing-started", G_CALLBACK (on_handler_editing_started), self);
- priv->column_handler = gtk_tree_view_column_new_with_attributes (_("Handler"),
- renderer,
- "text", GLADE_SIGNAL_COLUMN_HANDLER,
- NULL);
- gtk_tree_view_column_set_cell_data_func (priv->column_handler, renderer,
- glade_signal_editor_handler_cell_data_func,
- self,
- NULL);
- gtk_tree_view_append_column (GTK_TREE_VIEW (self->priv->signal_tree), priv->column_handler);
-
- /* Signal user_data */
- priv->renderer_userdata = gtk_cell_renderer_text_new ();
- g_object_set (G_OBJECT (priv->renderer_userdata),
- "editable", FALSE,
- "ellipsize", PANGO_ELLIPSIZE_END,
- "width-chars", 10, NULL);
-
- cell_area = gtk_cell_area_box_new ();
- gtk_cell_layout_pack_start (GTK_CELL_LAYOUT (cell_area),
- priv->renderer_userdata,
- TRUE);
- gtk_cell_layout_set_attributes (GTK_CELL_LAYOUT (cell_area),
- priv->renderer_userdata,
- "text", GLADE_SIGNAL_COLUMN_OBJECT,
- NULL);
-
- gtk_tree_view_column_set_cell_data_func (priv->column_handler, priv->renderer_userdata,
- glade_signal_editor_data_cell_data_func,
- self,
- NULL);
+ gtk_tree_view_column_set_title (priv->column_name, _("Signal"));
+ gtk_tree_view_append_column (GTK_TREE_VIEW (self->priv->signal_tree), priv->column_name);
+
+ /* Signal handler */
+ renderer = gtk_cell_renderer_text_new ();
+ g_signal_connect (renderer, "edited", G_CALLBACK(on_handler_edited), self);
+ g_signal_connect (renderer, "editing-started", G_CALLBACK (on_handler_editing_started), self);
+ priv->column_handler = gtk_tree_view_column_new_with_attributes (_("Handler"),
+ renderer,
+ "text", GLADE_SIGNAL_COLUMN_HANDLER,
+ NULL);
+ gtk_tree_view_column_set_cell_data_func (priv->column_handler, renderer,
+ glade_signal_editor_handler_cell_data_func,
+ self,
+ NULL);
+ gtk_tree_view_append_column (GTK_TREE_VIEW (self->priv->signal_tree), priv->column_handler);
+
+ /* Signal user_data */
+ priv->renderer_userdata = gtk_cell_renderer_text_new ();
+ g_object_set (G_OBJECT (priv->renderer_userdata),
+ "editable", FALSE,
+ "ellipsize", PANGO_ELLIPSIZE_END,
+ "width-chars", 10, NULL);
+
+ cell_area = gtk_cell_area_box_new ();
+ gtk_cell_layout_pack_start (GTK_CELL_LAYOUT (cell_area),
+ priv->renderer_userdata,
+ TRUE);
+ gtk_cell_layout_set_attributes (GTK_CELL_LAYOUT (cell_area),
+ priv->renderer_userdata,
+ "text", GLADE_SIGNAL_COLUMN_OBJECT,
+ NULL);
- renderer = glade_cell_renderer_icon_new ();
- g_object_set (G_OBJECT (renderer), "icon-name", GTK_STOCK_EDIT, NULL);
-
- g_signal_connect (G_OBJECT (renderer), "activate",
- G_CALLBACK (glade_signal_editor_user_data_activate),
- self);
- gtk_cell_layout_pack_end (GTK_CELL_LAYOUT (cell_area), renderer, FALSE);
- gtk_cell_area_add_focus_sibling (cell_area,
- renderer,
- priv->renderer_userdata);
+ renderer = glade_cell_renderer_icon_new ();
+ g_object_set (G_OBJECT (renderer), "icon-name", GTK_STOCK_EDIT, NULL);
+
+ g_signal_connect (G_OBJECT (renderer), "activate",
+ G_CALLBACK (glade_signal_editor_user_data_activate),
+ self);
+ gtk_cell_layout_pack_end (GTK_CELL_LAYOUT (cell_area), renderer, FALSE);
+ gtk_cell_area_add_focus_sibling (cell_area,
+ renderer,
+ priv->renderer_userdata);
- priv->column_userdata = gtk_tree_view_column_new_with_area (cell_area);
- gtk_tree_view_column_set_title (priv->column_userdata,
- _("User data"));
- gtk_tree_view_column_set_cell_data_func (priv->column_handler, renderer,
- glade_signal_editor_data_cell_data_func,
- self,
- NULL);
-
- gtk_tree_view_column_set_resizable (priv->column_userdata, TRUE);
- gtk_tree_view_column_set_expand (priv->column_userdata, TRUE);
- gtk_tree_view_append_column (GTK_TREE_VIEW (self->priv->signal_tree), priv->column_userdata);
-
- /* Swap signal */
- renderer = gtk_cell_renderer_toggle_new ();
- g_signal_connect (renderer, "toggled", G_CALLBACK (on_swap_toggled), self);
- priv->column_swap = gtk_tree_view_column_new_with_attributes (_("Swap"),
- renderer,
- "active", GLADE_SIGNAL_COLUMN_SWAP,
- NULL);
- gtk_tree_view_append_column (GTK_TREE_VIEW (self->priv->signal_tree), priv->column_swap);
- gtk_tree_view_column_set_cell_data_func (priv->column_swap, renderer,
- glade_signal_editor_data_cell_data_func,
- self,
- NULL);
+ priv->column_userdata = gtk_tree_view_column_new_with_area (cell_area);
+ gtk_tree_view_column_set_title (priv->column_userdata, _("User data"));
+ gtk_tree_view_column_set_cell_data_func (priv->column_userdata, priv->renderer_userdata,
+ glade_signal_editor_data_cell_data_func,
+ self, NULL);
+ gtk_tree_view_column_set_cell_data_func (priv->column_userdata, renderer,
+ glade_signal_editor_data_cell_data_func,
+ self, NULL);
+
+ gtk_tree_view_column_set_resizable (priv->column_userdata, TRUE);
+ gtk_tree_view_column_set_expand (priv->column_userdata, TRUE);
+ gtk_tree_view_append_column (GTK_TREE_VIEW (self->priv->signal_tree), priv->column_userdata);
+
+ /* Swap signal */
+ renderer = gtk_cell_renderer_toggle_new ();
+ g_signal_connect (renderer, "toggled", G_CALLBACK (on_swap_toggled), self);
+ priv->column_swap = gtk_tree_view_column_new_with_attributes (_("Swap"),
+ renderer,
+ "active", GLADE_SIGNAL_COLUMN_SWAP,
+ NULL);
+ gtk_tree_view_append_column (GTK_TREE_VIEW (self->priv->signal_tree), priv->column_swap);
+ gtk_tree_view_column_set_cell_data_func (priv->column_swap, renderer,
+ glade_signal_editor_data_cell_data_func,
+ self,
+ NULL);
- /* After */
- renderer = gtk_cell_renderer_toggle_new ();
- g_signal_connect (renderer, "toggled", G_CALLBACK (on_after_toggled), self);
- priv->column_after = gtk_tree_view_column_new_with_attributes (_("After"),
- renderer,
- "active", GLADE_SIGNAL_COLUMN_AFTER,
- NULL);
- gtk_tree_view_append_column (GTK_TREE_VIEW (self->priv->signal_tree), priv->column_after);
- gtk_tree_view_column_set_cell_data_func (priv->column_after, renderer,
- glade_signal_editor_data_cell_data_func,
- self,
- NULL);
+ /* After */
+ renderer = gtk_cell_renderer_toggle_new ();
+ g_signal_connect (renderer, "toggled", G_CALLBACK (on_after_toggled), self);
+ priv->column_after = gtk_tree_view_column_new_with_attributes (_("After"),
+ renderer,
+ "active", GLADE_SIGNAL_COLUMN_AFTER,
+ NULL);
+ gtk_tree_view_append_column (GTK_TREE_VIEW (self->priv->signal_tree), priv->column_after);
+ gtk_tree_view_column_set_cell_data_func (priv->column_after, renderer,
+ glade_signal_editor_data_cell_data_func,
+ self,
+ NULL);
- /* Devhelp */
- if (glade_util_have_devhelp ())
- {
- renderer = glade_cell_renderer_icon_new ();
-
- g_object_set (G_OBJECT (renderer), "activatable", TRUE, NULL);
-
- if (gtk_icon_theme_has_icon
- (gtk_icon_theme_get_default (), GLADE_DEVHELP_ICON_NAME))
- g_object_set (G_OBJECT (renderer), "icon-name", GLADE_DEVHELP_ICON_NAME,
- NULL);
- else
- g_object_set (G_OBJECT (renderer), "icon-name", GTK_STOCK_INFO, NULL);
-
- g_signal_connect (G_OBJECT (renderer), "activate",
- G_CALLBACK (glade_signal_editor_devhelp), self);
-
- gtk_tree_view_column_pack_end (priv->column_after, renderer, FALSE);
- gtk_tree_view_column_set_cell_data_func (priv->column_after, renderer,
- glade_signal_editor_devhelp_cell_data_func,
- self,
- NULL);
-
- }
+ /* Devhelp */
+ if (glade_util_have_devhelp ())
+ {
+ renderer = glade_cell_renderer_icon_new ();
+
+ g_object_set (G_OBJECT (renderer), "activatable", TRUE, NULL);
+
+ if (gtk_icon_theme_has_icon
+ (gtk_icon_theme_get_default (), GLADE_DEVHELP_ICON_NAME))
+ g_object_set (G_OBJECT (renderer), "icon-name", GLADE_DEVHELP_ICON_NAME,
+ NULL);
+ else
+ g_object_set (G_OBJECT (renderer), "icon-name", GTK_STOCK_INFO, NULL);
+
+ g_signal_connect (G_OBJECT (renderer), "activate",
+ G_CALLBACK (glade_signal_editor_devhelp), self);
+
+ gtk_tree_view_column_pack_end (priv->column_after, renderer, FALSE);
+ gtk_tree_view_column_set_cell_data_func (priv->column_after, renderer,
+ glade_signal_editor_devhelp_cell_data_func,
+ self,
+ NULL);
+
+ }
- /* Tooltips */
- gtk_tree_view_set_tooltip_column (GTK_TREE_VIEW (self->priv->signal_tree),
- GLADE_SIGNAL_COLUMN_TOOLTIP);
+ /* Tooltips */
+ gtk_tree_view_set_tooltip_column (GTK_TREE_VIEW (self->priv->signal_tree),
+ GLADE_SIGNAL_COLUMN_TOOLTIP);
- /* Create scrolled window */
- scroll = gtk_scrolled_window_new (NULL, NULL);
- gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (scroll),
- GTK_POLICY_AUTOMATIC,
- GTK_POLICY_AUTOMATIC);
- gtk_scrolled_window_set_shadow_type (GTK_SCROLLED_WINDOW (scroll),
- GTK_SHADOW_IN);
+ /* Create scrolled window */
+ scroll = gtk_scrolled_window_new (NULL, NULL);
+ gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (scroll),
+ GTK_POLICY_AUTOMATIC,
+ GTK_POLICY_AUTOMATIC);
+ gtk_scrolled_window_set_shadow_type (GTK_SCROLLED_WINDOW (scroll),
+ GTK_SHADOW_IN);
- gtk_container_add (GTK_CONTAINER (scroll), self->priv->signal_tree);
+ gtk_container_add (GTK_CONTAINER (scroll), self->priv->signal_tree);
- gtk_box_pack_start (GTK_BOX (self), scroll, TRUE, TRUE, 0);
+ gtk_box_pack_start (GTK_BOX (self), scroll, TRUE, TRUE, 0);
- /* Dnd */
- g_signal_connect_after (self->priv->signal_tree,
- "drag-begin",
- G_CALLBACK(glade_signal_editor_drag_begin),
- self);
+ /* Dnd */
+ g_signal_connect_after (self->priv->signal_tree,
+ "drag-begin",
+ G_CALLBACK(glade_signal_editor_drag_begin),
+ self);
- gtk_widget_show_all (GTK_WIDGET(self));
+ gtk_widget_show_all (GTK_WIDGET(self));
}
static void
glade_signal_editor_class_init (GladeSignalEditorClass *klass)
{
- GObjectClass *object_class;
+ GObjectClass *object_class;
- glade_signal_editor_parent_class = g_type_class_peek_parent (klass);
+ glade_signal_editor_parent_class = g_type_class_peek_parent (klass);
- object_class = G_OBJECT_CLASS (klass);
- object_class->dispose = glade_signal_editor_dispose;
+ object_class = G_OBJECT_CLASS (klass);
+ object_class->dispose = glade_signal_editor_dispose;
- g_type_class_add_private (klass, sizeof (GladeSignalEditorPrivate));
+ g_type_class_add_private (klass, sizeof (GladeSignalEditorPrivate));
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]