[gimp] app: Turn gimp_dialog_factory_dock_with_window_new() into util func
- From: Martin Nordholts <martinn src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gimp] app: Turn gimp_dialog_factory_dock_with_window_new() into util func
- Date: Sat, 20 Feb 2010 15:55:31 +0000 (UTC)
commit 1e9048ded9ee9434fcbc8cee987e1ca6c8331eb5
Author: Martin Nordholts <martinn src gnome org>
Date: Sat Feb 20 16:55:35 2010 +0100
app: Turn gimp_dialog_factory_dock_with_window_new() into util func
Turn gimp_dialog_factory_dock_with_window_new() into a utility
function, it doesn't make sense to let it be part of the generic
GimpDialogFactory.
app/actions/windows-commands.c | 7 ++--
app/tests/test-window-management.c | 13 ++++---
app/widgets/gimpdialogfactory.c | 65 ++---------------------------------
app/widgets/gimpdialogfactory.h | 3 --
app/widgets/gimpdockable.c | 6 ++--
app/widgets/gimpwidgets-utils.c | 58 ++++++++++++++++++++++++++++++++
app/widgets/gimpwidgets-utils.h | 4 ++-
7 files changed, 79 insertions(+), 77 deletions(-)
---
diff --git a/app/actions/windows-commands.c b/app/actions/windows-commands.c
index b8c9979..b06fd5c 100644
--- a/app/actions/windows-commands.c
+++ b/app/actions/windows-commands.c
@@ -31,6 +31,7 @@
#include "widgets/gimpdialogfactory.h"
#include "widgets/gimpsessioninfo.h"
+#include "widgets/gimpwidgets-utils.h"
#include "display/gimpdisplay.h"
#include "display/gimpdisplayshell.h"
@@ -104,9 +105,9 @@ windows_show_toolbox (void)
if (! dialogs_get_toolbox ())
{
- toolbox = gimp_dialog_factory_dock_with_window_new (global_dialog_factory,
- gdk_screen_get_default (),
- TRUE /*toolbox*/);
+ toolbox = gimp_dock_with_window_new (global_dialog_factory,
+ gdk_screen_get_default (),
+ TRUE /*toolbox*/);
gtk_widget_show (toolbox);
}
diff --git a/app/tests/test-window-management.c b/app/tests/test-window-management.c
index 34eb281..95a4ea6 100644
--- a/app/tests/test-window-management.c
+++ b/app/tests/test-window-management.c
@@ -25,6 +25,7 @@
#include "widgets/gimpdialogfactory.h"
#include "widgets/gimpdock.h"
#include "widgets/gimpdockwindow.h"
+#include "widgets/gimpwidgets-utils.h"
#include "core/gimp.h"
#include "core/gimpcontext.h"
@@ -98,12 +99,12 @@ gimp_test_window_roles (GimpTestFixture *fixture,
GimpDockWindow *dock_window = NULL;
GimpDockWindow *toolbox_window = NULL;
- dock = gimp_dialog_factory_dock_with_window_new (global_dialog_factory,
- gdk_screen_get_default (),
- FALSE /*toolbox*/);
- toolbox = gimp_dialog_factory_dock_with_window_new (global_dialog_factory,
- gdk_screen_get_default (),
- TRUE /*toolbox*/);
+ dock = gimp_dock_with_window_new (global_dialog_factory,
+ gdk_screen_get_default (),
+ FALSE /*toolbox*/);
+ toolbox = gimp_dock_with_window_new (global_dialog_factory,
+ gdk_screen_get_default (),
+ TRUE /*toolbox*/);
dock_window = gimp_dock_window_from_dock (GIMP_DOCK (dock));
toolbox_window = gimp_dock_window_from_dock (GIMP_DOCK (toolbox));
diff --git a/app/widgets/gimpdialogfactory.c b/app/widgets/gimpdialogfactory.c
index a5cb144..bd4e95c 100644
--- a/app/widgets/gimpdialogfactory.c
+++ b/app/widgets/gimpdialogfactory.c
@@ -41,6 +41,7 @@
#include "gimpdockwindow.h"
#include "gimpmenufactory.h"
#include "gimpsessioninfo.h"
+#include "gimpwidgets-utils.h"
#include "gimp-log.h"
@@ -477,9 +478,9 @@ gimp_dialog_factory_dialog_new_internal (GimpDialogFactory *factory,
* dialog. We do this because the new dockable needs to be
* created in its dock's context.
*/
- dock = gimp_dialog_factory_dock_with_window_new (factory,
- screen,
- FALSE /*toolbox*/);
+ dock = gimp_dock_with_window_new (factory,
+ screen,
+ FALSE /*toolbox*/);
dockbook = gimp_dockbook_new (factory->p->menu_factory);
gimp_dock_add_book (GIMP_DOCK (dock),
@@ -787,64 +788,6 @@ gimp_dialog_factory_dockable_new (GimpDialogFactory *factory,
FALSE);
}
-/**
- * gimp_dialog_factory_dock_with_window_new:
- * @factory: a #GimpDialogFacotry
- * @screen: the #GdkScreen the dock window should appear on
- *
- * Returns a new #GimpDock in this %factory's context, put inside a
- * #GimpDockWindow. We use a function pointer passed to this
- * %factory's constructor instead of simply gimp_dock_new() because we
- * may want different instances of #GimpDialogFactory create different
- * subclasses of #GimpDock.
- *
- * Return value: the newly created #GimpDock.
- **/
-GtkWidget *
-gimp_dialog_factory_dock_with_window_new (GimpDialogFactory *factory,
- GdkScreen *screen,
- gboolean toolbox)
-{
- GtkWidget *dock_window = NULL;
- GtkWidget *dock = NULL;
- GimpUIManager *ui_manager = NULL;
-
- g_return_val_if_fail (GIMP_IS_DIALOG_FACTORY (factory), NULL);
- g_return_val_if_fail (GDK_IS_SCREEN (screen), NULL);
-
- /* Create a dock window to put the dock in. We need to create the
- * dock window before the dock because the dock has a dependency to
- * the ui manager in the dock window
- */
- dock_window =
- gimp_dialog_factory_dialog_new (factory,
- screen,
- (toolbox ?
- "gimp-toolbox-window" :
- "gimp-dock-window"),
- -1 /*view_size*/,
- FALSE /*present*/);
-
- /* Create the dock */
- ui_manager = gimp_dock_window_get_ui_manager (GIMP_DOCK_WINDOW (dock_window));
- dock = gimp_dialog_factory_dialog_new (factory,
- screen,
- (toolbox ?
- "gimp-toolbox" :
- "gimp-dock"),
- -1 /*view_size*/,
- FALSE /*present*/);
- if (dock)
- {
- /* Put the dock in the dock window */
- gimp_dock_window_add_dock (GIMP_DOCK_WINDOW (dock_window),
- GIMP_DOCK (dock),
- -1);
- }
-
- return dock;
-}
-
void
gimp_dialog_factory_add_dialog (GimpDialogFactory *factory,
GtkWidget *dialog)
diff --git a/app/widgets/gimpdialogfactory.h b/app/widgets/gimpdialogfactory.h
index 634c859..9b4681b 100644
--- a/app/widgets/gimpdialogfactory.h
+++ b/app/widgets/gimpdialogfactory.h
@@ -150,9 +150,6 @@ GtkWidget * gimp_dialog_factory_dockable_new (GimpDialogFactory
GimpDock *dock,
const gchar *identifier,
gint view_size);
-GtkWidget * gimp_dialog_factory_dock_with_window_new (GimpDialogFactory *factory,
- GdkScreen *screen,
- gboolean toolbox);
void gimp_dialog_factory_add_dialog (GimpDialogFactory *factory,
GtkWidget *dialog);
void gimp_dialog_factory_add_foreign (GimpDialogFactory *factory,
diff --git a/app/widgets/gimpdockable.c b/app/widgets/gimpdockable.c
index a7771cf..362ba66 100644
--- a/app/widgets/gimpdockable.c
+++ b/app/widgets/gimpdockable.c
@@ -1205,9 +1205,9 @@ gimp_dockable_detach (GimpDockable *dockable)
src_dock = gimp_dockbook_get_dock (dockable->p->dockbook);
src_dock_window = gimp_dock_window_from_dock (src_dock);
- dock = gimp_dialog_factory_dock_with_window_new (global_dialog_factory,
- gtk_widget_get_screen (GTK_WIDGET (dockable)),
- FALSE /*toolbox*/);
+ dock = gimp_dock_with_window_new (global_dialog_factory,
+ gtk_widget_get_screen (GTK_WIDGET (dockable)),
+ FALSE /*toolbox*/);
dock_window = gimp_dock_window_from_dock (GIMP_DOCK (dock));
gtk_window_set_position (GTK_WINDOW (dock_window), GTK_WIN_POS_MOUSE);
if (src_dock_window)
diff --git a/app/widgets/gimpwidgets-utils.c b/app/widgets/gimpwidgets-utils.c
index b1fb850..762a069 100644
--- a/app/widgets/gimpwidgets-utils.c
+++ b/app/widgets/gimpwidgets-utils.c
@@ -56,6 +56,9 @@
#include "widgets-types.h"
+#include "gimpdialogfactory.h"
+#include "gimpdock.h"
+#include "gimpdockwindow.h"
#include "gimperrordialog.h"
#include "gimpwidgets-utils.h"
@@ -1186,3 +1189,58 @@ gimp_highlight_widget (GtkWidget *widget,
else
gtk_drag_unhighlight (widget);
}
+
+/**
+ * gimp_dock_with_window_new:
+ * @factory: a #GimpDialogFacotry
+ * @screen: the #GdkScreen the dock window should appear on
+ * @toolbox: if %TRUE; gives a "gimp-toolbox-window" with a
+ * "gimp-toolbox", "gimp-dock-window"+"gimp-dock"
+ * otherwise
+ *
+ * Returns: the newly created #GimpDock with the #GimpDockWindow
+ **/
+GtkWidget *
+gimp_dock_with_window_new (GimpDialogFactory *factory,
+ GdkScreen *screen,
+ gboolean toolbox)
+{
+ GtkWidget *dock_window = NULL;
+ GtkWidget *dock = NULL;
+ GimpUIManager *ui_manager = NULL;
+
+ g_return_val_if_fail (GIMP_IS_DIALOG_FACTORY (factory), NULL);
+ g_return_val_if_fail (GDK_IS_SCREEN (screen), NULL);
+
+ /* Create a dock window to put the dock in. We need to create the
+ * dock window before the dock because the dock has a dependency to
+ * the ui manager in the dock window
+ */
+ dock_window =
+ gimp_dialog_factory_dialog_new (factory,
+ screen,
+ (toolbox ?
+ "gimp-toolbox-window" :
+ "gimp-dock-window"),
+ -1 /*view_size*/,
+ FALSE /*present*/);
+
+ /* Create the dock */
+ ui_manager = gimp_dock_window_get_ui_manager (GIMP_DOCK_WINDOW (dock_window));
+ dock = gimp_dialog_factory_dialog_new (factory,
+ screen,
+ (toolbox ?
+ "gimp-toolbox" :
+ "gimp-dock"),
+ -1 /*view_size*/,
+ FALSE /*present*/);
+ if (dock)
+ {
+ /* Put the dock in the dock window */
+ gimp_dock_window_add_dock (GIMP_DOCK_WINDOW (dock_window),
+ GIMP_DOCK (dock),
+ -1);
+ }
+
+ return dock;
+}
diff --git a/app/widgets/gimpwidgets-utils.h b/app/widgets/gimpwidgets-utils.h
index b24ba44..94a0262 100644
--- a/app/widgets/gimpwidgets-utils.h
+++ b/app/widgets/gimpwidgets-utils.h
@@ -89,7 +89,9 @@ void gimp_pango_layout_set_weight (PangoLayout *layout
PangoWeight weight);
void gimp_highlight_widget (GtkWidget *widget,
gboolean highlight);
-
+GtkWidget * gimp_dock_with_window_new (GimpDialogFactory *factory,
+ GdkScreen *screen,
+ gboolean toolbox);
#endif /* __GIMP_WIDGETS_UTILS_H__ */
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]