[gimp] app: use a GimpToolGui in GimpTransformTool
- From: Michael Natterer <mitch src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gimp] app: use a GimpToolGui in GimpTransformTool
- Date: Fri, 7 Jun 2013 09:53:57 +0000 (UTC)
commit 1c20940f825800e187369ee7cdde2190e3649710
Author: Michael Natterer <mitch gimp org>
Date: Fri Jun 7 11:52:48 2013 +0200
app: use a GimpToolGui in GimpTransformTool
app/tools/gimpperspectivetool.c | 8 +--
app/tools/gimprotatetool.c | 6 +-
app/tools/gimpscaletool.c | 4 +-
app/tools/gimpsheartool.c | 7 ++-
app/tools/gimptransformtool.c | 77 ++++++++++++++++++----------------
app/tools/gimptransformtool.h | 3 +-
app/tools/gimpunifiedtransformtool.c | 8 +--
7 files changed, 58 insertions(+), 55 deletions(-)
---
diff --git a/app/tools/gimpperspectivetool.c b/app/tools/gimpperspectivetool.c
index 632842b..76c5d60 100644
--- a/app/tools/gimpperspectivetool.c
+++ b/app/tools/gimpperspectivetool.c
@@ -34,6 +34,7 @@
#include "widgets/gimphelp-ids.h"
#include "display/gimpdisplay.h"
+#include "display/gimptoolgui.h"
#include "gimpperspectivetool.h"
#include "gimptoolcontrol.h"
@@ -121,16 +122,13 @@ static void
gimp_perspective_tool_dialog (GimpTransformTool *tr_tool)
{
GimpPerspectiveTool *perspective = GIMP_PERSPECTIVE_TOOL (tr_tool);
- GtkWidget *content_area;
GtkWidget *frame;
GtkWidget *table;
gint x, y;
- content_area = gtk_dialog_get_content_area (GTK_DIALOG (tr_tool->dialog));
-
frame = gimp_frame_new (_("Transformation Matrix"));
- gtk_container_set_border_width (GTK_CONTAINER (frame), 6);
- gtk_box_pack_start (GTK_BOX (content_area), frame, FALSE, FALSE, 0);
+ gtk_box_pack_start (GTK_BOX (gimp_tool_gui_get_vbox (tr_tool->gui)), frame,
+ FALSE, FALSE, 0);
gtk_widget_show (frame);
table = gtk_table_new (3, 3, FALSE);
diff --git a/app/tools/gimprotatetool.c b/app/tools/gimprotatetool.c
index 36d6c73..f7a8066 100644
--- a/app/tools/gimprotatetool.c
+++ b/app/tools/gimprotatetool.c
@@ -35,6 +35,7 @@
#include "display/gimpdisplay.h"
#include "display/gimpdisplayshell.h"
+#include "display/gimptoolgui.h"
#include "gimprotatetool.h"
#include "gimptoolcontrol.h"
@@ -176,12 +177,11 @@ gimp_rotate_tool_dialog (GimpTransformTool *tr_tool)
GtkObject *adj;
table = gtk_table_new (4, 2, FALSE);
- gtk_container_set_border_width (GTK_CONTAINER (table), 6);
gtk_table_set_row_spacings (GTK_TABLE (table), 2);
gtk_table_set_col_spacings (GTK_TABLE (table), 6);
gtk_table_set_row_spacing (GTK_TABLE (table), 1, 6);
- gtk_box_pack_start (GTK_BOX (gtk_dialog_get_content_area (GTK_DIALOG (tr_tool->dialog))),
- table, FALSE, FALSE, 0);
+ gtk_box_pack_start (GTK_BOX (gimp_tool_gui_get_vbox (tr_tool->gui)), table,
+ FALSE, FALSE, 0);
gtk_widget_show (table);
button = gimp_spin_button_new ((GtkObject **) &rotate->angle_adj,
diff --git a/app/tools/gimpscaletool.c b/app/tools/gimpscaletool.c
index ba61ed8..7c15d95 100644
--- a/app/tools/gimpscaletool.c
+++ b/app/tools/gimpscaletool.c
@@ -36,6 +36,7 @@
#include "display/gimpdisplay.h"
#include "display/gimpdisplayshell.h"
+#include "display/gimptoolgui.h"
#include "gimpscaletool.h"
#include "gimptoolcontrol.h"
@@ -181,8 +182,7 @@ gimp_scale_tool_prepare (GimpTransformTool *tr_tool)
"yresolution", yres,
NULL);
- gtk_container_set_border_width (GTK_CONTAINER (scale->box), 6);
- gtk_box_pack_start (GTK_BOX (gtk_dialog_get_content_area (GTK_DIALOG (tr_tool->dialog))),
+ gtk_box_pack_start (GTK_BOX (gimp_tool_gui_get_vbox (tr_tool->gui)),
scale->box, FALSE, FALSE, 0);
gtk_widget_show (scale->box);
diff --git a/app/tools/gimpsheartool.c b/app/tools/gimpsheartool.c
index 2d9aa88..c31ef1b 100644
--- a/app/tools/gimpsheartool.c
+++ b/app/tools/gimpsheartool.c
@@ -32,6 +32,8 @@
#include "widgets/gimphelp-ids.h"
+#include "display/gimptoolgui.h"
+
#include "gimpsheartool.h"
#include "gimptoolcontrol.h"
#include "gimptransformoptions.h"
@@ -123,11 +125,10 @@ gimp_shear_tool_dialog (GimpTransformTool *tr_tool)
GtkWidget *button;
table = gtk_table_new (2, 2, FALSE);
- gtk_container_set_border_width (GTK_CONTAINER (table), 6);
gtk_table_set_row_spacings (GTK_TABLE (table), 2);
gtk_table_set_col_spacings (GTK_TABLE (table), 6);
- gtk_box_pack_start (GTK_BOX (gtk_dialog_get_content_area (GTK_DIALOG (tr_tool->dialog))),
- table, FALSE, FALSE, 0);
+ gtk_box_pack_start (GTK_BOX (gimp_tool_gui_get_vbox (tr_tool->gui)), table,
+ FALSE, FALSE, 0);
gtk_widget_show (table);
button = gimp_spin_button_new ((GtkObject **) &shear->x_adj,
diff --git a/app/tools/gimptransformtool.c b/app/tools/gimptransformtool.c
index 35543ad..824f166 100644
--- a/app/tools/gimptransformtool.c
+++ b/app/tools/gimptransformtool.c
@@ -55,7 +55,7 @@
#include "display/gimpdisplay.h"
#include "display/gimpdisplayshell.h"
#include "display/gimpdisplayshell-transform.h"
-#include "display/gimptooldialog.h"
+#include "display/gimptoolgui.h"
#include "gimptoolcontrol.h"
#include "gimpperspectivetool.h"
@@ -242,11 +242,11 @@ gimp_transform_tool_finalize (GObject *object)
{
GimpTransformTool *tr_tool = GIMP_TRANSFORM_TOOL (object);
- if (tr_tool->dialog)
+ if (tr_tool->gui)
{
- gtk_widget_destroy (tr_tool->dialog);
- tr_tool->dialog = NULL;
- }
+ g_object_unref (tr_tool->gui);
+ tr_tool->gui = NULL;
+ }
G_OBJECT_CLASS (parent_class)->finalize (object);
}
@@ -297,7 +297,7 @@ gimp_transform_tool_initialize (GimpTool *tool,
tool->drawable = drawable;
/* Initialize the transform tool dialog */
- if (! tr_tool->dialog)
+ if (! tr_tool->gui)
gimp_transform_tool_dialog (tr_tool);
/* Find the transform bounds for some tools (like scale,
@@ -1255,7 +1255,7 @@ gimp_transform_tool_draw (GimpDrawTool *draw_tool)
static void
gimp_transform_tool_dialog_update (GimpTransformTool *tr_tool)
{
- if (tr_tool->dialog &&
+ if (tr_tool->gui &&
GIMP_TRANSFORM_TOOL_GET_CLASS (tr_tool)->dialog_update)
{
GIMP_TRANSFORM_TOOL_GET_CLASS (tr_tool)->dialog_update (tr_tool);
@@ -1407,8 +1407,8 @@ gimp_transform_tool_transform (GimpTransformTool *tr_tool,
return;
}
- if (tr_tool->dialog)
- gimp_dialog_factory_hide_dialog (tr_tool->dialog);
+ if (tr_tool->gui)
+ gimp_tool_gui_hide (tr_tool->gui);
gimp_set_busy (display->gimp);
@@ -1520,8 +1520,8 @@ gimp_transform_tool_halt (GimpTransformTool *tr_tool)
tr_tool->function = TRANSFORM_CREATING;
- if (tr_tool->dialog)
- gimp_dialog_factory_hide_dialog (tr_tool->dialog);
+ if (tr_tool->gui)
+ gimp_tool_gui_hide (tr_tool->gui);
if (tr_tool->redo_list)
{
@@ -1689,22 +1689,31 @@ gimp_transform_tool_dialog (GimpTransformTool *tr_tool)
stock_id = gimp_viewable_get_stock_id (GIMP_VIEWABLE (tool_info));
- tr_tool->dialog = gimp_tool_dialog_new (tool_info,
- gimp_display_get_shell (tool->display),
- tool_info->blurb,
- GIMP_STOCK_RESET, RESPONSE_RESET,
- GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL,
- stock_id, GTK_RESPONSE_OK,
- NULL);
- gtk_dialog_set_default_response (GTK_DIALOG (tr_tool->dialog),
- GTK_RESPONSE_OK);
+ tr_tool->overlay = FALSE;
+
+ tr_tool->gui = gimp_tool_gui_new (tool_info,
+ gimp_display_get_shell (tool->display),
+ tool_info->blurb,
+ tr_tool->overlay,
+
+ GIMP_STOCK_RESET, RESPONSE_RESET,
+ GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL,
+ stock_id, GTK_RESPONSE_OK,
+
+ NULL);
+
+ gimp_tool_gui_set_default_response (tr_tool->gui, GTK_RESPONSE_OK);
+
+ /* FIXME */
+#if 0
gtk_dialog_set_alternative_button_order (GTK_DIALOG (tr_tool->dialog),
RESPONSE_RESET,
GTK_RESPONSE_OK,
GTK_RESPONSE_CANCEL,
-1);
+#endif
- g_signal_connect (tr_tool->dialog, "response",
+ g_signal_connect (gimp_tool_gui_get_dialog (tr_tool->gui), "response",
G_CALLBACK (gimp_transform_tool_response),
tr_tool);
@@ -1715,17 +1724,13 @@ static void
gimp_transform_tool_prepare (GimpTransformTool *tr_tool,
GimpDisplay *display)
{
- if (tr_tool->dialog)
+ if (tr_tool->gui)
{
- GimpTransformOptions *options = GIMP_TRANSFORM_TOOL_GET_OPTIONS (tr_tool);
- GimpImage *image = gimp_display_get_image (display);
- GimpDrawable *drawable = gimp_image_get_active_drawable (image);
-
- gimp_viewable_dialog_set_viewable (GIMP_VIEWABLE_DIALOG (tr_tool->dialog),
- GIMP_VIEWABLE (drawable),
- GIMP_CONTEXT (options));
- gimp_tool_dialog_set_shell (GIMP_TOOL_DIALOG (tr_tool->dialog),
- gimp_display_get_shell (display));
+ GimpImage *image = gimp_display_get_image (display);
+ GimpDrawable *drawable = gimp_image_get_active_drawable (image);
+
+ gimp_tool_gui_set_shell (tr_tool->gui, gimp_display_get_shell (display));
+ gimp_tool_gui_set_viewable (tr_tool->gui, GIMP_VIEWABLE (drawable));
}
if (GIMP_TRANSFORM_TOOL_GET_CLASS (tr_tool)->prepare)
@@ -1744,8 +1749,8 @@ gimp_transform_tool_recalc_matrix (GimpTransformTool *tr_tool)
gimp_transform_tool_dialog_update (tr_tool);
- if (tr_tool->dialog)
- gtk_widget_show (tr_tool->dialog);
+ if (tr_tool->gui)
+ gimp_tool_gui_show (tr_tool->gui);
}
static void
@@ -1818,9 +1823,9 @@ gimp_transform_tool_free_trans (gpointer data)
static void
gimp_transform_tool_update_sensitivity (GimpTransformTool *tr_tool)
{
- if (!tr_tool->dialog)
+ if (! tr_tool->gui)
return;
- gtk_dialog_set_response_sensitive (GTK_DIALOG (tr_tool->dialog), RESPONSE_RESET,
- g_list_next (tr_tool->undo_list) != NULL);
+ gimp_tool_gui_set_response_sensitive (tr_tool->gui, RESPONSE_RESET,
+ g_list_next (tr_tool->undo_list) != NULL);
}
diff --git a/app/tools/gimptransformtool.h b/app/tools/gimptransformtool.h
index 9696262..5daad16 100644
--- a/app/tools/gimptransformtool.h
+++ b/app/tools/gimptransformtool.h
@@ -122,7 +122,8 @@ struct _GimpTransformTool
const gchar *progress_text;
- GtkWidget *dialog;
+ gboolean overlay;
+ GimpToolGui *gui;
};
struct _GimpTransformToolClass
diff --git a/app/tools/gimpunifiedtransformtool.c b/app/tools/gimpunifiedtransformtool.c
index b8dcde5..a9160c3 100644
--- a/app/tools/gimpunifiedtransformtool.c
+++ b/app/tools/gimpunifiedtransformtool.c
@@ -43,6 +43,7 @@
#include "display/gimpdisplay.h"
#include "display/gimpdisplayshell.h"
#include "display/gimpdisplayshell-transform.h"
+#include "display/gimptoolgui.h"
#include "gimpunifiedtransformtool.h"
#include "gimptoolcontrol.h"
@@ -737,16 +738,13 @@ static void
gimp_unified_transform_tool_dialog (GimpTransformTool *tr_tool)
{
GimpUnifiedTransformTool *unified = GIMP_UNIFIED_TRANSFORM_TOOL (tr_tool);
- GtkWidget *content_area;
GtkWidget *frame;
GtkWidget *table;
gint x, y;
- content_area = gtk_dialog_get_content_area (GTK_DIALOG (tr_tool->dialog));
-
frame = gimp_frame_new (_("Transform Matrix"));
- gtk_container_set_border_width (GTK_CONTAINER (frame), 6);
- gtk_box_pack_start (GTK_BOX (content_area), frame, FALSE, FALSE, 0);
+ gtk_box_pack_start (GTK_BOX (gimp_tool_gui_get_vbox (tr_tool->gui)), frame,
+ FALSE, FALSE, 0);
gtk_widget_show (frame);
table = gtk_table_new (3, 3, FALSE);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]