[gimp] app: use a GimpToolGui in GimpMeasureTool
- From: Michael Natterer <mitch src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gimp] app: use a GimpToolGui in GimpMeasureTool
- Date: Fri, 7 Jun 2013 10:04:41 +0000 (UTC)
commit c86eebb034f0e7271084e2c185bb6027024749f8
Author: Michael Natterer <mitch gimp org>
Date: Fri Jun 7 12:03:39 2013 +0200
app: use a GimpToolGui in GimpMeasureTool
app/tools/gimpmeasuretool.c | 72 +++++++++++++++++++++---------------------
app/tools/gimpmeasuretool.h | 2 +-
2 files changed, 37 insertions(+), 37 deletions(-)
---
diff --git a/app/tools/gimpmeasuretool.c b/app/tools/gimpmeasuretool.c
index 4cb40ba..552cfdc 100644
--- a/app/tools/gimpmeasuretool.c
+++ b/app/tools/gimpmeasuretool.c
@@ -46,7 +46,7 @@
#include "display/gimpdisplay.h"
#include "display/gimpdisplayshell.h"
#include "display/gimpdisplayshell-appearance.h"
-#include "display/gimptooldialog.h"
+#include "display/gimptoolgui.h"
#include "gimpmeasureoptions.h"
#include "gimpmeasuretool.h"
@@ -105,7 +105,7 @@ static gdouble gimp_measure_tool_get_angle (gint dx,
gdouble xres,
gdouble yres);
-static GtkWidget * gimp_measure_tool_dialog_new (GimpMeasureTool *measure);
+static GimpToolGui * gimp_measure_tool_dialog_new (GimpMeasureTool *measure);
static void gimp_measure_tool_dialog_update (GimpMeasureTool *measure,
GimpDisplay *display);
@@ -180,8 +180,8 @@ gimp_measure_tool_control (GimpTool *tool,
break;
case GIMP_TOOL_ACTION_HALT:
- if (measure->dialog)
- gtk_widget_destroy (measure->dialog);
+ if (measure->gui)
+ g_object_unref (measure->gui);
break;
}
@@ -318,23 +318,21 @@ gimp_measure_tool_button_press (GimpTool *tool,
gimp_tool_control_activate (tool->control);
/* create the info window if necessary */
- if (! measure->dialog)
+ if (! measure->gui)
{
if (options->use_info_window ||
! gimp_display_shell_get_show_statusbar (shell))
{
- measure->dialog = gimp_measure_tool_dialog_new (measure);
- g_object_add_weak_pointer (G_OBJECT (measure->dialog),
- (gpointer) &measure->dialog);
+ measure->gui = gimp_measure_tool_dialog_new (measure);
+ g_object_add_weak_pointer (G_OBJECT (measure->gui),
+ (gpointer) &measure->gui);
}
}
- if (measure->dialog)
+ if (measure->gui)
{
- gimp_viewable_dialog_set_viewable (GIMP_VIEWABLE_DIALOG (measure->dialog),
- GIMP_VIEWABLE (image),
- GIMP_CONTEXT (options));
- gimp_tool_dialog_set_shell (GIMP_TOOL_DIALOG (measure->dialog), shell);
+ gimp_tool_gui_set_shell (measure->gui, shell);
+ gimp_tool_gui_set_viewable (measure->gui, GIMP_VIEWABLE (image));
gimp_measure_tool_dialog_update (measure, display);
}
@@ -954,7 +952,7 @@ gimp_measure_tool_dialog_update (GimpMeasureTool *measure,
}
measure->status_help = FALSE;
- if (measure->dialog)
+ if (measure->gui)
{
gchar buf[128];
@@ -1032,41 +1030,43 @@ gimp_measure_tool_dialog_update (GimpMeasureTool *measure,
gtk_label_set_text (GTK_LABEL (measure->unit_label[3]), NULL);
}
- if (gtk_widget_get_visible (measure->dialog))
- gdk_window_show (gtk_widget_get_window (measure->dialog));
- else
- gtk_widget_show (measure->dialog);
+ gimp_tool_gui_show (measure->gui);
}
}
-static GtkWidget *
+static GimpToolGui *
gimp_measure_tool_dialog_new (GimpMeasureTool *measure)
{
- GimpTool *tool = GIMP_TOOL (measure);
- GtkWidget *dialog;
- GtkWidget *table;
- GtkWidget *label;
+ GimpTool *tool = GIMP_TOOL (measure);
+ GimpToolGui *gui;
+ GtkWidget *dialog;
+ GtkWidget *vbox;
+ GtkWidget *table;
+ GtkWidget *label;
+
+ gui = gimp_tool_gui_new (tool->tool_info,
+ gimp_display_get_shell (tool->display),
+ _("Measure Distances and Angles"),
+ FALSE,
- dialog = gimp_tool_dialog_new (tool->tool_info,
- gimp_display_get_shell (tool->display),
- _("Measure Distances and Angles"),
+ GTK_STOCK_CLOSE, GTK_RESPONSE_CLOSE,
- GTK_STOCK_CLOSE, GTK_RESPONSE_CLOSE,
+ NULL);
- NULL);
+ dialog = gimp_tool_gui_get_dialog (gui);
+ vbox = gimp_tool_gui_get_vbox (gui);
- gtk_window_set_focus_on_map (GTK_WINDOW (dialog), FALSE);
+ if (GTK_IS_DIALOG (dialog))
+ gtk_window_set_focus_on_map (GTK_WINDOW (dialog), FALSE);
- g_signal_connect (dialog, "response",
- G_CALLBACK (gtk_widget_destroy),
- NULL);
+ g_signal_connect_swapped (dialog, "response",
+ G_CALLBACK (g_object_unref),
+ gui);
table = gtk_table_new (4, 5, TRUE);
gtk_table_set_col_spacings (GTK_TABLE (table), 6);
gtk_table_set_row_spacings (GTK_TABLE (table), 6);
- gtk_container_set_border_width (GTK_CONTAINER (table), 6);
- gtk_box_pack_start (GTK_BOX (gtk_dialog_get_content_area (GTK_DIALOG (dialog))),
- table, TRUE, TRUE, 0);
+ gtk_box_pack_start (GTK_BOX (vbox), table, TRUE, TRUE, 0);
gtk_widget_show (table);
@@ -1181,5 +1181,5 @@ gimp_measure_tool_dialog_new (GimpMeasureTool *measure)
gtk_table_attach_defaults (GTK_TABLE (table), label, 4, 5, 3, 4);
gtk_widget_show (label);
- return dialog;
+ return gui;
}
diff --git a/app/tools/gimpmeasuretool.h b/app/tools/gimpmeasuretool.h
index d74946e..80f05bb 100644
--- a/app/tools/gimpmeasuretool.h
+++ b/app/tools/gimpmeasuretool.h
@@ -66,7 +66,7 @@ struct _GimpMeasureTool
GimpCanvasItem *handles[3];
- GtkWidget *dialog;
+ GimpToolGui *gui;
GtkWidget *distance_label[2];
GtkWidget *angle_label[2];
GtkWidget *width_label[2];
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]