Switch from GtkItemFactory to GtkUIManager. The migration is almost

2004-04-29  Michael Natterer  <mitch@gimp.org>

	Switch from GtkItemFactory to GtkUIManager. The migration is
	almost complete, still stuff missing/incomplete, definitely added
	a bunch of new bugs...

	* app/actions/*-commands.[ch]: converted all callback from
	GtkItemFactory callbacks to GtkAction callbacks.

	* app/actions/debug-actions.c
	* app/actions/gradient-editor-actions.c
	* app/actions/help-actions.c
	* app/actions/plug-in-actions.c
	* app/actions/qmask-actions.c
	* app/actions/tool-options-actions.c: various fixes.

	* app/display/gimpdisplay.[ch]
	* app/display/gimpdisplayshell-appearance.[ch]
	* app/display/gimpdisplayshell-callbacks.c
	* app/display/gimpdisplayshell.[ch]: move everything from
	GtkItemFactory to GtkUIManager.

	* app/gui/dialogs.[ch]: added new function dialogs_get_toolbox().
	Needed because the action callbacks don't have a widget parameter
	and sometimes we need a parent window for showing dialogs.

	* app/gui/Makefile.am
	* app/gui/brushes-menu.[ch]
	* app/gui/buffers-menu.[ch]
	* app/gui/channels-menu.[ch]
	* app/gui/colormap-editor-menu.[ch]
	* app/gui/dialogs-menu.[ch]
	* app/gui/documents-menu.[ch]
	* app/gui/error-console-menu.[ch]
	* app/gui/fonts-menu.[ch]
	* app/gui/gradient-editor-menu.[ch]
	* app/gui/gradients-menu.[ch]
	* app/gui/images-menu.[ch]
	* app/gui/layers-menu.[ch]
	* app/gui/palette-editor-menu.[ch]
	* app/gui/palettes-menu.[ch]
	* app/gui/patterns-menu.[ch]
	* app/gui/qmask-menu.[ch]
	* app/gui/templates-menu.[ch]
	* app/gui/vectors-menu.[ch]: removed these files.

	* app/gui/gui.c: create a global UI manager for the image popup
	menu and the toolbox menubar.

	* app/gui/menus.[ch]: removed all GtkItemFactory code.

	* app/gui/image-menu.[ch]
	* app/gui/toolbox-menu.[ch]: removed everything except the trivial
	setup_funcs.

	* app/gui/file-open-menu.c
	* app/gui/file-save-menu.c
	* app/gui/tool-options-menu.c: don't use the macros from menus.h
	any more, they are gone.

	* app/gui/gui-vtable.c
	* app/gui/plug-in-menus.[ch]: create/destroy the dynamic plug-in
	menu entries.

	* app/tools/gimpimagemaptool.c: s/gimp_item_factory_update/
	gimp_ui_manager_update/g

	* app/widgets/gimpuimanager.[ch]: added API to get an action
	group by name.

	* app/widgets/gimpmenufactory.c: don't choke on the item_factory
	entries being NULL.

	* app/widgets/gimpactiongroup.c: make sure booleans set using
	g_object_set() only have TRUE or FALSE values.

	* app/widgets/gimpcolormapeditor.c
	* app/widgets/gimpcomponenteditor.c
	* app/widgets/gimpcontainereditor.[ch]
	* app/widgets/gimpcontainergridview.c
	* app/widgets/gimpcontainertreeview.c
	* app/widgets/gimpdockable.[ch]
	* app/widgets/gimpdocked.[ch]
	* app/widgets/gimpeditor.[ch]
	* app/widgets/gimperrorconsole.c
	* app/widgets/gimpgradienteditor.c
	* app/widgets/gimpitemtreeview.c
	* app/widgets/gimppaletteeditor.c
	* app/widgets/gimptoolbox.c
	* app/widgets/gimptooloptionseditor.c: removed all GtkItemFactory
	code and enable the #if 0'ed UI manager stuff.

	* menus/gradient-editor-menu.xml: fixed typos.

	* menus/image-menu.xml: duplicate everything so we have both
	an image menubar and an image popup menu. Badly cries for an
	XSL processor.

	* menus/toolbox-menu.xml: added an "Extensions" placeholder.
This commit is contained in:
Michael Natterer 2004-04-29 12:52:29 +00:00 committed by Michael Natterer
parent c93c27e3ec
commit 4654280114
170 changed files with 2084 additions and 10348 deletions

100
ChangeLog
View File

@ -1,3 +1,103 @@
2004-04-29 Michael Natterer <mitch@gimp.org>
Switch from GtkItemFactory to GtkUIManager. The migration is
almost complete, still stuff missing/incomplete, definitely added
a bunch of new bugs...
* app/actions/*-commands.[ch]: converted all callback from
GtkItemFactory callbacks to GtkAction callbacks.
* app/actions/debug-actions.c
* app/actions/gradient-editor-actions.c
* app/actions/help-actions.c
* app/actions/plug-in-actions.c
* app/actions/qmask-actions.c
* app/actions/tool-options-actions.c: various fixes.
* app/display/gimpdisplay.[ch]
* app/display/gimpdisplayshell-appearance.[ch]
* app/display/gimpdisplayshell-callbacks.c
* app/display/gimpdisplayshell.[ch]: move everything from
GtkItemFactory to GtkUIManager.
* app/gui/dialogs.[ch]: added new function dialogs_get_toolbox().
Needed because the action callbacks don't have a widget parameter
and sometimes we need a parent window for showing dialogs.
* app/gui/Makefile.am
* app/gui/brushes-menu.[ch]
* app/gui/buffers-menu.[ch]
* app/gui/channels-menu.[ch]
* app/gui/colormap-editor-menu.[ch]
* app/gui/dialogs-menu.[ch]
* app/gui/documents-menu.[ch]
* app/gui/error-console-menu.[ch]
* app/gui/fonts-menu.[ch]
* app/gui/gradient-editor-menu.[ch]
* app/gui/gradients-menu.[ch]
* app/gui/images-menu.[ch]
* app/gui/layers-menu.[ch]
* app/gui/palette-editor-menu.[ch]
* app/gui/palettes-menu.[ch]
* app/gui/patterns-menu.[ch]
* app/gui/qmask-menu.[ch]
* app/gui/templates-menu.[ch]
* app/gui/vectors-menu.[ch]: removed these files.
* app/gui/gui.c: create a global UI manager for the image popup
menu and the toolbox menubar.
* app/gui/menus.[ch]: removed all GtkItemFactory code.
* app/gui/image-menu.[ch]
* app/gui/toolbox-menu.[ch]: removed everything except the trivial
setup_funcs.
* app/gui/file-open-menu.c
* app/gui/file-save-menu.c
* app/gui/tool-options-menu.c: don't use the macros from menus.h
any more, they are gone.
* app/gui/gui-vtable.c
* app/gui/plug-in-menus.[ch]: create/destroy the dynamic plug-in
menu entries.
* app/tools/gimpimagemaptool.c: s/gimp_item_factory_update/
gimp_ui_manager_update/g
* app/widgets/gimpuimanager.[ch]: added API to get an action
group by name.
* app/widgets/gimpmenufactory.c: don't choke on the item_factory
entries being NULL.
* app/widgets/gimpactiongroup.c: make sure booleans set using
g_object_set() only have TRUE or FALSE values.
* app/widgets/gimpcolormapeditor.c
* app/widgets/gimpcomponenteditor.c
* app/widgets/gimpcontainereditor.[ch]
* app/widgets/gimpcontainergridview.c
* app/widgets/gimpcontainertreeview.c
* app/widgets/gimpdockable.[ch]
* app/widgets/gimpdocked.[ch]
* app/widgets/gimpeditor.[ch]
* app/widgets/gimperrorconsole.c
* app/widgets/gimpgradienteditor.c
* app/widgets/gimpitemtreeview.c
* app/widgets/gimppaletteeditor.c
* app/widgets/gimptoolbox.c
* app/widgets/gimptooloptionseditor.c: removed all GtkItemFactory
code and enable the #if 0'ed UI manager stuff.
* menus/gradient-editor-menu.xml: fixed typos.
* menus/image-menu.xml: duplicate everything so we have both
an image menubar and an image popup menu. Badly cries for an
XSL processor.
* menus/toolbox-menu.xml: added an "Extensions" placeholder.
2004-04-27 Michael Natterer <mitch@gimp.org>
* app/widgets/Makefile.am

View File

@ -32,7 +32,7 @@
/* public functionss */
void
buffers_paste_buffer_cmd_callback (GtkWidget *widget,
buffers_paste_buffer_cmd_callback (GtkAction *action,
gpointer data)
{
GimpBufferView *view = GIMP_BUFFER_VIEW (data);
@ -41,7 +41,7 @@ buffers_paste_buffer_cmd_callback (GtkWidget *widget,
}
void
buffers_paste_buffer_into_cmd_callback (GtkWidget *widget,
buffers_paste_buffer_into_cmd_callback (GtkAction *action,
gpointer data)
{
GimpBufferView *view = GIMP_BUFFER_VIEW (data);
@ -50,7 +50,7 @@ buffers_paste_buffer_into_cmd_callback (GtkWidget *widget,
}
void
buffers_paste_buffer_as_new_cmd_callback (GtkWidget *widget,
buffers_paste_buffer_as_new_cmd_callback (GtkAction *action,
gpointer data)
{
GimpBufferView *view = GIMP_BUFFER_VIEW (data);
@ -59,7 +59,7 @@ buffers_paste_buffer_as_new_cmd_callback (GtkWidget *widget,
}
void
buffers_delete_buffer_cmd_callback (GtkWidget *widget,
buffers_delete_buffer_cmd_callback (GtkAction *action,
gpointer data)
{
GimpBufferView *view = GIMP_BUFFER_VIEW (data);

View File

@ -20,13 +20,13 @@
#define __BUFFERS_COMMANDS_H__
void buffers_paste_buffer_cmd_callback (GtkWidget *widget,
void buffers_paste_buffer_cmd_callback (GtkAction *action,
gpointer data);
void buffers_paste_buffer_into_cmd_callback (GtkWidget *widget,
void buffers_paste_buffer_into_cmd_callback (GtkAction *action,
gpointer data);
void buffers_paste_buffer_as_new_cmd_callback (GtkWidget *widget,
void buffers_paste_buffer_as_new_cmd_callback (GtkAction *action,
gpointer data);
void buffers_delete_buffer_cmd_callback (GtkWidget *widget,
void buffers_delete_buffer_cmd_callback (GtkAction *action,
gpointer data);

View File

@ -43,6 +43,8 @@
#include "display/gimpdisplay.h"
#include "gui/dialogs.h"
#include "channels-commands.h"
#include "gimp-intl.h"
@ -79,21 +81,41 @@ static void channels_color_changed (GimpColorButton *button,
if (! channel) \
return
#define return_if_no_widget(widget,data) \
if (GIMP_IS_DISPLAY (data)) \
widget = ((GimpDisplay *) data)->shell; \
else if (GIMP_IS_GIMP (data)) \
widget = dialogs_get_toolbox (); \
else if (GIMP_IS_DOCK (data)) \
widget = data; \
else if (GIMP_IS_COMPONENT_EDITOR (data)) \
widget = data; \
else if (GIMP_IS_ITEM_TREE_VIEW (data)) \
widget = data; \
else \
widget = NULL; \
\
if (! widget) \
return
/* public functions */
void
channels_new_cmd_callback (GtkWidget *widget,
channels_new_cmd_callback (GtkAction *action,
gpointer data)
{
GimpImage *gimage;
GtkWidget *widget;
return_if_no_image (gimage, data);
return_if_no_widget (widget, data);
channels_new_channel_query (gimage, NULL, TRUE, widget);
}
void
channels_raise_cmd_callback (GtkWidget *widget,
channels_raise_cmd_callback (GtkAction *action,
gpointer data)
{
GimpImage *gimage;
@ -105,7 +127,7 @@ channels_raise_cmd_callback (GtkWidget *widget,
}
void
channels_raise_to_top_cmd_callback (GtkWidget *widget,
channels_raise_to_top_cmd_callback (GtkAction *action,
gpointer data)
{
GimpImage *gimage;
@ -117,7 +139,7 @@ channels_raise_to_top_cmd_callback (GtkWidget *widget,
}
void
channels_lower_cmd_callback (GtkWidget *widget,
channels_lower_cmd_callback (GtkAction *action,
gpointer data)
{
GimpImage *gimage;
@ -129,7 +151,7 @@ channels_lower_cmd_callback (GtkWidget *widget,
}
void
channels_lower_to_bottom_cmd_callback (GtkWidget *widget,
channels_lower_to_bottom_cmd_callback (GtkAction *action,
gpointer data)
{
GimpImage *gimage;
@ -141,7 +163,7 @@ channels_lower_to_bottom_cmd_callback (GtkWidget *widget,
}
void
channels_duplicate_cmd_callback (GtkWidget *widget,
channels_duplicate_cmd_callback (GtkAction *action,
gpointer data)
{
GimpImage *gimage;
@ -193,7 +215,7 @@ channels_duplicate_cmd_callback (GtkWidget *widget,
}
void
channels_delete_cmd_callback (GtkWidget *widget,
channels_delete_cmd_callback (GtkAction *action,
gpointer data)
{
GimpImage *gimage;
@ -205,14 +227,14 @@ channels_delete_cmd_callback (GtkWidget *widget,
}
void
channels_to_selection_cmd_callback (GtkWidget *widget,
gpointer data,
guint action)
channels_to_selection_cmd_callback (GtkAction *action,
gint value,
gpointer data)
{
GimpChannelOps op;
GimpImage *gimage;
op = (GimpChannelOps) action;
op = (GimpChannelOps) value;
if (GIMP_IS_COMPONENT_EDITOR (data))
{
@ -239,12 +261,14 @@ channels_to_selection_cmd_callback (GtkWidget *widget,
}
void
channels_edit_attributes_cmd_callback (GtkWidget *widget,
channels_edit_attributes_cmd_callback (GtkAction *action,
gpointer data)
{
GimpImage *gimage;
GimpChannel *active_channel;
GtkWidget *widget;
return_if_no_channel (gimage, active_channel, data);
return_if_no_widget (widget, data);
channels_edit_channel_query (active_channel, widget);
}

View File

@ -20,24 +20,24 @@
#define __CHANNELS_COMMANDS_H__
void channels_new_cmd_callback (GtkWidget *widget,
void channels_new_cmd_callback (GtkAction *action,
gpointer data);
void channels_raise_cmd_callback (GtkWidget *widget,
void channels_raise_cmd_callback (GtkAction *action,
gpointer data);
void channels_raise_to_top_cmd_callback (GtkWidget *widget,
void channels_raise_to_top_cmd_callback (GtkAction *action,
gpointer data);
void channels_lower_cmd_callback (GtkWidget *widget,
void channels_lower_cmd_callback (GtkAction *action,
gpointer data);
void channels_lower_to_bottom_cmd_callback (GtkWidget *widget,
void channels_lower_to_bottom_cmd_callback (GtkAction *action,
gpointer data);
void channels_duplicate_cmd_callback (GtkWidget *widget,
void channels_duplicate_cmd_callback (GtkAction *action,
gpointer data);
void channels_delete_cmd_callback (GtkWidget *widget,
void channels_delete_cmd_callback (GtkAction *action,
gpointer data);
void channels_to_selection_cmd_callback (GtkWidget *widget,
gpointer data,
guint action);
void channels_edit_attributes_cmd_callback (GtkWidget *widget,
void channels_to_selection_cmd_callback (GtkAction *action,
gint value,
gpointer data);
void channels_edit_attributes_cmd_callback (GtkAction *action,
gpointer data);
void channels_new_channel_query (GimpImage *gimage,

View File

@ -32,7 +32,7 @@
/* public functions */
void
colormap_editor_edit_color_cmd_callback (GtkWidget *widget,
colormap_editor_edit_color_cmd_callback (GtkAction *action,
gpointer data)
{
GimpColormapEditor *editor = GIMP_COLORMAP_EDITOR (data);
@ -42,13 +42,13 @@ colormap_editor_edit_color_cmd_callback (GtkWidget *widget,
}
void
colormap_editor_add_color_cmd_callback (GtkWidget *widget,
gpointer data,
guint action)
colormap_editor_add_color_cmd_callback (GtkAction *action,
gint value,
gpointer data)
{
GimpColormapEditor *editor = GIMP_COLORMAP_EDITOR (data);
if (GTK_WIDGET_SENSITIVE (editor->add_button))
gimp_button_extended_clicked (GIMP_BUTTON (editor->add_button),
action ? GDK_CONTROL_MASK : 0);
value ? GDK_CONTROL_MASK : 0);
}

View File

@ -20,11 +20,11 @@
#define __COLORMAP_EDITOR_COMMANDS_H__
void colormap_editor_edit_color_cmd_callback (GtkWidget *widget,
void colormap_editor_edit_color_cmd_callback (GtkAction *action,
gpointer data);
void colormap_editor_add_color_cmd_callback (GtkAction *action,
gint value,
gpointer data);
void colormap_editor_add_color_cmd_callback (GtkWidget *widget,
gpointer data,
guint action);
#endif /* __COLORMAP_EDITOR_COMMANDS_H__ */

View File

@ -32,7 +32,7 @@
/* public functions */
void
colormap_editor_edit_color_cmd_callback (GtkWidget *widget,
colormap_editor_edit_color_cmd_callback (GtkAction *action,
gpointer data)
{
GimpColormapEditor *editor = GIMP_COLORMAP_EDITOR (data);
@ -42,13 +42,13 @@ colormap_editor_edit_color_cmd_callback (GtkWidget *widget,
}
void
colormap_editor_add_color_cmd_callback (GtkWidget *widget,
gpointer data,
guint action)
colormap_editor_add_color_cmd_callback (GtkAction *action,
gint value,
gpointer data)
{
GimpColormapEditor *editor = GIMP_COLORMAP_EDITOR (data);
if (GTK_WIDGET_SENSITIVE (editor->add_button))
gimp_button_extended_clicked (GIMP_BUTTON (editor->add_button),
action ? GDK_CONTROL_MASK : 0);
value ? GDK_CONTROL_MASK : 0);
}

View File

@ -20,11 +20,11 @@
#define __COLORMAP_EDITOR_COMMANDS_H__
void colormap_editor_edit_color_cmd_callback (GtkWidget *widget,
void colormap_editor_edit_color_cmd_callback (GtkAction *action,
gpointer data);
void colormap_editor_add_color_cmd_callback (GtkAction *action,
gint value,
gpointer data);
void colormap_editor_add_color_cmd_callback (GtkWidget *widget,
gpointer data,
guint action);
#endif /* __COLORMAP_EDITOR_COMMANDS_H__ */

View File

@ -30,7 +30,7 @@
void
data_new_data_cmd_callback (GtkWidget *widget,
data_new_data_cmd_callback (GtkAction *action,
gpointer data)
{
GimpDataFactoryView *view = GIMP_DATA_FACTORY_VIEW (data);
@ -40,7 +40,7 @@ data_new_data_cmd_callback (GtkWidget *widget,
}
void
data_duplicate_data_cmd_callback (GtkWidget *widget,
data_duplicate_data_cmd_callback (GtkAction *action,
gpointer data)
{
GimpDataFactoryView *view = GIMP_DATA_FACTORY_VIEW (data);
@ -50,7 +50,7 @@ data_duplicate_data_cmd_callback (GtkWidget *widget,
}
void
data_edit_data_cmd_callback (GtkWidget *widget,
data_edit_data_cmd_callback (GtkAction *action,
gpointer data)
{
GimpDataFactoryView *view = GIMP_DATA_FACTORY_VIEW (data);
@ -60,7 +60,7 @@ data_edit_data_cmd_callback (GtkWidget *widget,
}
void
data_delete_data_cmd_callback (GtkWidget *widget,
data_delete_data_cmd_callback (GtkAction *action,
gpointer data)
{
GimpDataFactoryView *view = GIMP_DATA_FACTORY_VIEW (data);
@ -70,7 +70,7 @@ data_delete_data_cmd_callback (GtkWidget *widget,
}
void
data_refresh_data_cmd_callback (GtkWidget *widget,
data_refresh_data_cmd_callback (GtkAction *action,
gpointer data)
{
GimpDataFactoryView *view = GIMP_DATA_FACTORY_VIEW (data);

View File

@ -20,15 +20,15 @@
#define __DATA_COMMANDS_H__
void data_new_data_cmd_callback (GtkWidget *widget,
void data_new_data_cmd_callback (GtkAction *action,
gpointer data);
void data_duplicate_data_cmd_callback (GtkWidget *widget,
void data_duplicate_data_cmd_callback (GtkAction *action,
gpointer data);
void data_edit_data_cmd_callback (GtkWidget *widget,
void data_edit_data_cmd_callback (GtkAction *action,
gpointer data);
void data_delete_data_cmd_callback (GtkWidget *widget,
void data_delete_data_cmd_callback (GtkAction *action,
gpointer data);
void data_refresh_data_cmd_callback (GtkWidget *widget,
void data_refresh_data_cmd_callback (GtkAction *action,
gpointer data);

View File

@ -32,8 +32,7 @@
static GimpActionEntry debug_actions[] =
{
{ "debug-menu", NULL,
"/File/D_ebug" },
{ "debug-menu", NULL, "D_ebug" },
{ "debug-mem-profile", NULL,
"_Mem Profile", NULL, NULL,

View File

@ -28,7 +28,6 @@
#include "core/gimpobject.h"
#include "widgets/gimpitemfactory.h"
#include "widgets/gimpmenufactory.h"
#include "debug-commands.h"
@ -47,7 +46,7 @@ static void debug_dump_menus_recurse_menu (GtkWidget *menu,
/* public functions */
void
debug_dump_menus_cmd_callback (GtkWidget *widget,
debug_dump_menus_cmd_callback (GtkAction *action,
gpointer data)
{
GList *list;
@ -56,11 +55,11 @@ debug_dump_menus_cmd_callback (GtkWidget *widget,
list;
list = g_list_next (list))
{
GimpMenuFactoryEntry *entry;
#if 0
FIXME
GimpMenuFactoryEntry *entry = list->data;
GimpItemFactory *item_factory;
entry = list->data;
item_factory = gimp_item_factory_from_path (entry->identifier);
if (item_factory)
@ -80,11 +79,12 @@ debug_dump_menus_cmd_callback (GtkWidget *widget,
g_print ("\n");
}
#endif
}
}
void
debug_mem_profile_cmd_callback (GtkWidget *widget,
debug_mem_profile_cmd_callback (GtkAction *action,
gpointer data)
{
extern gboolean gimp_debug_memsize;
@ -104,6 +104,7 @@ debug_dump_menus_recurse_menu (GtkWidget *menu,
gint depth,
gchar *path)
{
#if 0
GtkItemFactory *item_factory;
GtkWidget *menu_item;
GList *list;
@ -141,6 +142,7 @@ debug_dump_menus_recurse_menu (GtkWidget *menu,
g_free (full_path);
}
}
#endif
}
#endif /* ENABLE_DEBUG_MENU */

View File

@ -27,9 +27,9 @@
#ifdef ENABLE_DEBUG_MENU
void debug_dump_menus_cmd_callback (GtkWidget *widget,
void debug_dump_menus_cmd_callback (GtkAction *action,
gpointer data);
void debug_mem_profile_cmd_callback (GtkWidget *widget,
void debug_mem_profile_cmd_callback (GtkAction *action,
gpointer data);
#endif /* ENABLE_DEBUG_MENU */

View File

@ -26,15 +26,34 @@
#include "actions-types.h"
#include "core/gimp.h"
#include "core/gimpcontext.h"
#include "widgets/gimpdialogfactory.h"
#include "widgets/gimpdockable.h"
#include "widgets/gimpdockbook.h"
#include "widgets/gimpimagedock.h"
#include "display/gimpdisplay.h"
#include "gui/dialogs.h"
#include "dialogs-commands.h"
#define return_if_no_widget(widget,data) \
if (GIMP_IS_DISPLAY (data)) \
widget = ((GimpDisplay *) data)->shell; \
else if (GIMP_IS_GIMP (data)) \
widget = dialogs_get_toolbox (); \
else if (GIMP_IS_DOCK (data)) \
widget = data; \
else \
widget = NULL; \
\
if (! widget) \
return
/* local function prototypes */
static void dialogs_create_dock (GdkScreen *screen,
@ -46,50 +65,47 @@ static void dialogs_create_dock (GdkScreen *screen,
/* public functions */
void
dialogs_show_toolbox_cmd_callback (GtkWidget *widget,
dialogs_show_toolbox_cmd_callback (GtkAction *action,
gpointer data)
{
dialogs_show_toolbox ();
}
void
dialogs_create_toplevel_cmd_callback (GtkWidget *widget,
gpointer data,
guint action)
{
if (action)
{
const gchar *identifier = g_quark_to_string ((GQuark) action);
if (identifier)
gimp_dialog_factory_dialog_new (global_dialog_factory,
gtk_widget_get_screen (widget),
identifier, -1);
}
}
void
dialogs_create_dockable_cmd_callback (GtkWidget *widget,
gpointer data,
guint action)
{
if (action)
{
const gchar *identifier = g_quark_to_string ((GQuark) action);
if (!identifier)
return;
gimp_dialog_factory_dialog_raise (global_dock_factory,
gtk_widget_get_screen (widget),
identifier, -1);
}
}
void
dialogs_create_lc_cmd_callback (GtkWidget *widget,
dialogs_create_toplevel_cmd_callback (GtkAction *action,
const gchar *value,
gpointer data)
{
GtkWidget *widget;
return_if_no_widget (widget, data);
if (value)
gimp_dialog_factory_dialog_new (global_dialog_factory,
gtk_widget_get_screen (widget),
value, -1);
}
void
dialogs_create_dockable_cmd_callback (GtkAction *action,
const gchar *value,
gpointer data)
{
GtkWidget *widget;
return_if_no_widget (widget, data);
if (value)
gimp_dialog_factory_dialog_raise (global_dock_factory,
gtk_widget_get_screen (widget),
value, -1);
}
void
dialogs_create_lc_cmd_callback (GtkAction *action,
gpointer data)
{
GtkWidget *widget;
return_if_no_widget (widget, data);
static const gchar *tabs[] =
{
"gimp-layer-list",
@ -103,9 +119,12 @@ dialogs_create_lc_cmd_callback (GtkWidget *widget,
}
void
dialogs_create_data_cmd_callback (GtkWidget *widget,
dialogs_create_data_cmd_callback (GtkAction *action,
gpointer data)
{
GtkWidget *widget;
return_if_no_widget (widget, data);
static const gchar *tabs[] =
{
"gimp-brush-grid",
@ -120,9 +139,12 @@ dialogs_create_data_cmd_callback (GtkWidget *widget,
}
void
dialogs_create_stuff_cmd_callback (GtkWidget *widget,
dialogs_create_stuff_cmd_callback (GtkAction *action,
gpointer data)
{
GtkWidget *widget;
return_if_no_widget (widget, data);
static const gchar *tabs[] =
{
"gimp-buffer-list",

View File

@ -20,20 +20,20 @@
#define __DIALOGS_COMMANDS_H__
void dialogs_show_toolbox_cmd_callback (GtkWidget *widget,
void dialogs_show_toolbox_cmd_callback (GtkAction *action,
gpointer data);
void dialogs_create_toplevel_cmd_callback (GtkAction *action,
const gchar *value,
gpointer data);
void dialogs_create_dockable_cmd_callback (GtkAction *action,
const gchar *value,
gpointer data);
void dialogs_create_toplevel_cmd_callback (GtkWidget *widget,
gpointer data,
guint action);
void dialogs_create_dockable_cmd_callback (GtkWidget *widget,
gpointer data,
guint action);
void dialogs_create_lc_cmd_callback (GtkWidget *widget,
void dialogs_create_lc_cmd_callback (GtkAction *action,
gpointer data);
void dialogs_create_data_cmd_callback (GtkWidget *widget,
void dialogs_create_data_cmd_callback (GtkAction *action,
gpointer data);
void dialogs_create_stuff_cmd_callback (GtkWidget *widget,
void dialogs_create_stuff_cmd_callback (GtkAction *action,
gpointer data);
void dialogs_show_toolbox (void);

View File

@ -41,26 +41,20 @@
/* public functions */
void
dockable_add_tab_cmd_callback (GtkWidget *widget,
gpointer data,
guint action)
dockable_add_tab_cmd_callback (GtkAction *action,
const gchar *value,
gpointer data)
{
GimpDockbook *dockbook = GIMP_DOCKBOOK (data);
if (action)
if (value)
{
GtkWidget *dockable;
const gchar *identifier;
identifier = g_quark_to_string ((GQuark) action);
if (identifier)
{
dockable =
gimp_dialog_factory_dockable_new (dockbook->dock->dialog_factory,
dockbook->dock,
identifier,
-1);
value, -1);
/* Maybe gimp_dialog_factory_dockable_new() returned an already
* existing singleton dockable, so check if it already is
@ -69,11 +63,10 @@ dockable_add_tab_cmd_callback (GtkWidget *widget,
if (dockable && ! GIMP_DOCKABLE (dockable)->dockbook)
gimp_dockbook_add (dockbook, GIMP_DOCKABLE (dockable), -1);
}
}
}
void
dockable_close_tab_cmd_callback (GtkWidget *widget,
dockable_close_tab_cmd_callback (GtkAction *action,
gpointer data)
{
GimpDockbook *dockbook = GIMP_DOCKBOOK (data);
@ -90,7 +83,7 @@ dockable_close_tab_cmd_callback (GtkWidget *widget,
}
void
dockable_detach_tab_cmd_callback (GtkWidget *widget,
dockable_detach_tab_cmd_callback (GtkAction *action,
gpointer data)
{
GimpDockbook *dockbook = GIMP_DOCKBOOK (data);
@ -107,19 +100,17 @@ dockable_detach_tab_cmd_callback (GtkWidget *widget,
}
void
dockable_toggle_view_cmd_callback (GtkWidget *widget,
gpointer data,
guint action)
dockable_toggle_view_cmd_callback (GtkAction *action,
GtkAction *current,
gpointer data)
{
GimpDockbook *dockbook = GIMP_DOCKBOOK (data);
GimpDockable *dockable;
GimpViewType view_type;
gint page_num;
if (! GTK_CHECK_MENU_ITEM (widget)->active)
return;
view_type = (GimpViewType) action;
view_type = (GimpViewType)
gtk_radio_action_get_current_value (GTK_RADIO_ACTION (action));
page_num = gtk_notebook_get_current_page (GTK_NOTEBOOK (dockbook));
@ -196,19 +187,16 @@ dockable_toggle_view_cmd_callback (GtkWidget *widget,
}
void
dockable_preview_size_cmd_callback (GtkWidget *widget,
gpointer data,
guint action)
dockable_preview_size_cmd_callback (GtkAction *action,
GtkAction *current,
gpointer data)
{
GimpDockbook *dockbook = GIMP_DOCKBOOK (data);
GimpDockable *dockable;
gint preview_size;
gint page_num;
if (! GTK_CHECK_MENU_ITEM (widget)->active)
return;
preview_size = (gint) action;
preview_size = gtk_radio_action_get_current_value (GTK_RADIO_ACTION (action));
page_num = gtk_notebook_get_current_page (GTK_NOTEBOOK (dockbook));
@ -228,19 +216,17 @@ dockable_preview_size_cmd_callback (GtkWidget *widget,
}
void
dockable_tab_style_cmd_callback (GtkWidget *widget,
gpointer data,
guint action)
dockable_tab_style_cmd_callback (GtkAction *action,
GtkAction *current,
gpointer data)
{
GimpDockbook *dockbook = GIMP_DOCKBOOK (data);
GimpDockable *dockable;
GimpTabStyle tab_style;
gint page_num;
if (! GTK_CHECK_MENU_ITEM (widget)->active)
return;
tab_style = (gint) action;
tab_style = (GimpTabStyle)
gtk_radio_action_get_current_value (GTK_RADIO_ACTION (action));
page_num = gtk_notebook_get_current_page (GTK_NOTEBOOK (dockbook));
@ -262,25 +248,31 @@ dockable_tab_style_cmd_callback (GtkWidget *widget,
}
void
dockable_toggle_image_menu_cmd_callback (GtkWidget *widget,
dockable_toggle_image_menu_cmd_callback (GtkAction *action,
gpointer data)
{
GimpDockbook *dockbook = GIMP_DOCKBOOK (data);
gboolean active;
active = gtk_toggle_action_get_active (GTK_TOGGLE_ACTION (action));
if (GIMP_IS_IMAGE_DOCK (dockbook->dock))
gimp_image_dock_set_show_image_menu (GIMP_IMAGE_DOCK (dockbook->dock),
GTK_CHECK_MENU_ITEM (widget)->active);
active);
}
void
dockable_toggle_auto_cmd_callback (GtkWidget *widget,
dockable_toggle_auto_cmd_callback (GtkAction *action,
gpointer data)
{
GimpDockbook *dockbook = GIMP_DOCKBOOK (data);
gboolean active;
active = gtk_toggle_action_get_active (GTK_TOGGLE_ACTION (action));
if (GIMP_IS_IMAGE_DOCK (dockbook->dock))
gimp_image_dock_set_auto_follow_active (GIMP_IMAGE_DOCK (dockbook->dock),
GTK_CHECK_MENU_ITEM (widget)->active);
active);
}
static void
@ -305,7 +297,7 @@ dockable_change_screen_destroy_callback (GtkWidget *query_box,
}
void
dockable_change_screen_cmd_callback (GtkWidget *widget,
dockable_change_screen_cmd_callback (GtkAction *action,
gpointer data)
{
GimpDockbook *dockbook = GIMP_DOCKBOOK (data);

View File

@ -20,29 +20,29 @@
#define __DOCKABLE_COMMANDS_H__
void dockable_add_tab_cmd_callback (GtkWidget *widget,
gpointer data,
guint action);
void dockable_close_tab_cmd_callback (GtkWidget *widget,
void dockable_add_tab_cmd_callback (GtkAction *action,
const gchar *value,
gpointer data);
void dockable_detach_tab_cmd_callback (GtkWidget *widget,
void dockable_close_tab_cmd_callback (GtkAction *action,
gpointer data);
void dockable_detach_tab_cmd_callback (GtkAction *action,
gpointer data);
void dockable_toggle_view_cmd_callback (GtkWidget *widget,
gpointer data,
guint action);
void dockable_preview_size_cmd_callback (GtkWidget *widget,
gpointer data,
guint action);
void dockable_tab_style_cmd_callback (GtkWidget *widget,
gpointer data,
guint action);
void dockable_toggle_view_cmd_callback (GtkAction *action,
GtkAction *current,
gpointer data);
void dockable_preview_size_cmd_callback (GtkAction *action,
GtkAction *current,
gpointer data);
void dockable_tab_style_cmd_callback (GtkAction *action,
GtkAction *current,
gpointer data);
void dockable_toggle_image_menu_cmd_callback (GtkWidget *widget,
void dockable_toggle_image_menu_cmd_callback (GtkAction *action,
gpointer data);
void dockable_toggle_auto_cmd_callback (GtkWidget *widget,
void dockable_toggle_auto_cmd_callback (GtkAction *action,
gpointer data);
void dockable_change_screen_cmd_callback (GtkWidget *widget,
void dockable_change_screen_cmd_callback (GtkAction *action,
gpointer data);

View File

@ -32,7 +32,7 @@
/* public functions */
void
documents_open_document_cmd_callback (GtkWidget *widget,
documents_open_document_cmd_callback (GtkAction *action,
gpointer data)
{
GimpDocumentView *view = GIMP_DOCUMENT_VIEW (data);
@ -41,7 +41,7 @@ documents_open_document_cmd_callback (GtkWidget *widget,
}
void
documents_raise_or_open_document_cmd_callback (GtkWidget *widget,
documents_raise_or_open_document_cmd_callback (GtkAction *action,
gpointer data)
{
GimpDocumentView *view = GIMP_DOCUMENT_VIEW (data);
@ -51,7 +51,7 @@ documents_raise_or_open_document_cmd_callback (GtkWidget *widget,
}
void
documents_file_open_dialog_cmd_callback (GtkWidget *widget,
documents_file_open_dialog_cmd_callback (GtkAction *action,
gpointer data)
{
GimpDocumentView *view = GIMP_DOCUMENT_VIEW (data);
@ -61,7 +61,7 @@ documents_file_open_dialog_cmd_callback (GtkWidget *widget,
}
void
documents_remove_document_cmd_callback (GtkWidget *widget,
documents_remove_document_cmd_callback (GtkAction *action,
gpointer data)
{
GimpDocumentView *view = GIMP_DOCUMENT_VIEW (data);
@ -71,7 +71,7 @@ documents_remove_document_cmd_callback (GtkWidget *widget,
void
documents_recreate_preview_cmd_callback (GtkWidget *widget,
documents_recreate_preview_cmd_callback (GtkAction *action,
gpointer data)
{
GimpDocumentView *view = GIMP_DOCUMENT_VIEW (data);
@ -80,7 +80,7 @@ documents_recreate_preview_cmd_callback (GtkWidget *widget,
}
void
documents_reload_previews_cmd_callback (GtkWidget *widget,
documents_reload_previews_cmd_callback (GtkAction *action,
gpointer data)
{
GimpDocumentView *view = GIMP_DOCUMENT_VIEW (data);
@ -90,7 +90,7 @@ documents_reload_previews_cmd_callback (GtkWidget *widget,
}
void
documents_delete_dangling_documents_cmd_callback (GtkWidget *widget,
documents_delete_dangling_documents_cmd_callback (GtkAction *action,
gpointer data)
{
GimpDocumentView *view = GIMP_DOCUMENT_VIEW (data);

View File

@ -20,19 +20,19 @@
#define __DOCUMENTS_COMMANDS_H__
void documents_open_document_cmd_callback (GtkWidget *widget,
void documents_open_document_cmd_callback (GtkAction *action,
gpointer data);
void documents_raise_or_open_document_cmd_callback (GtkWidget *widget,
void documents_raise_or_open_document_cmd_callback (GtkAction *action,
gpointer data);
void documents_file_open_dialog_cmd_callback (GtkWidget *widget,
void documents_file_open_dialog_cmd_callback (GtkAction *action,
gpointer data);
void documents_remove_document_cmd_callback (GtkWidget *widget,
void documents_remove_document_cmd_callback (GtkAction *action,
gpointer data);
void documents_recreate_preview_cmd_callback (GtkWidget *widget,
void documents_recreate_preview_cmd_callback (GtkAction *action,
gpointer data);
void documents_reload_previews_cmd_callback (GtkWidget *widget,
void documents_reload_previews_cmd_callback (GtkAction *action,
gpointer data);
void documents_delete_dangling_documents_cmd_callback (GtkWidget *widget,
void documents_delete_dangling_documents_cmd_callback (GtkAction *action,
gpointer data);

View File

@ -41,9 +41,11 @@
#include "display/gimpdisplay.h"
#include "drawable-commands.h"
#include "gui/dialogs.h"
#include "gui/offset-dialog.h"
#include "drawable-commands.h"
#include "gimp-intl.h"
@ -68,11 +70,26 @@
if (! drawable) \
return
#define return_if_no_widget(widget,data) \
if (GIMP_IS_DISPLAY (data)) \
widget = ((GimpDisplay *) data)->shell; \
else if (GIMP_IS_GIMP (data)) \
widget = dialogs_get_toolbox (); \
else if (GIMP_IS_DOCK (data)) \
widget = data; \
else if (GIMP_IS_ITEM_TREE_VIEW (data)) \
widget = data; \
else \
widget = NULL; \
\
if (! widget) \
return
/* public functions */
void
drawable_desaturate_cmd_callback (GtkWidget *widget,
drawable_desaturate_cmd_callback (GtkAction *action,
gpointer data)
{
GimpImage *gimage;
@ -90,7 +107,7 @@ drawable_desaturate_cmd_callback (GtkWidget *widget,
}
void
drawable_invert_cmd_callback (GtkWidget *widget,
drawable_invert_cmd_callback (GtkAction *action,
gpointer data)
{
GimpImage *gimage;
@ -108,7 +125,7 @@ drawable_invert_cmd_callback (GtkWidget *widget,
}
void
drawable_equalize_cmd_callback (GtkWidget *widget,
drawable_equalize_cmd_callback (GtkAction *action,
gpointer data)
{
GimpImage *gimage;
@ -126,9 +143,9 @@ drawable_equalize_cmd_callback (GtkWidget *widget,
}
void
drawable_flip_cmd_callback (GtkWidget *widget,
gpointer data,
guint action)
drawable_flip_cmd_callback (GtkAction *action,
gint value,
gpointer data)
{
GimpImage *gimage;
GimpDrawable *active_drawable;
@ -142,7 +159,7 @@ drawable_flip_cmd_callback (GtkWidget *widget,
gimp_item_offsets (item, &off_x, &off_y);
switch ((GimpOrientationType) action)
switch ((GimpOrientationType) value)
{
case GIMP_ORIENTATION_HORIZONTAL:
axis = ((gdouble) off_x + (gdouble) gimp_item_width (item) / 2.0);
@ -162,7 +179,7 @@ drawable_flip_cmd_callback (GtkWidget *widget,
gimp_image_undo_group_start (gimage, GIMP_UNDO_GROUP_TRANSFORM,
_("Flip Layer"));
gimp_item_flip (item, context, (GimpOrientationType) action, axis, FALSE);
gimp_item_flip (item, context, (GimpOrientationType) value, axis, FALSE);
if (gimp_item_get_linked (item))
{
@ -175,9 +192,9 @@ drawable_flip_cmd_callback (GtkWidget *widget,
}
void
drawable_rotate_cmd_callback (GtkWidget *widget,
gpointer data,
guint action)
drawable_rotate_cmd_callback (GtkAction *action,
gint value,
gpointer data)
{
GimpImage *gimage;
GimpDrawable *active_drawable;
@ -200,12 +217,12 @@ drawable_rotate_cmd_callback (GtkWidget *widget,
gimp_image_undo_group_start (gimage, GIMP_UNDO_GROUP_TRANSFORM,
_("Rotate Layer"));
gimp_item_rotate (item, context, (GimpRotationType) action,
gimp_item_rotate (item, context, (GimpRotationType) value,
center_x, center_y, FALSE);
if (gimp_item_get_linked (item))
{
gimp_item_linked_rotate (item, context, (GimpRotationType) action,
gimp_item_linked_rotate (item, context, (GimpRotationType) value,
center_x, center_y, FALSE);
gimp_image_undo_group_end (gimage);
}
@ -214,13 +231,15 @@ drawable_rotate_cmd_callback (GtkWidget *widget,
}
void
drawable_offset_cmd_callback (GtkWidget *widget,
drawable_offset_cmd_callback (GtkAction *action,
gpointer data)
{
GimpImage *gimage;
GimpDrawable *drawable;
GtkWidget *widget;
GtkWidget *dialog;
return_if_no_drawable (gimage, drawable, data);
return_if_no_widget (widget, data);
dialog = offset_dialog_new (drawable, widget);
gtk_widget_show (dialog);

View File

@ -20,19 +20,19 @@
#define __DRAWABLE_COMMANDS_H__
void drawable_desaturate_cmd_callback (GtkWidget *widget,
void drawable_desaturate_cmd_callback (GtkAction *action,
gpointer data);
void drawable_invert_cmd_callback (GtkWidget *widget,
void drawable_invert_cmd_callback (GtkAction *action,
gpointer data);
void drawable_equalize_cmd_callback (GtkWidget *widget,
void drawable_equalize_cmd_callback (GtkAction *action,
gpointer data);
void drawable_flip_cmd_callback (GtkWidget *widget,
gpointer data,
guint action);
void drawable_rotate_cmd_callback (GtkWidget *widget,
gpointer data,
guint action);
void drawable_offset_cmd_callback (GtkWidget *widget,
void drawable_flip_cmd_callback (GtkAction *action,
gint value,
gpointer data);
void drawable_rotate_cmd_callback (GtkAction *action,
gint value,
gpointer data);
void drawable_offset_cmd_callback (GtkAction *action,
gpointer data);

View File

@ -96,7 +96,7 @@ static void copy_named_buffer_callback (GtkWidget *widget,
/* public functions */
void
edit_undo_cmd_callback (GtkWidget *widget,
edit_undo_cmd_callback (GtkAction *action,
gpointer data)
{
GimpImage *gimage;
@ -107,7 +107,7 @@ edit_undo_cmd_callback (GtkWidget *widget,
}
void
edit_redo_cmd_callback (GtkWidget *widget,
edit_redo_cmd_callback (GtkAction *action,
gpointer data)
{
GimpImage *gimage;
@ -118,7 +118,7 @@ edit_redo_cmd_callback (GtkWidget *widget,
}
void
edit_cut_cmd_callback (GtkWidget *widget,
edit_cut_cmd_callback (GtkAction *action,
gpointer data)
{
GimpImage *gimage;
@ -130,7 +130,7 @@ edit_cut_cmd_callback (GtkWidget *widget,
}
void
edit_copy_cmd_callback (GtkWidget *widget,
edit_copy_cmd_callback (GtkAction *action,
gpointer data)
{
GimpImage *gimage;
@ -165,7 +165,7 @@ edit_paste (GimpDisplay *gdisp,
}
void
edit_paste_cmd_callback (GtkWidget *widget,
edit_paste_cmd_callback (GtkAction *action,
gpointer data)
{
GimpDisplay *gdisp;
@ -175,7 +175,7 @@ edit_paste_cmd_callback (GtkWidget *widget,
}
void
edit_paste_into_cmd_callback (GtkWidget *widget,
edit_paste_into_cmd_callback (GtkAction *action,
gpointer data)
{
GimpDisplay *gdisp;
@ -185,7 +185,7 @@ edit_paste_into_cmd_callback (GtkWidget *widget,
}
void
edit_paste_as_new_cmd_callback (GtkWidget *widget,
edit_paste_as_new_cmd_callback (GtkAction *action,
gpointer data)
{
GimpDisplay *gdisp;
@ -200,7 +200,7 @@ edit_paste_as_new_cmd_callback (GtkWidget *widget,
}
void
edit_named_cut_cmd_callback (GtkWidget *widget,
edit_named_cut_cmd_callback (GtkAction *action,
gpointer data)
{
GimpDisplay *gdisp;
@ -219,7 +219,7 @@ edit_named_cut_cmd_callback (GtkWidget *widget,
}
void
edit_named_copy_cmd_callback (GtkWidget *widget,
edit_named_copy_cmd_callback (GtkAction *action,
gpointer data)
{
GimpDisplay *gdisp;
@ -238,16 +238,19 @@ edit_named_copy_cmd_callback (GtkWidget *widget,
}
void
edit_named_paste_cmd_callback (GtkWidget *widget,
edit_named_paste_cmd_callback (GtkAction *action,
gpointer data)
{
GimpDisplay *gdisp;
return_if_no_display (gdisp, data);
gimp_dialog_factory_dialog_raise (global_dock_factory,
gtk_widget_get_screen (widget),
gtk_widget_get_screen (gdisp->shell),
"gimp-buffer-list|gimp-buffer-grid", -1);
}
void
edit_clear_cmd_callback (GtkWidget *widget,
edit_clear_cmd_callback (GtkAction *action,
gpointer data)
{
GimpImage *gimage;
@ -259,16 +262,16 @@ edit_clear_cmd_callback (GtkWidget *widget,
}
void
edit_fill_cmd_callback (GtkWidget *widget,
gpointer data,
guint action)
edit_fill_cmd_callback (GtkAction *action,
gint value,
gpointer data)
{
GimpImage *gimage;
GimpDrawable *drawable;
GimpFillType fill_type;
return_if_no_drawable (gimage, drawable, data);
fill_type = (GimpFillType) action;
fill_type = (GimpFillType) value;
gimp_edit_fill (gimage, drawable, gimp_get_user_context (gimage->gimp),
fill_type);
@ -276,14 +279,16 @@ edit_fill_cmd_callback (GtkWidget *widget,
}
void
edit_stroke_cmd_callback (GtkWidget *widget,
edit_stroke_cmd_callback (GtkAction *action,
gpointer data)
{
GimpDisplay *gdisp;
GimpImage *gimage;
GimpDrawable *drawable;
return_if_no_display (gdisp, data);
return_if_no_drawable (gimage, drawable, data);
edit_stroke_selection (GIMP_ITEM (gimp_image_get_mask (gimage)), widget);
edit_stroke_selection (GIMP_ITEM (gimp_image_get_mask (gimage)), gdisp->shell);
}
void

View File

@ -20,32 +20,32 @@
#define __EDIT_COMMANDS_H__
void edit_undo_cmd_callback (GtkWidget *widget,
void edit_undo_cmd_callback (GtkAction *action,
gpointer data);
void edit_redo_cmd_callback (GtkWidget *widget,
void edit_redo_cmd_callback (GtkAction *action,
gpointer data);
void edit_cut_cmd_callback (GtkWidget *widget,
void edit_cut_cmd_callback (GtkAction *action,
gpointer data);
void edit_copy_cmd_callback (GtkWidget *widget,
void edit_copy_cmd_callback (GtkAction *action,
gpointer data);
void edit_paste_cmd_callback (GtkWidget *widget,
void edit_paste_cmd_callback (GtkAction *action,
gpointer data);
void edit_paste_into_cmd_callback (GtkWidget *widget,
void edit_paste_into_cmd_callback (GtkAction *action,
gpointer data);
void edit_paste_as_new_cmd_callback (GtkWidget *widget,
void edit_paste_as_new_cmd_callback (GtkAction *action,
gpointer data);
void edit_named_cut_cmd_callback (GtkWidget *widget,
void edit_named_cut_cmd_callback (GtkAction *action,
gpointer data);
void edit_named_copy_cmd_callback (GtkWidget *widget,
void edit_named_copy_cmd_callback (GtkAction *action,
gpointer data);
void edit_named_paste_cmd_callback (GtkWidget *widget,
void edit_named_paste_cmd_callback (GtkAction *action,
gpointer data);
void edit_clear_cmd_callback (GtkWidget *widget,
void edit_clear_cmd_callback (GtkAction *action,
gpointer data);
void edit_fill_cmd_callback (GtkWidget *widget,
gpointer data,
guint action);
void edit_stroke_cmd_callback (GtkWidget *widget,
void edit_fill_cmd_callback (GtkAction *action,
gint value,
gpointer data);
void edit_stroke_cmd_callback (GtkAction *action,
gpointer data);
void edit_stroke_selection (GimpItem *item,

View File

@ -32,7 +32,7 @@
/* public functions */
void
error_console_clear_cmd_callback (GtkWidget *widget,
error_console_clear_cmd_callback (GtkAction *action,
gpointer data)
{
GimpErrorConsole *console = GIMP_ERROR_CONSOLE (data);
@ -42,7 +42,7 @@ error_console_clear_cmd_callback (GtkWidget *widget,
}
void
error_console_save_all_cmd_callback (GtkWidget *widget,
error_console_save_all_cmd_callback (GtkAction *action,
gpointer data)
{
GimpErrorConsole *console = GIMP_ERROR_CONSOLE (data);
@ -52,7 +52,7 @@ error_console_save_all_cmd_callback (GtkWidget *widget,
}
void
error_console_save_selection_cmd_callback (GtkWidget *widget,
error_console_save_selection_cmd_callback (GtkAction *action,
gpointer data)
{
GimpErrorConsole *console = GIMP_ERROR_CONSOLE (data);

View File

@ -20,11 +20,11 @@
#define __ERROR_CONSOLE_COMMANDS_H__
void error_console_clear_cmd_callback (GtkWidget *widget,
void error_console_clear_cmd_callback (GtkAction *action,
gpointer data);
void error_console_save_all_cmd_callback (GtkWidget *widget,
void error_console_save_all_cmd_callback (GtkAction *action,
gpointer data);
void error_console_save_selection_cmd_callback (GtkWidget *widget,
void error_console_save_selection_cmd_callback (GtkAction *action,
gpointer data);

View File

@ -74,7 +74,6 @@
if (! gimp) \
return
#define return_if_no_display(gdisp,data) \
if (GIMP_IS_DISPLAY (data)) \
gdisp = data; \
@ -87,6 +86,18 @@
if (! gdisp) \
return
#define return_if_no_widget(widget,data) \
if (GIMP_IS_DISPLAY (data)) \
widget = ((GimpDisplay *) data)->shell; \
else if (GIMP_IS_GIMP (data)) \
widget = dialogs_get_toolbox (); \
else if (GIMP_IS_DOCK (data)) \
widget = data; \
else \
widget = NULL; \
if (! widget) \
return
/* local function prototypes */
@ -101,17 +112,18 @@ static void file_revert_confirm_callback (GtkWidget *widget,
/* public functions */
void
file_new_cmd_callback (GtkWidget *widget,
gpointer data,
guint action)
file_new_cmd_callback (GtkAction *action,
gpointer data)
{
Gimp *gimp;
GimpImage *gimage;
GtkWidget *widget;
GtkWidget *dialog;
return_if_no_gimp (gimp, data);
return_if_no_widget (widget, data);
/* if called from the image menu */
if (action)
if (GIMP_IS_DISPLAY (data))
gimage = gimp_context_get_image (gimp_get_user_context (gimp));
else
gimage = NULL;
@ -125,25 +137,26 @@ file_new_cmd_callback (GtkWidget *widget,
}
void
file_type_cmd_callback (GtkWidget *widget,
file_type_cmd_callback (GtkAction *action,
gpointer data)
{
gimp_file_dialog_set_file_proc (GIMP_FILE_DIALOG (data),
g_object_get_data (G_OBJECT (widget),
g_object_get_data (G_OBJECT (action),
"file-proc"));
}
void
file_open_cmd_callback (GtkWidget *widget,
gpointer data,
guint action)
file_open_cmd_callback (GtkAction *action,
gpointer data)
{
Gimp *gimp;
GimpImage *gimage;
GtkWidget *widget;
return_if_no_gimp (gimp, data);
return_if_no_widget (widget, data);
/* if called from the image menu */
if (action)
if (GIMP_IS_DISPLAY (data))
gimage = gimp_context_get_image (gimp_get_user_context (gimp));
else
gimage = NULL;
@ -152,22 +165,22 @@ file_open_cmd_callback (GtkWidget *widget,
}
void
file_last_opened_cmd_callback (GtkWidget *widget,
gpointer data,
guint action)
file_last_opened_cmd_callback (GtkAction *action,
gint value,
gpointer data)
{
Gimp *gimp;
GimpImagefile *imagefile;
guint num_entries;
gint num_entries;
return_if_no_gimp (gimp, data);
num_entries = gimp_container_num_children (gimp->documents);
if (action >= num_entries)
if (value >= num_entries)
return;
imagefile = (GimpImagefile *)
gimp_container_get_child_by_index (gimp->documents, action);
gimp_container_get_child_by_index (gimp->documents, value);
if (imagefile)
{
@ -196,7 +209,7 @@ file_last_opened_cmd_callback (GtkWidget *widget,
}
void
file_save_cmd_callback (GtkWidget *widget,
file_save_cmd_callback (GtkAction *action,
gpointer data)
{
GimpDisplay *gdisp;
@ -214,7 +227,7 @@ file_save_cmd_callback (GtkWidget *widget,
if (! uri)
{
file_save_as_cmd_callback (widget, data);
file_save_as_cmd_callback (action, data);
}
else
{
@ -243,27 +256,28 @@ file_save_cmd_callback (GtkWidget *widget,
}
void
file_save_as_cmd_callback (GtkWidget *widget,
file_save_as_cmd_callback (GtkAction *action,
gpointer data)
{
GimpDisplay *gdisp;
return_if_no_display (gdisp, data);
file_save_dialog_show (gdisp->gimage, global_menu_factory, widget);
file_save_dialog_show (gdisp->gimage, global_menu_factory, gdisp->shell);
}
void
file_save_a_copy_cmd_callback (GtkWidget *widget,
file_save_a_copy_cmd_callback (GtkAction *action,
gpointer data)
{
GimpDisplay *gdisp;
return_if_no_display (gdisp, data);
file_save_a_copy_dialog_show (gdisp->gimage, global_menu_factory, widget);
file_save_a_copy_dialog_show (gdisp->gimage, global_menu_factory,
gdisp->shell);
}
void
file_save_template_cmd_callback (GtkWidget *widget,
file_save_template_cmd_callback (GtkAction *action,
gpointer data)
{
GimpDisplay *gdisp;
@ -282,7 +296,7 @@ file_save_template_cmd_callback (GtkWidget *widget,
}
void
file_revert_cmd_callback (GtkWidget *widget,
file_revert_cmd_callback (GtkAction *action,
gpointer data)
{
GimpDisplay *gdisp;
@ -342,7 +356,7 @@ file_revert_cmd_callback (GtkWidget *widget,
}
void
file_close_cmd_callback (GtkWidget *widget,
file_close_cmd_callback (GtkAction *action,
gpointer data)
{
GimpDisplay *gdisp;
@ -352,7 +366,7 @@ file_close_cmd_callback (GtkWidget *widget,
}
void
file_quit_cmd_callback (GtkWidget *widget,
file_quit_cmd_callback (GtkAction *action,
gpointer data)
{
Gimp *gimp;
@ -400,9 +414,7 @@ file_revert_confirm_callback (GtkWidget *widget,
gboolean revert,
gpointer data)
{
GimpImage *old_gimage;
old_gimage = (GimpImage *) data;
GimpImage *old_gimage = GIMP_IMAGE (data);
g_object_set_data (G_OBJECT (old_gimage), REVERT_DATA_KEY, NULL);

View File

@ -20,34 +20,32 @@
#define __FILE_COMMANDS_H__
void file_new_cmd_callback (GtkWidget *widget,
gpointer data,
guint action);
void file_type_cmd_callback (GtkWidget *widget,
void file_new_cmd_callback (GtkAction *action,
gpointer data);
void file_open_cmd_callback (GtkWidget *widget,
gpointer data,
guint action);
void file_last_opened_cmd_callback (GtkWidget *widget,
gpointer data,
guint action);
void file_save_cmd_callback (GtkWidget *widget,
gpointer data);
void file_save_as_cmd_callback (GtkWidget *widget,
gpointer data);
void file_save_a_copy_cmd_callback (GtkWidget *widget,
gpointer data);
void file_save_template_cmd_callback (GtkWidget *widget,
void file_type_cmd_callback (GtkAction *action,
gpointer data);
void file_revert_cmd_callback (GtkWidget *widget,
void file_open_cmd_callback (GtkAction *action,
gpointer data);
void file_close_cmd_callback (GtkWidget *widget,
void file_last_opened_cmd_callback (GtkAction *action,
gint value,
gpointer data);
void file_quit_cmd_callback (GtkWidget *widget,
void file_save_cmd_callback (GtkAction *action,
gpointer data);
void file_save_as_cmd_callback (GtkAction *action,
gpointer data);
void file_save_a_copy_cmd_callback (GtkAction *action,
gpointer data);
void file_save_template_cmd_callback (GtkAction *action,
gpointer data);
void file_revert_cmd_callback (GtkAction *action,
gpointer data);
void file_close_cmd_callback (GtkAction *action,
gpointer data);
void file_quit_cmd_callback (GtkAction *action,
gpointer data);
void file_file_open_dialog (Gimp *gimp,

View File

@ -32,7 +32,7 @@
/* public functionss */
void
fonts_refresh_cmd_callback (GtkWidget *widget,
fonts_refresh_cmd_callback (GtkAction *action,
gpointer data)
{
GimpFontView *view = GIMP_FONT_VIEW (data);

View File

@ -20,7 +20,7 @@
#define __FONTS_COMMANDS_H__
void fonts_refresh_cmd_callback (GtkWidget *widget,
void fonts_refresh_cmd_callback (GtkAction *action,
gpointer data);

View File

@ -44,34 +44,23 @@ static GimpActionEntry gradient_editor_actions[] =
{
{ "gradient-editor-popup", GIMP_STOCK_GRADIENT, N_("Gradient Editor Menu") },
{ "gradient-editor-load-left-color", NULL, N_("_Load Left Color From") },
{ "gradient-editor-save-left-color", NULL, N_("_Save Left Color To") },
{ "gradient-editor-load-right-color", NULL, N_("Load Right Color Fr_om") },
{ "gradient-editor-save-right-color", NULL, N_("Sa_ve Right Color To") },
{ "gradient-editor-blending-func", NULL, "blending-function" },
{ "gradient-editor-coloring-type", NULL, "coloring-type" },
{ "gradient-editor-left-color", NULL,
N_("L_eft Endpoint's Color..."), NULL, NULL,
G_CALLBACK (gradient_editor_left_color_cmd_callback),
GIMP_HELP_GRADIENT_EDITOR_LEFT_COLOR },
{ "gradient-editor-load-left-color", NULL,
N_("_Load Left Color From") },
{ "gradient-editor-save-left-color", NULL,
N_("/_Save Left Color To") },
{ "gradient-editor-right-color", NULL,
N_("R_ight Endpoint's Color..."), NULL, NULL,
G_CALLBACK (gradient_editor_right_color_cmd_callback),
GIMP_HELP_GRADIENT_EDITOR_RIGHT_COLOR },
{ "gradient-editor-load-right-color", NULL,
N_("Load Right Color Fr_om") },
{ "gradient-editor-save-right-color", NULL,
N_("Sa_ve Right Color To") },
{ "gradient-editor-blending-func", NULL,
"blending-function" },
{ "gradient-editor-coloring-type", NULL,
"coloring-type" },
{ "gradient-editor-flip", NULL,
"flip", "F", NULL,
G_CALLBACK (gradient_editor_flip_cmd_callback),
@ -489,7 +478,8 @@ gradient_editor_actions_update (GimpActionGroup *group,
_("_Delete Segment"));
SET_LABEL ("gradient-editor-recenter",
_("Re-_center Segment's Midpoint"));
SET_LABEL ("/redistribute", _("Re-distribute _Handles in Segment"));
SET_LABEL ("gradient-editor-redistribute",
_("Re-distribute _Handles in Segment"));
}
else
{

View File

@ -68,7 +68,7 @@ static void gradient_editor_replicate_response (GtkWidget *widge
/* public functionss */
void
gradient_editor_left_color_cmd_callback (GtkWidget *widget,
gradient_editor_left_color_cmd_callback (GtkAction *action,
gpointer data)
{
GimpGradientEditor *editor;
@ -97,26 +97,21 @@ gradient_editor_left_color_cmd_callback (GtkWidget *widget,
}
void
gradient_editor_load_left_cmd_callback (GtkWidget *widget,
gpointer data,
guint action)
gradient_editor_load_left_cmd_callback (GtkAction *action,
gint value,
gpointer data)
{
GimpGradientEditor *editor;
GimpGradientEditor *editor = GIMP_GRADIENT_EDITOR (data);
GimpGradient *gradient;
GimpContext *user_context;
GimpGradientSegment *seg;
GimpRGB color;
gint i;
editor = GIMP_GRADIENT_EDITOR (data);
gradient = GIMP_GRADIENT (GIMP_DATA_EDITOR (editor)->data);
user_context = gimp_get_user_context (GIMP_DATA_EDITOR (editor)->data_factory->gimp);
i = (gint) action;
switch (i)
switch (value)
{
case 0: /* Fetch from left neighbor's right endpoint */
if (editor->control_sel_l->prev != NULL)
@ -162,7 +157,7 @@ gradient_editor_load_left_cmd_callback (GtkWidget *widget,
default: /* Load a color */
gimp_gradient_segments_blend_endpoints (editor->control_sel_l,
editor->control_sel_r,
&editor->saved_colors[i - 4],
&editor->saved_colors[value - 4],
&editor->control_sel_r->right_color,
TRUE, TRUE);
break;
@ -172,26 +167,22 @@ gradient_editor_load_left_cmd_callback (GtkWidget *widget,
}
void
gradient_editor_save_left_cmd_callback (GtkWidget *widget,
gpointer data,
guint action)
gradient_editor_save_left_cmd_callback (GtkAction *action,
gint value,
gpointer data)
{
GimpGradientEditor *editor;
GimpGradientEditor *editor = GIMP_GRADIENT_EDITOR (data);
editor = GIMP_GRADIENT_EDITOR (data);
editor->saved_colors[action] = editor->control_sel_l->left_color;
editor->saved_colors[value] = editor->control_sel_l->left_color;
}
void
gradient_editor_right_color_cmd_callback (GtkWidget *widget,
gradient_editor_right_color_cmd_callback (GtkAction *action,
gpointer data)
{
GimpGradientEditor *editor;
GimpGradientEditor *editor = GIMP_GRADIENT_EDITOR (data);
GimpGradient *gradient;
editor = GIMP_GRADIENT_EDITOR (data);
gradient = GIMP_GRADIENT (GIMP_DATA_EDITOR (editor)->data);
editor->right_saved_dirty = GIMP_DATA (gradient)->dirty;
@ -213,26 +204,21 @@ gradient_editor_right_color_cmd_callback (GtkWidget *widget,
}
void
gradient_editor_load_right_cmd_callback (GtkWidget *widget,
gpointer data,
guint action)
gradient_editor_load_right_cmd_callback (GtkAction *action,
gint value,
gpointer data)
{
GimpGradientEditor *editor;
GimpGradientEditor *editor = GIMP_GRADIENT_EDITOR (data);
GimpGradient *gradient;
GimpContext *user_context;
GimpGradientSegment *seg;
GimpRGB color;
gint i;
editor = GIMP_GRADIENT_EDITOR (data);
gradient = GIMP_GRADIENT (GIMP_DATA_EDITOR (editor)->data);
user_context = gimp_get_user_context (GIMP_DATA_EDITOR (editor)->data_factory->gimp);
i = (gint) action;
switch (i)
switch (value)
{
case 0: /* Fetch from right neighbor's left endpoint */
if (editor->control_sel_r->next != NULL)
@ -279,7 +265,7 @@ gradient_editor_load_right_cmd_callback (GtkWidget *widget,
gimp_gradient_segments_blend_endpoints (editor->control_sel_l,
editor->control_sel_r,
&editor->control_sel_l->left_color,
&editor->saved_colors[i - 4],
&editor->saved_colors[value - 4],
TRUE, TRUE);
break;
}
@ -288,35 +274,29 @@ gradient_editor_load_right_cmd_callback (GtkWidget *widget,
}
void
gradient_editor_save_right_cmd_callback (GtkWidget *widget,
gpointer data,
guint action)
gradient_editor_save_right_cmd_callback (GtkAction *action,
gint value,
gpointer data)
{
GimpGradientEditor *editor;
GimpGradientEditor *editor = GIMP_GRADIENT_EDITOR (data);
editor = GIMP_GRADIENT_EDITOR (data);
editor->saved_colors[action] = editor->control_sel_l->left_color;
editor->saved_colors[value] = editor->control_sel_l->left_color;
}
void
gradient_editor_blending_func_cmd_callback (GtkWidget *widget,
gpointer data,
guint action)
gradient_editor_blending_func_cmd_callback (GtkAction *action,
GtkAction *current,
gpointer data)
{
GimpGradientEditor *editor;
GimpGradientEditor *editor = GIMP_GRADIENT_EDITOR (data);
GimpGradient *gradient;
GimpGradientSegmentType type;
GimpGradientSegment *seg, *aseg;
if (! GTK_CHECK_MENU_ITEM (widget)->active)
return;
editor = GIMP_GRADIENT_EDITOR (data);
gradient = GIMP_GRADIENT (GIMP_DATA_EDITOR (editor)->data);
type = (GimpGradientSegmentType) action;
type = (GimpGradientSegmentType)
gtk_radio_action_get_current_value (GTK_RADIO_ACTION (action));
seg = editor->control_sel_l;
@ -333,23 +313,19 @@ gradient_editor_blending_func_cmd_callback (GtkWidget *widget,
}
void
gradient_editor_coloring_type_cmd_callback (GtkWidget *widget,
gpointer data,
guint action)
gradient_editor_coloring_type_cmd_callback (GtkAction *action,
GtkAction *current,
gpointer data)
{
GimpGradientEditor *editor;
GimpGradientEditor *editor = GIMP_GRADIENT_EDITOR (data);
GimpGradient *gradient;
GimpGradientSegmentColor color;
GimpGradientSegment *seg, *aseg;
if (! GTK_CHECK_MENU_ITEM (widget)->active)
return;
editor = GIMP_GRADIENT_EDITOR (data);
gradient = GIMP_GRADIENT (GIMP_DATA_EDITOR (editor)->data);
color = (GimpGradientSegmentColor) action;
color = (GimpGradientSegmentColor)
gtk_radio_action_get_current_value (GTK_RADIO_ACTION (action));
seg = editor->control_sel_l;
@ -366,18 +342,16 @@ gradient_editor_coloring_type_cmd_callback (GtkWidget *widget,
}
void
gradient_editor_flip_cmd_callback (GtkWidget *widget,
gradient_editor_flip_cmd_callback (GtkAction *action,
gpointer data)
{
GimpGradientEditor *editor;
GimpGradientEditor *editor = GIMP_GRADIENT_EDITOR (data);
GimpGradient *gradient;
GimpGradientSegment *oseg, *oaseg;
GimpGradientSegment *seg, *prev, *tmp;
GimpGradientSegment *lseg, *rseg;
gdouble left, right;
editor = GIMP_GRADIENT_EDITOR (data);
gradient = GIMP_GRADIENT (GIMP_DATA_EDITOR (editor)->data);
left = editor->control_sel_l->left;
@ -492,10 +466,10 @@ gradient_editor_flip_cmd_callback (GtkWidget *widget,
}
void
gradient_editor_replicate_cmd_callback (GtkWidget *widget,
gradient_editor_replicate_cmd_callback (GtkAction *action,
gpointer data)
{
GimpGradientEditor *editor;
GimpGradientEditor *editor = GIMP_GRADIENT_EDITOR (data);
GtkWidget *dialog;
GtkWidget *vbox;
GtkWidget *label;
@ -504,8 +478,6 @@ gradient_editor_replicate_cmd_callback (GtkWidget *widget,
const gchar *title;
const gchar *desc;
editor = GIMP_GRADIENT_EDITOR (data);
if (editor->control_sel_l == editor->control_sel_r)
{
title = _("Replicate Segment");
@ -569,15 +541,13 @@ gradient_editor_replicate_cmd_callback (GtkWidget *widget,
}
void
gradient_editor_split_midpoint_cmd_callback (GtkWidget *widget,
gradient_editor_split_midpoint_cmd_callback (GtkAction *action,
gpointer data)
{
GimpGradientEditor *editor;
GimpGradientEditor *editor = GIMP_GRADIENT_EDITOR (data);
GimpGradient *gradient;
GimpGradientSegment *seg, *lseg, *rseg;
editor = GIMP_GRADIENT_EDITOR (data);
gradient = GIMP_GRADIENT (GIMP_DATA_EDITOR (editor)->data);
seg = editor->control_sel_l;
@ -596,10 +566,10 @@ gradient_editor_split_midpoint_cmd_callback (GtkWidget *widget,
}
void
gradient_editor_split_uniformly_cmd_callback (GtkWidget *widget,
gradient_editor_split_uniformly_cmd_callback (GtkAction *action,
gpointer data)
{
GimpGradientEditor *editor;
GimpGradientEditor *editor = GIMP_GRADIENT_EDITOR (data);
GtkWidget *dialog;
GtkWidget *vbox;
GtkWidget *label;
@ -608,8 +578,6 @@ gradient_editor_split_uniformly_cmd_callback (GtkWidget *widget,
const gchar *title;
const gchar *desc;
editor = GIMP_GRADIENT_EDITOR (data);
if (editor->control_sel_l == editor->control_sel_r)
{
title = _("Split Segment Uniformly");
@ -675,16 +643,14 @@ gradient_editor_split_uniformly_cmd_callback (GtkWidget *widget,
}
void
gradient_editor_delete_cmd_callback (GtkWidget *widget,
gradient_editor_delete_cmd_callback (GtkAction *action,
gpointer data)
{
GimpGradientEditor *editor;
GimpGradientEditor *editor = GIMP_GRADIENT_EDITOR (data);
GimpGradient *gradient;
GimpGradientSegment *lseg, *rseg, *seg, *aseg, *next;
gdouble join;
editor = GIMP_GRADIENT_EDITOR (data);
gradient = GIMP_GRADIENT (GIMP_DATA_EDITOR (editor)->data);
/* Remember segments to the left and to the right of the selection */
@ -761,15 +727,13 @@ gradient_editor_delete_cmd_callback (GtkWidget *widget,
}
void
gradient_editor_recenter_cmd_callback (GtkWidget *widget,
gradient_editor_recenter_cmd_callback (GtkAction *action,
gpointer data)
{
GimpGradientEditor *editor;
GimpGradientEditor *editor = GIMP_GRADIENT_EDITOR (data);
GimpGradient *gradient;
GimpGradientSegment *seg, *aseg;
editor = GIMP_GRADIENT_EDITOR (data);
gradient = GIMP_GRADIENT (GIMP_DATA_EDITOR (editor)->data);
seg = editor->control_sel_l;
@ -788,18 +752,16 @@ gradient_editor_recenter_cmd_callback (GtkWidget *widget,
}
void
gradient_editor_redistribute_cmd_callback (GtkWidget *widget,
gradient_editor_redistribute_cmd_callback (GtkAction *action,
gpointer data)
{
GimpGradientEditor *editor;
GimpGradientEditor *editor = GIMP_GRADIENT_EDITOR (data);
GimpGradient *gradient;
GimpGradientSegment *seg, *aseg;
gdouble left, right, seg_len;
gint num_segs;
gint i;
editor = GIMP_GRADIENT_EDITOR (data);
gradient = GIMP_GRADIENT (GIMP_DATA_EDITOR (editor)->data);
/* Count number of segments in selection */
@ -846,12 +808,10 @@ gradient_editor_redistribute_cmd_callback (GtkWidget *widget,
}
void
gradient_editor_blend_color_cmd_callback (GtkWidget *widget,
gradient_editor_blend_color_cmd_callback (GtkAction *action,
gpointer data)
{
GimpGradientEditor *editor;
editor = GIMP_GRADIENT_EDITOR (data);
GimpGradientEditor *editor = GIMP_GRADIENT_EDITOR (data);
gimp_gradient_segments_blend_endpoints (editor->control_sel_l,
editor->control_sel_r,
@ -863,12 +823,10 @@ gradient_editor_blend_color_cmd_callback (GtkWidget *widget,
}
void
gradient_editor_blend_opacity_cmd_callback (GtkWidget *widget,
gradient_editor_blend_opacity_cmd_callback (GtkAction *action,
gpointer data)
{
GimpGradientEditor *editor;
editor = GIMP_GRADIENT_EDITOR (data);
GimpGradientEditor *editor = GIMP_GRADIENT_EDITOR (data);
gimp_gradient_segments_blend_endpoints (editor->control_sel_l,
editor->control_sel_r,

View File

@ -20,49 +20,49 @@
#define __GRADIENT_EDITOR_COMMANDS_H__
void gradient_editor_left_color_cmd_callback (GtkWidget *widget,
void gradient_editor_left_color_cmd_callback (GtkAction *action,
gpointer data);
void gradient_editor_load_left_cmd_callback (GtkWidget *widget,
gpointer data,
guint action);
void gradient_editor_save_left_cmd_callback (GtkWidget *widget,
gpointer data,
guint action);
void gradient_editor_right_color_cmd_callback (GtkWidget *widget,
void gradient_editor_load_left_cmd_callback (GtkAction *action,
gint value,
gpointer data);
void gradient_editor_load_right_cmd_callback (GtkWidget *widget,
gpointer data,
guint action);
void gradient_editor_save_right_cmd_callback (GtkWidget *widget,
gpointer data,
guint action);
void gradient_editor_blending_func_cmd_callback (GtkWidget *widget,
gpointer data,
guint action);
void gradient_editor_coloring_type_cmd_callback (GtkWidget *widget,
gpointer data,
guint action);
void gradient_editor_flip_cmd_callback (GtkWidget *widget,
gpointer data);
void gradient_editor_replicate_cmd_callback (GtkWidget *widget,
gpointer data);
void gradient_editor_split_midpoint_cmd_callback (GtkWidget *widget,
gpointer data);
void gradient_editor_split_uniformly_cmd_callback (GtkWidget *widget,
gpointer data);
void gradient_editor_delete_cmd_callback (GtkWidget *widget,
gpointer data);
void gradient_editor_recenter_cmd_callback (GtkWidget *widget,
gpointer data);
void gradient_editor_redistribute_cmd_callback (GtkWidget *widget,
void gradient_editor_save_left_cmd_callback (GtkAction *action,
gint value,
gpointer data);
void gradient_editor_blend_color_cmd_callback (GtkWidget *widget,
void gradient_editor_right_color_cmd_callback (GtkAction *action,
gpointer data);
void gradient_editor_blend_opacity_cmd_callback (GtkWidget *widget,
void gradient_editor_load_right_cmd_callback (GtkAction *action,
gint value,
gpointer data);
void gradient_editor_save_right_cmd_callback (GtkAction *action,
gint value,
gpointer data);
void gradient_editor_blending_func_cmd_callback (GtkAction *action,
GtkAction *current,
gpointer data);
void gradient_editor_coloring_type_cmd_callback (GtkAction *action,
GtkAction *current,
gpointer data);
void gradient_editor_flip_cmd_callback (GtkAction *action,
gpointer data);
void gradient_editor_replicate_cmd_callback (GtkAction *action,
gpointer data);
void gradient_editor_split_midpoint_cmd_callback (GtkAction *action,
gpointer data);
void gradient_editor_split_uniformly_cmd_callback (GtkAction *action,
gpointer data);
void gradient_editor_delete_cmd_callback (GtkAction *action,
gpointer data);
void gradient_editor_recenter_cmd_callback (GtkAction *action,
gpointer data);
void gradient_editor_redistribute_cmd_callback (GtkAction *action,
gpointer data);
void gradient_editor_blend_color_cmd_callback (GtkAction *action,
gpointer data);
void gradient_editor_blend_opacity_cmd_callback (GtkAction *action,
gpointer data);

View File

@ -47,7 +47,7 @@ static void gradients_save_as_pov_response (GtkWidget *dialog,
/* public functions */
void
gradients_save_as_pov_ray_cmd_callback (GtkWidget *widget,
gradients_save_as_pov_ray_cmd_callback (GtkAction *action,
gpointer data)
{
GimpContainerEditor *editor = GIMP_CONTAINER_EDITOR (data);

View File

@ -20,7 +20,7 @@
#define __GRADIENTS_COMMANDS_H__
void gradients_save_as_pov_ray_cmd_callback (GtkWidget *widget,
void gradients_save_as_pov_ray_cmd_callback (GtkAction *action,
gpointer data);

View File

@ -35,8 +35,7 @@
static GimpActionEntry help_actions[] =
{
{ "help-menu", NULL,
N_("/_Help") },
{ "help-menu", NULL, N_("_Help") },
{ "help-help", GTK_STOCK_HELP,
N_("_Help"), "F1", NULL,

View File

@ -24,19 +24,37 @@
#include "actions-types.h"
#include "core/gimp.h"
#include "widgets/gimpdock.h"
#include "display/gimpdisplay.h"
#include "gui/dialogs.h"
#include "help-commands.h"
void
help_help_cmd_callback (GtkWidget *widget,
help_help_cmd_callback (GtkAction *action,
gpointer data)
{
gimp_standard_help_func (NULL, NULL);
}
void
help_context_help_cmd_callback (GtkWidget *widget,
help_context_help_cmd_callback (GtkAction *action,
gpointer data)
{
GtkWidget *widget = NULL;
if (GIMP_IS_GIMP (data))
widget = dialogs_get_toolbox ();
else if (GIMP_IS_DISPLAY (data))
widget = GIMP_DISPLAY (data)->shell;
else if (GIMP_IS_DOCK (data))
widget = data;
if (widget)
gimp_context_help (widget);
}

View File

@ -20,9 +20,9 @@
#define __HELP_COMMANDS_H__
void help_help_cmd_callback (GtkWidget *widget,
void help_help_cmd_callback (GtkAction *action,
gpointer data);
void help_context_help_cmd_callback (GtkWidget *widget,
void help_context_help_cmd_callback (GtkAction *action,
gpointer data);

View File

@ -110,7 +110,7 @@ static void image_scale_implement (ImageResize *image_scale);
/* public functions */
void
image_convert_rgb_cmd_callback (GtkWidget *widget,
image_convert_rgb_cmd_callback (GtkAction *action,
gpointer data)
{
GimpImage *gimage;
@ -121,7 +121,7 @@ image_convert_rgb_cmd_callback (GtkWidget *widget,
}
void
image_convert_grayscale_cmd_callback (GtkWidget *widget,
image_convert_grayscale_cmd_callback (GtkAction *action,
gpointer data)
{
GimpImage *gimage;
@ -132,19 +132,19 @@ image_convert_grayscale_cmd_callback (GtkWidget *widget,
}
void
image_convert_indexed_cmd_callback (GtkWidget *widget,
image_convert_indexed_cmd_callback (GtkAction *action,
gpointer data)
{
GimpImage *gimage;
GimpDisplay *gdisp;
GtkWidget *dialog;
return_if_no_image (gimage, data);
return_if_no_display (gdisp, data);
dialog = convert_dialog_new (gimage, widget);
dialog = convert_dialog_new (gdisp->gimage, gdisp->shell);
gtk_widget_show (dialog);
}
void
image_resize_cmd_callback (GtkWidget *widget,
image_resize_cmd_callback (GtkAction *action,
gpointer data)
{
GimpDisplay *gdisp;
@ -184,7 +184,7 @@ image_resize_cmd_callback (GtkWidget *widget,
}
void
image_scale_cmd_callback (GtkWidget *widget,
image_scale_cmd_callback (GtkAction *action,
gpointer data)
{
GimpDisplay *gdisp;
@ -224,9 +224,9 @@ image_scale_cmd_callback (GtkWidget *widget,
}
void
image_flip_cmd_callback (GtkWidget *widget,
gpointer data,
guint action)
image_flip_cmd_callback (GtkAction *action,
gint value,
gpointer data)
{
GimpDisplay *gdisp;
GimpProgress *progress;
@ -235,7 +235,7 @@ image_flip_cmd_callback (GtkWidget *widget,
progress = gimp_progress_start (gdisp, _("Flipping..."), TRUE, NULL, NULL);
gimp_image_flip (gdisp->gimage, gimp_get_user_context (gdisp->gimage->gimp),
(GimpOrientationType) action,
(GimpOrientationType) value,
gimp_progress_update_and_flush, progress);
gimp_progress_end (progress);
@ -244,9 +244,9 @@ image_flip_cmd_callback (GtkWidget *widget,
}
void
image_rotate_cmd_callback (GtkWidget *widget,
gpointer data,
guint action)
image_rotate_cmd_callback (GtkAction *action,
gint value,
gpointer data)
{
GimpDisplay *gdisp;
GimpProgress *progress;
@ -255,7 +255,7 @@ image_rotate_cmd_callback (GtkWidget *widget,
progress = gimp_progress_start (gdisp, _("Rotating..."), TRUE, NULL, NULL);
gimp_image_rotate (gdisp->gimage, gimp_get_user_context (gdisp->gimage->gimp),
(GimpRotationType) action,
(GimpRotationType) value,
gimp_progress_update_and_flush, progress);
gimp_progress_end (progress);
@ -264,7 +264,7 @@ image_rotate_cmd_callback (GtkWidget *widget,
}
void
image_crop_cmd_callback (GtkWidget *widget,
image_crop_cmd_callback (GtkAction *action,
gpointer data)
{
GimpDisplay *gdisp;
@ -284,7 +284,7 @@ image_crop_cmd_callback (GtkWidget *widget,
}
void
image_duplicate_cmd_callback (GtkWidget *widget,
image_duplicate_cmd_callback (GtkAction *action,
gpointer data)
{
GimpImage *gimage;
@ -299,17 +299,17 @@ image_duplicate_cmd_callback (GtkWidget *widget,
}
void
image_merge_layers_cmd_callback (GtkWidget *widget,
image_merge_layers_cmd_callback (GtkAction *action,
gpointer data)
{
GimpImage *gimage;
return_if_no_image (gimage, data);
GimpDisplay *gdisp;
return_if_no_display (gdisp, data);
image_layers_merge_query (gimage, TRUE, widget);
image_layers_merge_query (gdisp->gimage, TRUE, gdisp->shell);
}
void
image_flatten_image_cmd_callback (GtkWidget *widget,
image_flatten_image_cmd_callback (GtkAction *action,
gpointer data)
{
GimpImage *gimage;
@ -320,7 +320,7 @@ image_flatten_image_cmd_callback (GtkWidget *widget,
}
void
image_configure_grid_cmd_callback (GtkWidget *widget,
image_configure_grid_cmd_callback (GtkAction *action,
gpointer data)
{
GimpDisplay *gdisp;
@ -329,14 +329,14 @@ image_configure_grid_cmd_callback (GtkWidget *widget,
return_if_no_display (gdisp, data);
shell = GIMP_DISPLAY_SHELL (gdisp->shell);
gimage = GIMP_IMAGE (gdisp->gimage);
gimage = gdisp->gimage;
if (! shell->grid_dialog)
{
shell->grid_dialog = grid_dialog_new (GIMP_IMAGE (gimage), widget);
shell->grid_dialog = grid_dialog_new (gdisp->gimage, gdisp->shell);
gtk_window_set_transient_for (GTK_WINDOW (shell->grid_dialog),
GTK_WINDOW (shell));
GTK_WINDOW (gdisp->shell));
gtk_window_set_destroy_with_parent (GTK_WINDOW (shell->grid_dialog),
TRUE);

View File

@ -20,39 +20,39 @@
#define __IMAGE_COMMANDS_H__
void image_convert_rgb_cmd_callback (GtkWidget *widget,
void image_convert_rgb_cmd_callback (GtkAction *action,
gpointer data);
void image_convert_grayscale_cmd_callback (GtkWidget *widget,
void image_convert_grayscale_cmd_callback (GtkAction *action,
gpointer data);
void image_convert_indexed_cmd_callback (GtkWidget *widget,
void image_convert_indexed_cmd_callback (GtkAction *action,
gpointer data);
void image_resize_cmd_callback (GtkWidget *widget,
void image_resize_cmd_callback (GtkAction *action,
gpointer data);
void image_scale_cmd_callback (GtkWidget *widget,
void image_scale_cmd_callback (GtkAction *action,
gpointer data);
void image_flip_cmd_callback (GtkWidget *widget,
gpointer data,
guint action);
void image_rotate_cmd_callback (GtkWidget *widget,
gpointer data,
guint action);
void image_crop_cmd_callback (GtkWidget *widget,
void image_flip_cmd_callback (GtkAction *action,
gint value,
gpointer data);
void image_rotate_cmd_callback (GtkAction *action,
gint value,
gpointer data);
void image_crop_cmd_callback (GtkAction *action,
gpointer data);
void image_duplicate_cmd_callback (GtkWidget *widget,
void image_duplicate_cmd_callback (GtkAction *action,
gpointer data);
void image_merge_layers_cmd_callback (GtkWidget *widet,
void image_merge_layers_cmd_callback (GtkAction *action,
gpointer data);
void image_flatten_image_cmd_callback (GtkWidget *widet,
void image_flatten_image_cmd_callback (GtkAction *action,
gpointer data);
void image_layers_merge_query (GimpImage *gimage,
gboolean merge_visible,
GtkWidget *parent);
void image_configure_grid_cmd_callback (GtkWidget *widget,
void image_configure_grid_cmd_callback (GtkAction *action,
gpointer data);
#endif /* __IMAGE_COMMANDS_H__ */

View File

@ -36,7 +36,7 @@
/* public functionss */
void
images_raise_views_cmd_callback (GtkWidget *widget,
images_raise_views_cmd_callback (GtkAction *action,
gpointer data)
{
GimpImageView *view = GIMP_IMAGE_VIEW (data);
@ -46,7 +46,7 @@ images_raise_views_cmd_callback (GtkWidget *widget,
}
void
images_new_view_cmd_callback (GtkWidget *widget,
images_new_view_cmd_callback (GtkAction *action,
gpointer data)
{
GimpImageView *view = GIMP_IMAGE_VIEW (data);
@ -56,7 +56,7 @@ images_new_view_cmd_callback (GtkWidget *widget,
}
void
images_delete_image_cmd_callback (GtkWidget *widget,
images_delete_image_cmd_callback (GtkAction *action,
gpointer data)
{
GimpImageView *view = GIMP_IMAGE_VIEW (data);

View File

@ -20,11 +20,11 @@
#define __IMAGES_COMMANDS_H__
void images_raise_views_cmd_callback (GtkWidget *widget,
void images_raise_views_cmd_callback (GtkAction *action,
gpointer data);
void images_new_view_cmd_callback (GtkWidget *widget,
void images_new_view_cmd_callback (GtkAction *action,
gpointer data);
void images_delete_image_cmd_callback (GtkWidget *widget,
void images_delete_image_cmd_callback (GtkAction *action,
gpointer data);
void images_raise_views (GimpImage *gimage);

View File

@ -58,6 +58,7 @@
#include "tools/gimptexttool.h"
#include "tools/tool_manager.h"
#include "gui/dialogs.h"
#include "gui/resize-dialog.h"
#include "layers-commands.h"
@ -99,11 +100,25 @@ static void layers_resize_layer_query (GimpImage *gimage,
if (! layer) \
return
#define return_if_no_widget(widget,data) \
if (GIMP_IS_DISPLAY (data)) \
widget = ((GimpDisplay *) data)->shell; \
else if (GIMP_IS_GIMP (data)) \
widget = dialogs_get_toolbox (); \
else if (GIMP_IS_DOCK (data)) \
widget = data; \
else if (GIMP_IS_ITEM_TREE_VIEW (data)) \
widget = data; \
else \
widget = NULL; \
if (! widget) \
return
/* public functions */
void
layers_select_previous_cmd_callback (GtkWidget *widget,
layers_select_previous_cmd_callback (GtkAction *action,
gpointer data)
{
GimpImage *gimage;
@ -128,7 +143,7 @@ layers_select_previous_cmd_callback (GtkWidget *widget,
}
void
layers_select_next_cmd_callback (GtkWidget *widget,
layers_select_next_cmd_callback (GtkAction *action,
gpointer data)
{
GimpImage *gimage;
@ -151,7 +166,7 @@ layers_select_next_cmd_callback (GtkWidget *widget,
}
void
layers_select_top_cmd_callback (GtkWidget *widget,
layers_select_top_cmd_callback (GtkAction *action,
gpointer data)
{
GimpImage *gimage;
@ -169,7 +184,7 @@ layers_select_top_cmd_callback (GtkWidget *widget,
}
void
layers_select_bottom_cmd_callback (GtkWidget *widget,
layers_select_bottom_cmd_callback (GtkAction *action,
gpointer data)
{
GimpImage *gimage;
@ -193,7 +208,7 @@ layers_select_bottom_cmd_callback (GtkWidget *widget,
}
void
layers_raise_cmd_callback (GtkWidget *widget,
layers_raise_cmd_callback (GtkAction *action,
gpointer data)
{
GimpImage *gimage;
@ -205,7 +220,7 @@ layers_raise_cmd_callback (GtkWidget *widget,
}
void
layers_lower_cmd_callback (GtkWidget *widget,
layers_lower_cmd_callback (GtkAction *action,
gpointer data)
{
GimpImage *gimage;
@ -217,7 +232,7 @@ layers_lower_cmd_callback (GtkWidget *widget,
}
void
layers_raise_to_top_cmd_callback (GtkWidget *widget,
layers_raise_to_top_cmd_callback (GtkAction *action,
gpointer data)
{
GimpImage *gimage;
@ -229,7 +244,7 @@ layers_raise_to_top_cmd_callback (GtkWidget *widget,
}
void
layers_lower_to_bottom_cmd_callback (GtkWidget *widget,
layers_lower_to_bottom_cmd_callback (GtkAction *action,
gpointer data)
{
GimpImage *gimage;
@ -241,17 +256,19 @@ layers_lower_to_bottom_cmd_callback (GtkWidget *widget,
}
void
layers_new_cmd_callback (GtkWidget *widget,
layers_new_cmd_callback (GtkAction *action,
gpointer data)
{
GimpImage *gimage;
GtkWidget *widget;
return_if_no_image (gimage, data);
return_if_no_widget (widget, data);
layers_new_layer_query (gimage, NULL, TRUE, widget);
}
void
layers_duplicate_cmd_callback (GtkWidget *widget,
layers_duplicate_cmd_callback (GtkAction *action,
gpointer data)
{
GimpImage *gimage;
@ -269,7 +286,7 @@ layers_duplicate_cmd_callback (GtkWidget *widget,
}
void
layers_anchor_cmd_callback (GtkWidget *widget,
layers_anchor_cmd_callback (GtkAction *action,
gpointer data)
{
GimpImage *gimage;
@ -284,7 +301,7 @@ layers_anchor_cmd_callback (GtkWidget *widget,
}
void
layers_merge_down_cmd_callback (GtkWidget *widget,
layers_merge_down_cmd_callback (GtkAction *action,
gpointer data)
{
GimpImage *gimage;
@ -298,7 +315,7 @@ layers_merge_down_cmd_callback (GtkWidget *widget,
}
void
layers_delete_cmd_callback (GtkWidget *widget,
layers_delete_cmd_callback (GtkAction *action,
gpointer data)
{
GimpImage *gimage;
@ -314,7 +331,7 @@ layers_delete_cmd_callback (GtkWidget *widget,
}
void
layers_text_discard_cmd_callback (GtkWidget *widet,
layers_text_discard_cmd_callback (GtkAction *action,
gpointer data)
{
GimpImage *gimage;
@ -326,18 +343,20 @@ layers_text_discard_cmd_callback (GtkWidget *widet,
}
void
layers_resize_cmd_callback (GtkWidget *widget,
layers_resize_cmd_callback (GtkAction *action,
gpointer data)
{
GimpImage *gimage;
GimpLayer *active_layer;
GtkWidget *widget;
return_if_no_layer (gimage, active_layer, data);
return_if_no_widget (widget, data);
layers_resize_layer_query (gimage, active_layer, widget);
}
void
layers_resize_to_image_cmd_callback (GtkWidget *widget,
layers_resize_to_image_cmd_callback (GtkAction *action,
gpointer data)
{
GimpImage *gimage;
@ -350,19 +369,21 @@ layers_resize_to_image_cmd_callback (GtkWidget *widget,
}
void
layers_scale_cmd_callback (GtkWidget *widget,
layers_scale_cmd_callback (GtkAction *action,
gpointer data)
{
GimpImage *gimage;
GimpLayer *active_layer;
GtkWidget *widget;
return_if_no_layer (gimage, active_layer, data);
return_if_no_widget (widget, data);
layers_scale_layer_query (GIMP_IS_DISPLAY (data) ? data : NULL,
gimage, active_layer, widget);
}
void
layers_crop_cmd_callback (GtkWidget *widget,
layers_crop_cmd_callback (GtkAction *action,
gpointer data)
{
GimpImage *gimage;
@ -396,18 +417,20 @@ layers_crop_cmd_callback (GtkWidget *widget,
}
void
layers_mask_add_cmd_callback (GtkWidget *widget,
layers_mask_add_cmd_callback (GtkAction *action,
gpointer data)
{
GimpImage *gimage;
GimpLayer *active_layer;
GtkWidget *widget;
return_if_no_layer (gimage, active_layer, data);
return_if_no_widget (widget, data);
layers_add_mask_query (active_layer, widget);
}
void
layers_mask_apply_cmd_callback (GtkWidget *widget,
layers_mask_apply_cmd_callback (GtkAction *action,
gpointer data)
{
GimpImage *gimage;
@ -422,7 +445,7 @@ layers_mask_apply_cmd_callback (GtkWidget *widget,
}
void
layers_mask_delete_cmd_callback (GtkWidget *widget,
layers_mask_delete_cmd_callback (GtkAction *action,
gpointer data)
{
GimpImage *gimage;
@ -437,9 +460,9 @@ layers_mask_delete_cmd_callback (GtkWidget *widget,
}
void
layers_mask_to_selection_cmd_callback (GtkWidget *widget,
gpointer data,
guint action)
layers_mask_to_selection_cmd_callback (GtkAction *action,
gint value,
gpointer data)
{
GimpChannelOps op;
GimpImage *gimage;
@ -447,7 +470,7 @@ layers_mask_to_selection_cmd_callback (GtkWidget *widget,
GimpLayerMask *mask;
return_if_no_layer (gimage, active_layer, data);
op = (GimpChannelOps) action;
op = (GimpChannelOps) value;
mask = gimp_layer_get_mask (active_layer);
@ -467,7 +490,7 @@ layers_mask_to_selection_cmd_callback (GtkWidget *widget,
}
void
layers_alpha_add_cmd_callback (GtkWidget *widget,
layers_alpha_add_cmd_callback (GtkAction *action,
gpointer data)
{
GimpImage *gimage;
@ -482,16 +505,16 @@ layers_alpha_add_cmd_callback (GtkWidget *widget,
}
void
layers_alpha_to_selection_cmd_callback (GtkWidget *widget,
gpointer data,
guint action)
layers_alpha_to_selection_cmd_callback (GtkAction *action,
gint value,
gpointer data)
{
GimpChannelOps op;
GimpImage *gimage;
GimpLayer *active_layer;
return_if_no_layer (gimage, active_layer, data);
op = (GimpChannelOps) action;
op = (GimpChannelOps) value;
gimp_channel_select_alpha (gimp_image_get_mask (gimage),
GIMP_DRAWABLE (active_layer),
@ -500,17 +523,19 @@ layers_alpha_to_selection_cmd_callback (GtkWidget *widget,
}
void
layers_merge_layers_cmd_callback (GtkWidget *widget,
layers_merge_layers_cmd_callback (GtkAction *action,
gpointer data)
{
GimpImage *gimage;
GtkWidget *widget;
return_if_no_image (gimage, data);
return_if_no_widget (widget, data);
image_layers_merge_query (gimage, TRUE, widget);
}
void
layers_flatten_image_cmd_callback (GtkWidget *widget,
layers_flatten_image_cmd_callback (GtkAction *action,
gpointer data)
{
GimpImage *gimage;
@ -521,23 +546,27 @@ layers_flatten_image_cmd_callback (GtkWidget *widget,
}
void
layers_text_tool_cmd_callback (GtkWidget *widget,
layers_text_tool_cmd_callback (GtkAction *action,
gpointer data)
{
GimpImage *gimage;
GimpLayer *active_layer;
GtkWidget *widget;
return_if_no_layer (gimage, active_layer, data);
return_if_no_widget (widget, data);
layers_text_tool (active_layer, widget);
}
void
layers_edit_attributes_cmd_callback (GtkWidget *widget,
layers_edit_attributes_cmd_callback (GtkAction *action,
gpointer data)
{
GimpImage *gimage;
GimpLayer *active_layer;
GtkWidget *widget;
return_if_no_layer (gimage, active_layer, data);
return_if_no_widget (widget, data);
layers_edit_layer_query (active_layer, widget);
}

View File

@ -20,70 +20,70 @@
#define __LAYERS_COMMANDS_H__
void layers_select_previous_cmd_callback (GtkWidget *widet,
void layers_select_previous_cmd_callback (GtkAction *action,
gpointer data);
void layers_select_next_cmd_callback (GtkWidget *widet,
void layers_select_next_cmd_callback (GtkAction *action,
gpointer data);
void layers_select_top_cmd_callback (GtkWidget *widet,
void layers_select_top_cmd_callback (GtkAction *action,
gpointer data);
void layers_select_bottom_cmd_callback (GtkWidget *widet,
void layers_select_bottom_cmd_callback (GtkAction *action,
gpointer data);
void layers_raise_cmd_callback (GtkWidget *widet,
void layers_raise_cmd_callback (GtkAction *action,
gpointer data);
void layers_lower_cmd_callback (GtkWidget *widet,
void layers_lower_cmd_callback (GtkAction *action,
gpointer data);
void layers_raise_to_top_cmd_callback (GtkWidget *widet,
void layers_raise_to_top_cmd_callback (GtkAction *action,
gpointer data);
void layers_lower_to_bottom_cmd_callback (GtkWidget *widet,
void layers_lower_to_bottom_cmd_callback (GtkAction *action,
gpointer data);
void layers_new_cmd_callback (GtkWidget *widet,
void layers_new_cmd_callback (GtkAction *action,
gpointer data);
void layers_duplicate_cmd_callback (GtkWidget *widet,
void layers_duplicate_cmd_callback (GtkAction *action,
gpointer data);
void layers_anchor_cmd_callback (GtkWidget *widet,
void layers_anchor_cmd_callback (GtkAction *action,
gpointer data);
void layers_merge_down_cmd_callback (GtkWidget *widet,
void layers_merge_down_cmd_callback (GtkAction *action,
gpointer data);
void layers_delete_cmd_callback (GtkWidget *widet,
void layers_delete_cmd_callback (GtkAction *action,
gpointer data);
void layers_text_discard_cmd_callback (GtkWidget *widet,
void layers_text_discard_cmd_callback (GtkAction *action,
gpointer data);
void layers_resize_cmd_callback (GtkWidget *widet,
void layers_resize_cmd_callback (GtkAction *action,
gpointer data);
void layers_resize_to_image_cmd_callback (GtkWidget *widet,
void layers_resize_to_image_cmd_callback (GtkAction *action,
gpointer data);
void layers_scale_cmd_callback (GtkWidget *widet,
void layers_scale_cmd_callback (GtkAction *action,
gpointer data);
void layers_crop_cmd_callback (GtkWidget *widet,
void layers_crop_cmd_callback (GtkAction *action,
gpointer data);
void layers_mask_add_cmd_callback (GtkWidget *widet,
void layers_mask_add_cmd_callback (GtkAction *action,
gpointer data);
void layers_mask_apply_cmd_callback (GtkWidget *widet,
void layers_mask_apply_cmd_callback (GtkAction *action,
gpointer data);
void layers_mask_delete_cmd_callback (GtkWidget *widet,
void layers_mask_delete_cmd_callback (GtkAction *action,
gpointer data);
void layers_mask_to_selection_cmd_callback (GtkWidget *widet,
gpointer data,
guint action);
void layers_alpha_add_cmd_callback (GtkWidget *widet,
gpointer data);
void layers_alpha_to_selection_cmd_callback (GtkWidget *widet,
gpointer data,
guint action);
void layers_merge_layers_cmd_callback (GtkWidget *widget,
gpointer data);
void layers_flatten_image_cmd_callback (GtkWidget *widget,
void layers_mask_to_selection_cmd_callback (GtkAction *action,
gint value,
gpointer data);
void layers_text_tool_cmd_callback (GtkWidget *widet,
void layers_alpha_add_cmd_callback (GtkAction *action,
gpointer data);
void layers_edit_attributes_cmd_callback (GtkWidget *widet,
void layers_alpha_to_selection_cmd_callback (GtkAction *action,
gint value,
gpointer data);
void layers_merge_layers_cmd_callback (GtkAction *action,
gpointer data);
void layers_flatten_image_cmd_callback (GtkAction *action,
gpointer data);
void layers_text_tool_cmd_callback (GtkAction *action,
gpointer data);
void layers_edit_attributes_cmd_callback (GtkAction *action,
gpointer data);
void layers_text_tool (GimpLayer *layer,

View File

@ -32,7 +32,7 @@
/* public functions */
void
palette_editor_edit_color_cmd_callback (GtkWidget *widget,
palette_editor_edit_color_cmd_callback (GtkAction *action,
gpointer data)
{
GimpPaletteEditor *editor = GIMP_PALETTE_EDITOR (data);
@ -42,7 +42,7 @@ palette_editor_edit_color_cmd_callback (GtkWidget *widget,
}
void
palette_editor_new_color_fg_cmd_callback (GtkWidget *widget,
palette_editor_new_color_fg_cmd_callback (GtkAction *action,
gpointer data)
{
GimpPaletteEditor *editor = GIMP_PALETTE_EDITOR (data);
@ -52,7 +52,7 @@ palette_editor_new_color_fg_cmd_callback (GtkWidget *widget,
}
void
palette_editor_new_color_bg_cmd_callback (GtkWidget *widget,
palette_editor_new_color_bg_cmd_callback (GtkAction *action,
gpointer data)
{
GimpPaletteEditor *editor = GIMP_PALETTE_EDITOR (data);
@ -63,7 +63,7 @@ palette_editor_new_color_bg_cmd_callback (GtkWidget *widget,
}
void
palette_editor_delete_color_cmd_callback (GtkWidget *widget,
palette_editor_delete_color_cmd_callback (GtkAction *action,
gpointer data)
{
GimpPaletteEditor *editor = GIMP_PALETTE_EDITOR (data);
@ -73,7 +73,7 @@ palette_editor_delete_color_cmd_callback (GtkWidget *widget,
}
void
palette_editor_zoom_in_cmd_callback (GtkWidget *widget,
palette_editor_zoom_in_cmd_callback (GtkAction *action,
gpointer data)
{
GimpPaletteEditor *editor = GIMP_PALETTE_EDITOR (data);
@ -83,7 +83,7 @@ palette_editor_zoom_in_cmd_callback (GtkWidget *widget,
}
void
palette_editor_zoom_out_cmd_callback (GtkWidget *widget,
palette_editor_zoom_out_cmd_callback (GtkAction *action,
gpointer data)
{
GimpPaletteEditor *editor = GIMP_PALETTE_EDITOR (data);
@ -93,7 +93,7 @@ palette_editor_zoom_out_cmd_callback (GtkWidget *widget,
}
void
palette_editor_zoom_all_cmd_callback (GtkWidget *widget,
palette_editor_zoom_all_cmd_callback (GtkAction *action,
gpointer data)
{
GimpPaletteEditor *editor = GIMP_PALETTE_EDITOR (data);

View File

@ -20,20 +20,20 @@
#define __PALETTE_EDITOR_COMMANDS_H__
void palette_editor_edit_color_cmd_callback (GtkWidget *widget,
void palette_editor_edit_color_cmd_callback (GtkAction *action,
gpointer data);
void palette_editor_new_color_fg_cmd_callback (GtkWidget *widget,
void palette_editor_new_color_fg_cmd_callback (GtkAction *action,
gpointer data);
void palette_editor_new_color_bg_cmd_callback (GtkWidget *widget,
void palette_editor_new_color_bg_cmd_callback (GtkAction *action,
gpointer data);
void palette_editor_delete_color_cmd_callback (GtkWidget *widget,
void palette_editor_delete_color_cmd_callback (GtkAction *action,
gpointer data);
void palette_editor_zoom_in_cmd_callback (GtkWidget *widget,
void palette_editor_zoom_in_cmd_callback (GtkAction *action,
gpointer data);
void palette_editor_zoom_out_cmd_callback (GtkWidget *widget,
void palette_editor_zoom_out_cmd_callback (GtkAction *action,
gpointer data);
void palette_editor_zoom_all_cmd_callback (GtkWidget *widget,
void palette_editor_zoom_all_cmd_callback (GtkAction *action,
gpointer data);

View File

@ -51,23 +51,19 @@ static void palettes_merge_palettes_callback (GtkWidget *widget,
/* public functionss */
void
palettes_import_palette_cmd_callback (GtkWidget *widget,
palettes_import_palette_cmd_callback (GtkAction *action,
gpointer data)
{
GimpContainerEditor *editor;
editor = GIMP_CONTAINER_EDITOR (data);
GimpContainerEditor *editor = GIMP_CONTAINER_EDITOR (data);
palette_import_dialog_show (editor->view->context->gimp);
}
void
palettes_merge_palettes_cmd_callback (GtkWidget *widget,
palettes_merge_palettes_cmd_callback (GtkAction *action,
gpointer data)
{
GimpContainerEditor *editor;
editor = GIMP_CONTAINER_EDITOR (data);
GimpContainerEditor *editor = GIMP_CONTAINER_EDITOR (data);
palettes_merge_palettes_query (editor);
}

View File

@ -20,9 +20,9 @@
#define __PALETTES_COMMANDS_H__
void palettes_import_palette_cmd_callback (GtkWidget *widget,
void palettes_import_palette_cmd_callback (GtkAction *action,
gpointer data);
void palettes_merge_palettes_cmd_callback (GtkWidget *widget,
void palettes_merge_palettes_cmd_callback (GtkAction *action,
gpointer data);

View File

@ -292,8 +292,10 @@ plug_in_actions_add_proc (GimpActionGroup *group,
label = p2 + 1;
#if 0
g_print ("adding plug-in action '%s' (%s)\n",
proc_def->db_info.name, label);
#endif
action = gimp_plug_in_action_new (proc_def->db_info.name,
label, NULL, NULL,
@ -335,8 +337,10 @@ plug_in_actions_remove_proc (GimpActionGroup *group,
if (action)
{
#if 0
g_print ("removing plug-in action '%s'\n",
proc_def->db_info.name);
#endif
gtk_action_group_remove_action (GTK_ACTION_GROUP (group), action);
}
@ -377,8 +381,10 @@ plug_in_actions_build_path (GimpActionGroup *group,
label = p2 + 1;
#if 0
g_print ("adding plug-in submenu '%s' (%s)\n",
path_original, label);
#endif
action = gtk_action_new (path_original, label, NULL, NULL);
gtk_action_group_add_action (GTK_ACTION_GROUP (group), action);

View File

@ -38,8 +38,6 @@
#include "display/gimpdisplay.h"
#include "gui/plug-in-menus.h"
#include "plug-in-commands.h"
@ -57,10 +55,10 @@
void
plug_in_run_cmd_callback (GtkWidget *widget,
plug_in_run_cmd_callback (GtkAction *action,
PlugInProcDef *proc_def,
gpointer data)
{
GtkItemFactory *item_factory;
Gimp *gimp;
ProcRecord *proc_rec;
Argument *args;
@ -69,11 +67,16 @@ plug_in_run_cmd_callback (GtkWidget *widget,
gint argc;
GimpImageType drawable_type = GIMP_RGB_IMAGE;
item_factory = gtk_item_factory_from_widget (widget);
if (GIMP_IS_DISPLAY (data))
gimp = ((GimpDisplay *) data)->gimage->gimp;
else if (GIMP_IS_GIMP (data))
gimp = data;
else if (GIMP_IS_DOCK (data))
gimp = ((GimpDock *) data)->context->gimp;
else
return;
gimp = GIMP_ITEM_FACTORY (item_factory)->gimp;
proc_rec = (ProcRecord *) data;
proc_rec = &proc_def->db_info;
/* construct the procedures arguments */
args = g_new0 (Argument, proc_rec->num_args);
@ -150,16 +153,19 @@ plug_in_run_cmd_callback (GtkWidget *widget,
proc_rec->args[2].arg_type == GIMP_PDB_DRAWABLE)
{
gimp->last_plug_in = proc_rec;
#if 0
FIXME
plug_in_menus_update (GIMP_ITEM_FACTORY (item_factory), drawable_type);
#endif
}
g_free (args);
}
void
plug_in_repeat_cmd_callback (GtkWidget *widget,
gpointer data,
guint action)
plug_in_repeat_cmd_callback (GtkAction *action,
gint value,
gpointer data)
{
GimpDisplay *gdisp;
GimpDrawable *drawable;
@ -171,7 +177,7 @@ plug_in_repeat_cmd_callback (GtkWidget *widget,
if (! drawable)
return;
interactive = action ? TRUE : FALSE;
interactive = value ? TRUE : FALSE;
plug_in_repeat (gdisp->gimage->gimp,
gimp_get_user_context (gdisp->gimage->gimp),

View File

@ -20,11 +20,12 @@
#define __PLUG_IN_COMMANDS_H__
void plug_in_run_cmd_callback (GtkWidget *widget,
void plug_in_run_cmd_callback (GtkAction *action,
PlugInProcDef *proc_def,
gpointer data);
void plug_in_repeat_cmd_callback (GtkAction *action,
gint value,
gpointer data);
void plug_in_repeat_cmd_callback (GtkWidget *widget,
gpointer data,
guint action);
#endif /* __PLUG_IN_COMMANDS_H__ */

View File

@ -116,13 +116,14 @@ qmask_actions_update (GimpActionGroup *group,
#define SET_COLOR(action,color) \
gimp_action_group_set_action_color (group, action, (color), FALSE)
SET_ACTIVE ("qmask-toggle", gimage->qmask_state);
SET_ACTIVE ("qmask-toggle", gimage && gimage->qmask_state);
if (gimage->qmask_inverted)
if (gimage && gimage->qmask_inverted)
SET_ACTIVE ("qmask-invert-on", TRUE);
else
SET_ACTIVE ("qmask-invert-off", TRUE);
if (gimage)
SET_COLOR ("qmask-configure", &gimage->qmask_color);
#undef SET_SENSITIVE

View File

@ -100,31 +100,33 @@ static void qmask_query_color_changed (GimpColorButton *button,
/* public functionss */
void
qmask_toggle_cmd_callback (GtkWidget *widget,
qmask_toggle_cmd_callback (GtkAction *action,
gpointer data)
{
GimpImage *gimage;
gboolean active;
return_if_no_image (gimage, data);
if (GTK_CHECK_MENU_ITEM (widget)->active !=
gimp_image_get_qmask_state (gimage))
active = gtk_toggle_action_get_active (GTK_TOGGLE_ACTION (action));
if (active != gimp_image_get_qmask_state (gimage))
{
gimp_image_set_qmask_state (gimage, GTK_CHECK_MENU_ITEM (widget)->active);
gimp_image_set_qmask_state (gimage, active);
gimp_image_flush (gimage);
}
}
void
qmask_invert_cmd_callback (GtkWidget *widget,
gpointer data,
guint action)
qmask_invert_cmd_callback (GtkAction *action,
gint value,
gpointer data)
{
GimpImage *gimage;
return_if_no_image (gimage, data);
if (GTK_CHECK_MENU_ITEM (widget)->active)
if (gtk_toggle_action_get_active (GTK_TOGGLE_ACTION (action)))
{
if (action != gimage->qmask_inverted)
if (value != gimage->qmask_inverted)
{
gimp_image_qmask_invert (gimage);
@ -135,7 +137,7 @@ qmask_invert_cmd_callback (GtkWidget *widget,
}
void
qmask_configure_cmd_callback (GtkWidget *widget,
qmask_configure_cmd_callback (GtkAction *action,
gpointer data)
{
GimpDisplay *gdisp;

View File

@ -20,12 +20,12 @@
#define __QMASK_COMMANDS_H__
void qmask_toggle_cmd_callback (GtkWidget *widget,
void qmask_toggle_cmd_callback (GtkAction *action,
gpointer data);
void qmask_invert_cmd_callback (GtkWidget *widget,
gpointer data,
guint action);
void qmask_configure_cmd_callback (GtkWidget *widget,
void qmask_invert_cmd_callback (GtkAction *action,
gint value,
gpointer data);
void qmask_configure_cmd_callback (GtkAction *action,
gpointer data);

View File

@ -116,13 +116,14 @@ qmask_actions_update (GimpActionGroup *group,
#define SET_COLOR(action,color) \
gimp_action_group_set_action_color (group, action, (color), FALSE)
SET_ACTIVE ("qmask-toggle", gimage->qmask_state);
SET_ACTIVE ("qmask-toggle", gimage && gimage->qmask_state);
if (gimage->qmask_inverted)
if (gimage && gimage->qmask_inverted)
SET_ACTIVE ("qmask-invert-on", TRUE);
else
SET_ACTIVE ("qmask-invert-off", TRUE);
if (gimage)
SET_COLOR ("qmask-configure", &gimage->qmask_color);
#undef SET_SENSITIVE

View File

@ -100,31 +100,33 @@ static void qmask_query_color_changed (GimpColorButton *button,
/* public functionss */
void
qmask_toggle_cmd_callback (GtkWidget *widget,
qmask_toggle_cmd_callback (GtkAction *action,
gpointer data)
{
GimpImage *gimage;
gboolean active;
return_if_no_image (gimage, data);
if (GTK_CHECK_MENU_ITEM (widget)->active !=
gimp_image_get_qmask_state (gimage))
active = gtk_toggle_action_get_active (GTK_TOGGLE_ACTION (action));
if (active != gimp_image_get_qmask_state (gimage))
{
gimp_image_set_qmask_state (gimage, GTK_CHECK_MENU_ITEM (widget)->active);
gimp_image_set_qmask_state (gimage, active);
gimp_image_flush (gimage);
}
}
void
qmask_invert_cmd_callback (GtkWidget *widget,
gpointer data,
guint action)
qmask_invert_cmd_callback (GtkAction *action,
gint value,
gpointer data)
{
GimpImage *gimage;
return_if_no_image (gimage, data);
if (GTK_CHECK_MENU_ITEM (widget)->active)
if (gtk_toggle_action_get_active (GTK_TOGGLE_ACTION (action)))
{
if (action != gimage->qmask_inverted)
if (value != gimage->qmask_inverted)
{
gimp_image_qmask_invert (gimage);
@ -135,7 +137,7 @@ qmask_invert_cmd_callback (GtkWidget *widget,
}
void
qmask_configure_cmd_callback (GtkWidget *widget,
qmask_configure_cmd_callback (GtkAction *action,
gpointer data)
{
GimpDisplay *gdisp;

View File

@ -20,12 +20,12 @@
#define __QMASK_COMMANDS_H__
void qmask_toggle_cmd_callback (GtkWidget *widget,
void qmask_toggle_cmd_callback (GtkAction *action,
gpointer data);
void qmask_invert_cmd_callback (GtkWidget *widget,
gpointer data,
guint action);
void qmask_configure_cmd_callback (GtkWidget *widget,
void qmask_invert_cmd_callback (GtkAction *action,
gint value,
gpointer data);
void qmask_configure_cmd_callback (GtkAction *action,
gpointer data);

View File

@ -102,7 +102,7 @@ static gboolean selection_shrink_edge_lock = FALSE;
void
select_invert_cmd_callback (GtkWidget *widget,
select_invert_cmd_callback (GtkAction *action,
gpointer data)
{
GimpImage *gimage;
@ -113,7 +113,7 @@ select_invert_cmd_callback (GtkWidget *widget,
}
void
select_all_cmd_callback (GtkWidget *widget,
select_all_cmd_callback (GtkAction *action,
gpointer data)
{
GimpImage *gimage;
@ -124,7 +124,7 @@ select_all_cmd_callback (GtkWidget *widget,
}
void
select_none_cmd_callback (GtkWidget *widget,
select_none_cmd_callback (GtkAction *action,
gpointer data)
{
GimpImage *gimage;
@ -135,7 +135,7 @@ select_none_cmd_callback (GtkWidget *widget,
}
void
select_from_vectors_cmd_callback (GtkWidget *widget,
select_from_vectors_cmd_callback (GtkAction *action,
gpointer data)
{
GimpImage *gimage;
@ -155,7 +155,7 @@ select_from_vectors_cmd_callback (GtkWidget *widget,
}
void
select_float_cmd_callback (GtkWidget *widget,
select_float_cmd_callback (GtkAction *action,
gpointer data)
{
GimpImage *gimage;
@ -169,7 +169,7 @@ select_float_cmd_callback (GtkWidget *widget,
}
void
select_feather_cmd_callback (GtkWidget *widget,
select_feather_cmd_callback (GtkAction *action,
gpointer data)
{
GimpDisplay *gdisp;
@ -192,7 +192,7 @@ select_feather_cmd_callback (GtkWidget *widget,
}
void
select_sharpen_cmd_callback (GtkWidget *widget,
select_sharpen_cmd_callback (GtkAction *action,
gpointer data)
{
GimpImage *gimage;
@ -203,7 +203,7 @@ select_sharpen_cmd_callback (GtkWidget *widget,
}
void
select_shrink_cmd_callback (GtkWidget *widget,
select_shrink_cmd_callback (GtkAction *action,
gpointer data)
{
GimpDisplay *gdisp;
@ -239,7 +239,7 @@ select_shrink_cmd_callback (GtkWidget *widget,
}
void
select_grow_cmd_callback (GtkWidget *widget,
select_grow_cmd_callback (GtkAction *action,
gpointer data)
{
GimpDisplay *gdisp;
@ -262,7 +262,7 @@ select_grow_cmd_callback (GtkWidget *widget,
}
void
select_border_cmd_callback (GtkWidget *widget,
select_border_cmd_callback (GtkAction *action,
gpointer data)
{
GimpDisplay *gdisp;
@ -285,22 +285,22 @@ select_border_cmd_callback (GtkWidget *widget,
}
void
select_save_cmd_callback (GtkWidget *widget,
select_save_cmd_callback (GtkAction *action,
gpointer data)
{
GimpImage *gimage;
return_if_no_image (gimage, data);
GimpDisplay *gdisp;
return_if_no_display (gdisp, data);
gimp_selection_save (gimp_image_get_mask (gimage));
gimp_image_flush (gimage);
gimp_selection_save (gimp_image_get_mask (gdisp->gimage));
gimp_image_flush (gdisp->gimage);
gimp_dialog_factory_dialog_raise (global_dock_factory,
gtk_widget_get_screen (widget),
gtk_widget_get_screen (gdisp->shell),
"gimp-channel-list", -1);
}
void
select_toggle_quickmask_cmd_callback (GtkWidget *widget,
select_toggle_quickmask_cmd_callback (GtkAction *action,
gpointer data)
{
GimpImage *gimage;

View File

@ -20,29 +20,29 @@
#define __SELECT_COMMANDS_H__
void select_invert_cmd_callback (GtkWidget *widget,
void select_invert_cmd_callback (GtkAction *action,
gpointer data);
void select_all_cmd_callback (GtkWidget *widget,
void select_all_cmd_callback (GtkAction *action,
gpointer data);
void select_none_cmd_callback (GtkWidget *widget,
void select_none_cmd_callback (GtkAction *action,
gpointer data);
void select_from_vectors_cmd_callback (GtkWidget *widget,
void select_from_vectors_cmd_callback (GtkAction *action,
gpointer data);
void select_float_cmd_callback (GtkWidget *widget,
void select_float_cmd_callback (GtkAction *action,
gpointer data);
void select_feather_cmd_callback (GtkWidget *widget,
void select_feather_cmd_callback (GtkAction *action,
gpointer data);
void select_sharpen_cmd_callback (GtkWidget *widget,
void select_sharpen_cmd_callback (GtkAction *action,
gpointer data);
void select_shrink_cmd_callback (GtkWidget *widget,
void select_shrink_cmd_callback (GtkAction *action,
gpointer data);
void select_border_cmd_callback (GtkWidget *widget,
void select_border_cmd_callback (GtkAction *action,
gpointer data);
void select_grow_cmd_callback (GtkWidget *widget,
void select_grow_cmd_callback (GtkAction *action,
gpointer data);
void select_save_cmd_callback (GtkWidget *widget,
void select_save_cmd_callback (GtkAction *action,
gpointer data);
void select_toggle_quickmask_cmd_callback (GtkWidget *widget,
void select_toggle_quickmask_cmd_callback (GtkAction *action,
gpointer data);

View File

@ -50,7 +50,7 @@
/* public functions */
void
templates_new_template_cmd_callback (GtkWidget *widget,
templates_new_template_cmd_callback (GtkAction *action,
gpointer data)
{
GimpTemplateView *view = GIMP_TEMPLATE_VIEW (data);
@ -59,7 +59,7 @@ templates_new_template_cmd_callback (GtkWidget *widget,
}
void
templates_duplicate_template_cmd_callback (GtkWidget *widget,
templates_duplicate_template_cmd_callback (GtkAction *action,
gpointer data)
{
GimpTemplateView *view = GIMP_TEMPLATE_VIEW (data);
@ -68,7 +68,7 @@ templates_duplicate_template_cmd_callback (GtkWidget *widget,
}
void
templates_edit_template_cmd_callback (GtkWidget *widget,
templates_edit_template_cmd_callback (GtkAction *action,
gpointer data)
{
GimpTemplateView *view = GIMP_TEMPLATE_VIEW (data);
@ -77,7 +77,7 @@ templates_edit_template_cmd_callback (GtkWidget *widget,
}
void
templates_create_image_cmd_callback (GtkWidget *widget,
templates_create_image_cmd_callback (GtkAction *action,
gpointer data)
{
GimpTemplateView *view = GIMP_TEMPLATE_VIEW (data);
@ -86,7 +86,7 @@ templates_create_image_cmd_callback (GtkWidget *widget,
}
void
templates_delete_template_cmd_callback (GtkWidget *widget,
templates_delete_template_cmd_callback (GtkAction *action,
gpointer data)
{
GimpTemplateView *view = GIMP_TEMPLATE_VIEW (data);

View File

@ -20,15 +20,15 @@
#define __TEMPLATES_COMMANDS_H__
void templates_new_template_cmd_callback (GtkWidget *widget,
void templates_new_template_cmd_callback (GtkAction *action,
gpointer data);
void templates_duplicate_template_cmd_callback (GtkWidget *widget,
void templates_duplicate_template_cmd_callback (GtkAction *action,
gpointer data);
void templates_edit_template_cmd_callback (GtkWidget *widget,
void templates_edit_template_cmd_callback (GtkAction *action,
gpointer data);
void templates_create_image_cmd_callback (GtkWidget *widget,
void templates_create_image_cmd_callback (GtkAction *action,
gpointer data);
void templates_delete_template_cmd_callback (GtkWidget *widget,
void templates_delete_template_cmd_callback (GtkAction *action,
gpointer data);
void templates_new_template_dialog (Gimp *gimp,

View File

@ -93,9 +93,9 @@ tool_options_actions_setup (GimpActionGroup *group)
tool_options_actions,
G_N_ELEMENTS (tool_options_actions));
SET_IMPORTANT ("tool-options-restore-menu", FALSE);
SET_IMPORTANT ("tool-options-rename-menu", FALSE);
SET_IMPORTANT ("tool-options-delete-menu", FALSE);
SET_IMPORTANT ("tool-options-restore-menu", TRUE);
SET_IMPORTANT ("tool-options-rename-menu", TRUE);
SET_IMPORTANT ("tool-options-delete-menu", TRUE);
}
void

View File

@ -36,8 +36,8 @@
#include "widgets/gimpeditor.h"
#include "widgets/gimphelp-ids.h"
#include "widgets/gimpitemfactory.h"
#include "widgets/gimptooloptionseditor.h"
#include "widgets/gimpuimanager.h"
#include "tool-options-commands.h"
@ -57,7 +57,7 @@ static void tool_options_rename_callback (GtkWidget *widget,
/* public functions */
void
tool_options_save_to_cmd_callback (GtkWidget *widget,
tool_options_save_to_cmd_callback (GtkAction *action,
gpointer data)
{
GimpToolOptions *options = GIMP_TOOL_OPTIONS (data);
@ -73,7 +73,7 @@ tool_options_save_to_cmd_callback (GtkWidget *widget,
}
void
tool_options_save_new_cmd_callback (GtkWidget *widget,
tool_options_save_new_cmd_callback (GtkAction *action,
gpointer data)
{
GimpEditor *editor = GIMP_EDITOR (data);
@ -81,7 +81,7 @@ tool_options_save_new_cmd_callback (GtkWidget *widget,
GimpToolInfo *tool_info;
GtkWidget *qbox;
context = gimp_get_user_context (editor->item_factory->gimp);
context = gimp_get_user_context (editor->ui_manager->gimp);
tool_info = gimp_context_get_tool (context);
qbox = gimp_query_string_box (_("Save Tool Options"),
@ -96,7 +96,7 @@ tool_options_save_new_cmd_callback (GtkWidget *widget,
}
void
tool_options_restore_from_cmd_callback (GtkWidget *widget,
tool_options_restore_from_cmd_callback (GtkAction *action,
gpointer data)
{
GimpToolOptions *options = GIMP_TOOL_OPTIONS (data);
@ -106,14 +106,14 @@ tool_options_restore_from_cmd_callback (GtkWidget *widget,
}
void
tool_options_rename_saved_cmd_callback (GtkWidget *widget,
tool_options_rename_saved_cmd_callback (GtkAction *action,
gpointer data)
{
GimpToolOptions *options = GIMP_TOOL_OPTIONS (data);
GtkWidget *qbox;
qbox = gimp_query_string_box (_("Rename Saved Tool Options"),
widget,
NULL /* FIXME */,
gimp_standard_help_func,
GIMP_HELP_TOOL_OPTIONS_DIALOG,
_("Enter a new name for the saved options"),
@ -124,7 +124,7 @@ tool_options_rename_saved_cmd_callback (GtkWidget *widget,
}
void
tool_options_delete_saved_cmd_callback (GtkWidget *widget,
tool_options_delete_saved_cmd_callback (GtkAction *action,
gpointer data)
{
GimpToolOptions *options = GIMP_TOOL_OPTIONS (data);
@ -134,7 +134,7 @@ tool_options_delete_saved_cmd_callback (GtkWidget *widget,
}
void
tool_options_reset_cmd_callback (GtkWidget *widget,
tool_options_reset_cmd_callback (GtkAction *action,
gpointer data)
{
GimpToolOptionsEditor *editor = GIMP_TOOL_OPTIONS_EDITOR (data);
@ -144,7 +144,7 @@ tool_options_reset_cmd_callback (GtkWidget *widget,
}
void
tool_options_reset_all_cmd_callback (GtkWidget *widget,
tool_options_reset_all_cmd_callback (GtkAction *action,
gpointer data)
{
GimpToolOptionsEditor *editor = GIMP_TOOL_OPTIONS_EDITOR (data);

View File

@ -20,19 +20,19 @@
#define __TOOL_OPTIONS_COMMANDS_H__
void tool_options_save_to_cmd_callback (GtkWidget *widget,
void tool_options_save_to_cmd_callback (GtkAction *action,
gpointer data);
void tool_options_save_new_cmd_callback (GtkWidget *widget,
void tool_options_save_new_cmd_callback (GtkAction *action,
gpointer data);
void tool_options_restore_from_cmd_callback (GtkWidget *widget,
void tool_options_restore_from_cmd_callback (GtkAction *action,
gpointer data);
void tool_options_rename_saved_cmd_callback (GtkWidget *widget,
void tool_options_rename_saved_cmd_callback (GtkAction *action,
gpointer data);
void tool_options_delete_saved_cmd_callback (GtkWidget *widget,
void tool_options_delete_saved_cmd_callback (GtkAction *action,
gpointer data);
void tool_options_reset_cmd_callback (GtkWidget *widget,
void tool_options_reset_cmd_callback (GtkAction *action,
gpointer data);
void tool_options_reset_all_cmd_callback (GtkWidget *widget,
void tool_options_reset_all_cmd_callback (GtkAction *action,
gpointer data);

View File

@ -52,9 +52,8 @@
void
tools_default_colors_cmd_callback (GtkWidget *widget,
gpointer data,
guint action)
tools_default_colors_cmd_callback (GtkAction *action,
gpointer data)
{
Gimp *gimp;
return_if_no_gimp (gimp, data);
@ -63,9 +62,8 @@ tools_default_colors_cmd_callback (GtkWidget *widget,
}
void
tools_swap_colors_cmd_callback (GtkWidget *widget,
gpointer data,
guint action)
tools_swap_colors_cmd_callback (GtkAction *action,
gpointer data)
{
Gimp *gimp;
return_if_no_gimp (gimp, data);
@ -74,21 +72,18 @@ tools_swap_colors_cmd_callback (GtkWidget *widget,
}
void
tools_select_cmd_callback (GtkWidget *widget,
gpointer data,
guint action)
tools_select_cmd_callback (GtkAction *action,
const gchar *value,
gpointer data)
{
Gimp *gimp;
GimpToolInfo *tool_info;
GimpContext *context;
GimpDisplay *gdisp;
const gchar *identifier;
return_if_no_gimp (gimp, data);
identifier = g_quark_to_string ((GQuark) action);
tool_info = (GimpToolInfo *)
gimp_container_get_child_by_name (gimp->tool_info_list, identifier);
gimp_container_get_child_by_name (gimp->tool_info_list, value);
context = gimp_get_user_context (gimp);

View File

@ -20,15 +20,13 @@
#define __TOOLS_COMMANDS_H__
void tools_default_colors_cmd_callback (GtkWidget *widget,
gpointer data,
guint action);
void tools_swap_colors_cmd_callback (GtkWidget *widget,
gpointer data,
guint action);
void tools_select_cmd_callback (GtkWidget *widget,
gpointer data,
guint action);
void tools_default_colors_cmd_callback (GtkAction *action,
gpointer data);
void tools_swap_colors_cmd_callback (GtkAction *action,
gpointer data);
void tools_select_cmd_callback (GtkAction *action,
const gchar *value,
gpointer data);
#endif /* __TOOLS_COMMANDS_H__ */

View File

@ -54,6 +54,7 @@
#include "tools/gimpvectortool.h"
#include "tools/tool_manager.h"
#include "gui/dialogs.h"
#include "gui/stroke-dialog.h"
#include "vectors-commands.h"
@ -82,6 +83,20 @@
if (! vectors) \
return
#define return_if_no_widget(widget,data) \
if (GIMP_IS_DISPLAY (data)) \
widget = ((GimpDisplay *) data)->shell; \
else if (GIMP_IS_GIMP (data)) \
widget = dialogs_get_toolbox (); \
else if (GIMP_IS_DOCK (data)) \
widget = data; \
else if (GIMP_IS_ITEM_TREE_VIEW (data)) \
widget = data; \
else \
widget = NULL; \
if (! widget) \
return
static void vectors_import_query (GimpImage *gimage,
GtkWidget *parent);
@ -93,17 +108,19 @@ static void vectors_export_query (GimpImage *gimage,
/* public functions */
void
vectors_new_cmd_callback (GtkWidget *widget,
vectors_new_cmd_callback (GtkAction *action,
gpointer data)
{
GimpImage *gimage;
GtkWidget *widget;
return_if_no_image (gimage, data);
return_if_no_widget (widget, data);
vectors_new_vectors_query (gimage, NULL, TRUE, widget);
}
void
vectors_raise_to_top_cmd_callback (GtkWidget *widget,
vectors_raise_to_top_cmd_callback (GtkAction *action,
gpointer data)
{
GimpImage *gimage;
@ -115,7 +132,7 @@ vectors_raise_to_top_cmd_callback (GtkWidget *widget,
}
void
vectors_raise_cmd_callback (GtkWidget *widget,
vectors_raise_cmd_callback (GtkAction *action,
gpointer data)
{
GimpImage *gimage;
@ -127,7 +144,7 @@ vectors_raise_cmd_callback (GtkWidget *widget,
}
void
vectors_lower_cmd_callback (GtkWidget *widget,
vectors_lower_cmd_callback (GtkAction *action,
gpointer data)
{
GimpImage *gimage;
@ -139,7 +156,7 @@ vectors_lower_cmd_callback (GtkWidget *widget,
}
void
vectors_lower_to_bottom_cmd_callback (GtkWidget *widget,
vectors_lower_to_bottom_cmd_callback (GtkAction *action,
gpointer data)
{
GimpImage *gimage;
@ -151,7 +168,7 @@ vectors_lower_to_bottom_cmd_callback (GtkWidget *widget,
}
void
vectors_duplicate_cmd_callback (GtkWidget *widget,
vectors_duplicate_cmd_callback (GtkAction *action,
gpointer data)
{
GimpImage *gimage;
@ -167,7 +184,7 @@ vectors_duplicate_cmd_callback (GtkWidget *widget,
}
void
vectors_delete_cmd_callback (GtkWidget *widget,
vectors_delete_cmd_callback (GtkAction *action,
gpointer data)
{
GimpImage *gimage;
@ -179,7 +196,7 @@ vectors_delete_cmd_callback (GtkWidget *widget,
}
void
vectors_merge_visible_cmd_callback (GtkWidget *widget,
vectors_merge_visible_cmd_callback (GtkAction *action,
gpointer data)
{
GimpImage *gimage;
@ -191,16 +208,16 @@ vectors_merge_visible_cmd_callback (GtkWidget *widget,
}
void
vectors_to_selection_cmd_callback (GtkWidget *widget,
gpointer data,
guint action)
vectors_to_selection_cmd_callback (GtkAction *action,
gint value,
gpointer data)
{
GimpChannelOps op;
GimpImage *gimage;
GimpVectors *active_vectors;
return_if_no_vectors (gimage, active_vectors, data);
op = (GimpChannelOps) action;
op = (GimpChannelOps) value;
gimp_channel_select_vectors (gimp_image_get_mask (gimage),
_("Path to Selection"),
@ -210,7 +227,7 @@ vectors_to_selection_cmd_callback (GtkWidget *widget,
}
void
vectors_selection_to_vectors_cmd_callback (GtkWidget *widget,
vectors_selection_to_vectors_cmd_callback (GtkAction *action,
gpointer data)
{
GimpImage *gimage;
@ -220,18 +237,20 @@ vectors_selection_to_vectors_cmd_callback (GtkWidget *widget,
}
void
vectors_stroke_cmd_callback (GtkWidget *widget,
vectors_stroke_cmd_callback (GtkAction *action,
gpointer data)
{
GimpImage *gimage;
GimpVectors *active_vectors;
GtkWidget *widget;
return_if_no_vectors (gimage, active_vectors, data);
return_if_no_widget (widget, data);
vectors_stroke_vectors (GIMP_ITEM (active_vectors), widget);
}
void
vectors_copy_cmd_callback (GtkWidget *widget,
vectors_copy_cmd_callback (GtkAction *action,
gpointer data)
{
GimpImage *gimage;
@ -244,7 +263,7 @@ vectors_copy_cmd_callback (GtkWidget *widget,
}
void
vectors_paste_cmd_callback (GtkWidget *widget,
vectors_paste_cmd_callback (GtkAction *action,
gpointer data)
{
GimpImage *gimage;
@ -256,28 +275,32 @@ vectors_paste_cmd_callback (GtkWidget *widget,
}
void
vectors_import_cmd_callback (GtkWidget *widget,
vectors_import_cmd_callback (GtkAction *action,
gpointer data)
{
GimpImage *gimage;
GtkWidget *widget;
return_if_no_image (gimage, data);
return_if_no_widget (widget, data);
vectors_import_query (gimage, widget);
}
void
vectors_export_cmd_callback (GtkWidget *widget,
vectors_export_cmd_callback (GtkAction *action,
gpointer data)
{
GimpImage *gimage;
GimpVectors *active_vectors;
GtkWidget *widget;
return_if_no_vectors (gimage, active_vectors, data);
return_if_no_widget (widget, data);
vectors_export_query (gimage, active_vectors, widget);
}
void
vectors_vectors_tool_cmd_callback (GtkWidget *widget,
vectors_vectors_tool_cmd_callback (GtkAction *action,
gpointer data)
{
GimpImage *gimage;
@ -288,12 +311,14 @@ vectors_vectors_tool_cmd_callback (GtkWidget *widget,
}
void
vectors_edit_attributes_cmd_callback (GtkWidget *widget,
vectors_edit_attributes_cmd_callback (GtkAction *action,
gpointer data)
{
GimpImage *gimage;
GimpVectors *active_vectors;
GtkWidget *widget;
return_if_no_vectors (gimage, active_vectors, data);
return_if_no_widget (widget, data);
vectors_edit_vectors_query (active_vectors, widget);
}

View File

@ -20,40 +20,40 @@
#define __VECTORS_COMMANDS_H__
void vectors_new_cmd_callback (GtkWidget *widget,
void vectors_new_cmd_callback (GtkAction *action,
gpointer data);
void vectors_raise_cmd_callback (GtkWidget *widget,
void vectors_raise_cmd_callback (GtkAction *action,
gpointer data);
void vectors_raise_to_top_cmd_callback (GtkWidget *widget,
void vectors_raise_to_top_cmd_callback (GtkAction *action,
gpointer data);
void vectors_lower_cmd_callback (GtkWidget *widget,
void vectors_lower_cmd_callback (GtkAction *action,
gpointer data);
void vectors_lower_to_bottom_cmd_callback (GtkWidget *widget,
void vectors_lower_to_bottom_cmd_callback (GtkAction *action,
gpointer data);
void vectors_duplicate_cmd_callback (GtkWidget *widget,
void vectors_duplicate_cmd_callback (GtkAction *action,
gpointer data);
void vectors_delete_cmd_callback (GtkWidget *widget,
void vectors_delete_cmd_callback (GtkAction *action,
gpointer data);
void vectors_merge_visible_cmd_callback (GtkWidget *widget,
void vectors_merge_visible_cmd_callback (GtkAction *action,
gpointer data);
void vectors_to_selection_cmd_callback (GtkWidget *widget,
gpointer data,
guint action);
void vectors_selection_to_vectors_cmd_callback (GtkWidget *widget,
void vectors_to_selection_cmd_callback (GtkAction *action,
gint value,
gpointer data);
void vectors_stroke_cmd_callback (GtkWidget *widget,
void vectors_selection_to_vectors_cmd_callback (GtkAction *action,
gpointer data);
void vectors_copy_cmd_callback (GtkWidget *widget,
void vectors_stroke_cmd_callback (GtkAction *action,
gpointer data);
void vectors_paste_cmd_callback (GtkWidget *widget,
void vectors_copy_cmd_callback (GtkAction *action,
gpointer data);
void vectors_import_cmd_callback (GtkWidget *widget,
void vectors_paste_cmd_callback (GtkAction *action,
gpointer data);
void vectors_export_cmd_callback (GtkWidget *widget,
void vectors_import_cmd_callback (GtkAction *action,
gpointer data);
void vectors_vectors_tool_cmd_callback (GtkWidget *widget,
void vectors_export_cmd_callback (GtkAction *action,
gpointer data);
void vectors_edit_attributes_cmd_callback (GtkWidget *widget,
void vectors_vectors_tool_cmd_callback (GtkAction *action,
gpointer data);
void vectors_edit_attributes_cmd_callback (GtkAction *action,
gpointer data);
void vectors_stroke_vectors (GimpItem *item,

View File

@ -37,9 +37,10 @@
#include "display/gimpdisplayshell-filter-dialog.h"
#include "display/gimpdisplayshell-scale.h"
#include "widgets/gimpactiongroup.h"
#include "widgets/gimpdock.h"
#include "widgets/gimpdialogfactory.h"
#include "widgets/gimpitemfactory.h"
#include "widgets/gimpuimanager.h"
#include "gui/dialogs.h"
#include "gui/info-dialog.h"
@ -60,13 +61,18 @@
if (! gdisp) \
return
#define SET_ACTIVE(manager,group_name,action_name,active) \
{ GimpActionGroup *group = \
gimp_ui_manager_get_action_group (manager, group_name); \
gimp_action_group_set_action_active (group, action_name, active); }
#define IS_ACTIVE_DISPLAY(gdisp) \
((gdisp) == \
gimp_context_get_display (gimp_get_user_context ((gdisp)->gimage->gimp)))
void
view_zoom_out_cmd_callback (GtkWidget *widget,
view_zoom_out_cmd_callback (GtkAction *action,
gpointer data)
{
GimpDisplay *gdisp;
@ -77,7 +83,7 @@ view_zoom_out_cmd_callback (GtkWidget *widget,
}
void
view_zoom_in_cmd_callback (GtkWidget *widget,
view_zoom_in_cmd_callback (GtkAction *action,
gpointer data)
{
GimpDisplay *gdisp;
@ -88,7 +94,7 @@ view_zoom_in_cmd_callback (GtkWidget *widget,
}
void
view_zoom_fit_cmd_callback (GtkWidget *widget,
view_zoom_fit_cmd_callback (GtkAction *action,
gpointer data)
{
GimpDisplay *gdisp;
@ -98,69 +104,62 @@ view_zoom_fit_cmd_callback (GtkWidget *widget,
}
void
view_zoom_cmd_callback (GtkWidget *widget,
gpointer data,
guint scale)
{
GimpDisplay *gdisp;
GimpDisplayShell *shell;
return_if_no_display (gdisp, data);
if (! GTK_CHECK_MENU_ITEM (widget)->active)
return;
shell = GIMP_DISPLAY_SHELL (gdisp->shell);
if (fabs (scale - shell->scale) > 0.0001)
gimp_display_shell_scale (shell, GIMP_ZOOM_TO, (gdouble) scale / 10000);
}
void
view_zoom_other_cmd_callback (GtkWidget *widget,
view_zoom_cmd_callback (GtkAction *action,
GtkAction *current,
gpointer data)
{
GimpDisplay *gdisp;
GimpDisplayShell *shell;
gint value;
return_if_no_display (gdisp, data);
if (! GTK_CHECK_MENU_ITEM (widget)->active)
return;
shell = GIMP_DISPLAY_SHELL (gdisp->shell);
/* check if we are activated by the user or from image_menu_set_zoom() */
value = gtk_radio_action_get_current_value (GTK_RADIO_ACTION (action));
if (value == 0 /* Other... */)
{
/* check if we are activated by the user
* or from view_actions_set_zoom()
*/
if (shell->scale != shell->other_scale)
gimp_display_shell_scale_dialog (shell);
}
else
{
if (fabs (value - shell->scale) > 0.0001)
gimp_display_shell_scale (shell, GIMP_ZOOM_TO, (gdouble) value / 10000);
}
}
void
view_dot_for_dot_cmd_callback (GtkWidget *widget,
view_dot_for_dot_cmd_callback (GtkAction *action,
gpointer data)
{
GimpDisplay *gdisp;
GimpDisplayShell *shell;
gboolean active;
return_if_no_display (gdisp, data);
shell = GIMP_DISPLAY_SHELL (gdisp->shell);
if (shell->dot_for_dot != GTK_CHECK_MENU_ITEM (widget)->active)
{
gimp_display_shell_scale_set_dot_for_dot (shell,
GTK_CHECK_MENU_ITEM (widget)->active);
active = gtk_toggle_action_get_active (GTK_TOGGLE_ACTION (action));
gimp_item_factory_set_active (GTK_ITEM_FACTORY (shell->menubar_factory),
"/View/Dot for Dot",
if (active != shell->dot_for_dot)
{
gimp_display_shell_scale_set_dot_for_dot (shell, active);
SET_ACTIVE (shell->menubar_manager, "view", "view-dot-for-dot",
shell->dot_for_dot);
if (IS_ACTIVE_DISPLAY (gdisp))
gimp_item_factory_set_active (GTK_ITEM_FACTORY (shell->popup_factory),
"/View/Dot for Dot",
SET_ACTIVE (shell->popup_manager, "view", "view-dot-for-dot",
shell->dot_for_dot);
}
}
void
view_info_window_cmd_callback (GtkWidget *widget,
view_info_window_cmd_callback (GtkAction *action,
gpointer data)
{
GimpDisplay *gdisp;
@ -188,7 +187,7 @@ view_info_window_cmd_callback (GtkWidget *widget,
}
void
view_navigation_window_cmd_callback (GtkWidget *widget,
view_navigation_window_cmd_callback (GtkAction *action,
gpointer data)
{
GimpDisplay *gdisp;
@ -198,12 +197,12 @@ view_navigation_window_cmd_callback (GtkWidget *widget,
shell = GIMP_DISPLAY_SHELL (gdisp->shell);
gimp_dialog_factory_dialog_raise (global_dock_factory,
gtk_widget_get_screen (widget),
gtk_widget_get_screen (gdisp->shell),
"gimp-navigation-view", -1);
}
void
view_display_filters_cmd_callback (GtkWidget *widget,
view_display_filters_cmd_callback (GtkAction *action,
gpointer data)
{
GimpDisplay *gdisp;
@ -225,171 +224,168 @@ view_display_filters_cmd_callback (GtkWidget *widget,
}
void
view_toggle_selection_cmd_callback (GtkWidget *widget,
view_toggle_selection_cmd_callback (GtkAction *action,
gpointer data)
{
GimpDisplay *gdisp;
GimpDisplayShell *shell;
gboolean active;
return_if_no_display (gdisp, data);
shell = GIMP_DISPLAY_SHELL (gdisp->shell);
gimp_display_shell_set_show_selection (shell,
GTK_CHECK_MENU_ITEM (widget)->active);
active = gtk_toggle_action_get_active (GTK_TOGGLE_ACTION (action));
gimp_display_shell_set_show_selection (shell, active);
}
void
view_toggle_layer_boundary_cmd_callback (GtkWidget *widget,
view_toggle_layer_boundary_cmd_callback (GtkAction *action,
gpointer data)
{
GimpDisplay *gdisp;
GimpDisplayShell *shell;
gboolean active;
return_if_no_display (gdisp, data);
shell = GIMP_DISPLAY_SHELL (gdisp->shell);
gimp_display_shell_set_show_layer (shell,
GTK_CHECK_MENU_ITEM (widget)->active);
active = gtk_toggle_action_get_active (GTK_TOGGLE_ACTION (action));
gimp_display_shell_set_show_layer (shell, active);
}
void
view_toggle_menubar_cmd_callback (GtkWidget *widget,
view_toggle_menubar_cmd_callback (GtkAction *action,
gpointer data)
{
GimpDisplay *gdisp;
GimpDisplayShell *shell;
gboolean active;
return_if_no_display (gdisp, data);
shell = GIMP_DISPLAY_SHELL (gdisp->shell);
gimp_display_shell_set_show_menubar (shell,
GTK_CHECK_MENU_ITEM (widget)->active);
active = gtk_toggle_action_get_active (GTK_TOGGLE_ACTION (action));
gimp_display_shell_set_show_menubar (shell, active);
}
void
view_toggle_rulers_cmd_callback (GtkWidget *widget,
view_toggle_rulers_cmd_callback (GtkAction *action,
gpointer data)
{
GimpDisplay *gdisp;
GimpDisplayShell *shell;
gboolean active;
return_if_no_display (gdisp, data);
shell = GIMP_DISPLAY_SHELL (gdisp->shell);
gimp_display_shell_set_show_rulers (shell,
GTK_CHECK_MENU_ITEM (widget)->active);
active = gtk_toggle_action_get_active (GTK_TOGGLE_ACTION (action));
gimp_display_shell_set_show_rulers (shell, active);
}
void
view_toggle_scrollbars_cmd_callback (GtkWidget *widget,
view_toggle_scrollbars_cmd_callback (GtkAction *action,
gpointer data)
{
GimpDisplay *gdisp;
GimpDisplayShell *shell;
gboolean active;
return_if_no_display (gdisp, data);
shell = GIMP_DISPLAY_SHELL (gdisp->shell);
gimp_display_shell_set_show_scrollbars (shell,
GTK_CHECK_MENU_ITEM (widget)->active);
active = gtk_toggle_action_get_active (GTK_TOGGLE_ACTION (action));
gimp_display_shell_set_show_scrollbars (shell, active);
}
void
view_toggle_statusbar_cmd_callback (GtkWidget *widget,
view_toggle_statusbar_cmd_callback (GtkAction *action,
gpointer data)
{
GimpDisplay *gdisp;
GimpDisplayShell *shell;
gboolean active;
return_if_no_display (gdisp, data);
shell = GIMP_DISPLAY_SHELL (gdisp->shell);
gimp_display_shell_set_show_statusbar (shell,
GTK_CHECK_MENU_ITEM (widget)->active);
active = gtk_toggle_action_get_active (GTK_TOGGLE_ACTION (action));
gimp_display_shell_set_show_statusbar (shell, active);
}
void
view_toggle_guides_cmd_callback (GtkWidget *widget,
view_toggle_guides_cmd_callback (GtkAction *action,
gpointer data)
{
GimpDisplay *gdisp;
GimpDisplayShell *shell;
gboolean active;
return_if_no_display (gdisp, data);
shell = GIMP_DISPLAY_SHELL (gdisp->shell);
gimp_display_shell_set_show_guides (shell,
GTK_CHECK_MENU_ITEM (widget)->active);
active = gtk_toggle_action_get_active (GTK_TOGGLE_ACTION (action));
gimp_display_shell_set_show_guides (shell, active);
}
void
view_snap_to_guides_cmd_callback (GtkWidget *widget,
view_snap_to_guides_cmd_callback (GtkAction *action,
gpointer data)
{
GimpDisplay *gdisp;
GimpDisplayShell *shell;
gboolean active;
return_if_no_display (gdisp, data);
shell = GIMP_DISPLAY_SHELL (gdisp->shell);
if (shell->snap_to_guides != GTK_CHECK_MENU_ITEM (widget)->active)
{
shell->snap_to_guides = GTK_CHECK_MENU_ITEM (widget)->active;
active = gtk_toggle_action_get_active (GTK_TOGGLE_ACTION (action));
gimp_item_factory_set_active (GTK_ITEM_FACTORY (shell->menubar_factory),
"/View/Snap to Guides",
shell->snap_to_guides);
if (IS_ACTIVE_DISPLAY (gdisp))
gimp_item_factory_set_active (GTK_ITEM_FACTORY (shell->popup_factory),
"/View/Snap to Guides",
shell->snap_to_guides);
}
gimp_display_shell_set_snap_to_guides (shell, active);
}
void
view_toggle_grid_cmd_callback (GtkWidget *widget,
view_toggle_grid_cmd_callback (GtkAction *action,
gpointer data)
{
GimpDisplay *gdisp;
GimpDisplayShell *shell;
gboolean active;
return_if_no_display (gdisp, data);
shell = GIMP_DISPLAY_SHELL (gdisp->shell);
gimp_display_shell_set_show_grid (shell,
GTK_CHECK_MENU_ITEM (widget)->active);
active = gtk_toggle_action_get_active (GTK_TOGGLE_ACTION (action));
gimp_display_shell_set_show_grid (shell, active);
}
void
view_snap_to_grid_cmd_callback (GtkWidget *widget,
view_snap_to_grid_cmd_callback (GtkAction *action,
gpointer data)
{
GimpDisplay *gdisp;
GimpDisplayShell *shell;
gboolean active;
return_if_no_display (gdisp, data);
shell = GIMP_DISPLAY_SHELL (gdisp->shell);
if (shell->snap_to_grid != GTK_CHECK_MENU_ITEM (widget)->active)
{
shell->snap_to_grid = GTK_CHECK_MENU_ITEM (widget)->active;
active = gtk_toggle_action_get_active (GTK_TOGGLE_ACTION (action));
gimp_item_factory_set_active (GTK_ITEM_FACTORY (shell->menubar_factory),
"/View/Snap to Grid",
shell->snap_to_grid);
if (IS_ACTIVE_DISPLAY (gdisp))
gimp_item_factory_set_active (GTK_ITEM_FACTORY (shell->popup_factory),
"/View/Snap to Grid",
shell->snap_to_grid);
}
gimp_display_shell_set_snap_to_grid (shell, active);
}
void
view_new_view_cmd_callback (GtkWidget *widget,
view_new_view_cmd_callback (GtkAction *action,
gpointer data)
{
GimpDisplay *gdisp;
@ -400,7 +396,7 @@ view_new_view_cmd_callback (GtkWidget *widget,
}
void
view_shrink_wrap_cmd_callback (GtkWidget *widget,
view_shrink_wrap_cmd_callback (GtkAction *action,
gpointer data)
{
GimpDisplay *gdisp;
@ -410,30 +406,30 @@ view_shrink_wrap_cmd_callback (GtkWidget *widget,
}
void
view_fullscreen_cmd_callback (GtkWidget *widget,
view_fullscreen_cmd_callback (GtkAction *action,
gpointer data)
{
GimpDisplay *gdisp;
GimpDisplayShell *shell;
gboolean active;
gboolean fullscreen;
return_if_no_display (gdisp, data);
shell = GIMP_DISPLAY_SHELL (gdisp->shell);
gimp_display_shell_set_fullscreen (shell,
GTK_CHECK_MENU_ITEM (widget)->active);
active = gtk_toggle_action_get_active (GTK_TOGGLE_ACTION (action));
gimp_display_shell_set_fullscreen (shell, active);
fullscreen = (shell->window_state & GDK_WINDOW_STATE_FULLSCREEN) != 0;
if (fullscreen != GTK_CHECK_MENU_ITEM (widget)->active)
if (active != fullscreen)
{
gimp_item_factory_set_active (GTK_ITEM_FACTORY (shell->menubar_factory),
"/View/Fullscreen",
SET_ACTIVE (shell->menubar_manager, "view", "view-fullscreen",
fullscreen);
if (IS_ACTIVE_DISPLAY (gdisp))
gimp_item_factory_set_active (GTK_ITEM_FACTORY (shell->popup_factory),
"/View/Fullscreen",
SET_ACTIVE (shell->popup_manager, "view", "view-fullscreen",
fullscreen);
}
}
@ -460,7 +456,7 @@ view_change_screen_destroy_callback (GtkWidget *query_box,
}
void
view_change_screen_cmd_callback (GtkWidget *widget,
view_change_screen_cmd_callback (GtkAction *action,
gpointer data)
{
GimpDisplay *gdisp;

View File

@ -20,53 +20,51 @@
#define __VIEW_COMMANDS_H__
void view_zoom_out_cmd_callback (GtkWidget *widget,
void view_zoom_out_cmd_callback (GtkAction *action,
gpointer data);
void view_zoom_in_cmd_callback (GtkWidget *widget,
void view_zoom_in_cmd_callback (GtkAction *action,
gpointer data);
void view_zoom_fit_cmd_callback (GtkWidget *widget,
void view_zoom_fit_cmd_callback (GtkAction *action,
gpointer data);
void view_zoom_cmd_callback (GtkWidget *widget,
gpointer data,
guint scale);
void view_zoom_other_cmd_callback (GtkWidget *widget,
void view_zoom_cmd_callback (GtkAction *action,
GtkAction *current,
gpointer data);
void view_dot_for_dot_cmd_callback (GtkWidget *widget,
void view_dot_for_dot_cmd_callback (GtkAction *action,
gpointer data);
void view_info_window_cmd_callback (GtkWidget *widget,
void view_info_window_cmd_callback (GtkAction *action,
gpointer data);
void view_navigation_window_cmd_callback (GtkWidget *widget,
void view_navigation_window_cmd_callback (GtkAction *action,
gpointer data);
void view_display_filters_cmd_callback (GtkWidget *widget,
void view_display_filters_cmd_callback (GtkAction *action,
gpointer data);
void view_toggle_selection_cmd_callback (GtkWidget *widget,
void view_toggle_selection_cmd_callback (GtkAction *action,
gpointer data);
void view_toggle_layer_boundary_cmd_callback (GtkWidget *widget,
void view_toggle_layer_boundary_cmd_callback (GtkAction *action,
gpointer data);
void view_toggle_menubar_cmd_callback (GtkWidget *widget,
void view_toggle_menubar_cmd_callback (GtkAction *action,
gpointer data);
void view_toggle_rulers_cmd_callback (GtkWidget *widget,
void view_toggle_rulers_cmd_callback (GtkAction *action,
gpointer data);
void view_toggle_scrollbars_cmd_callback (GtkWidget *widget,
void view_toggle_scrollbars_cmd_callback (GtkAction *action,
gpointer data);
void view_toggle_statusbar_cmd_callback (GtkWidget *widget,
void view_toggle_statusbar_cmd_callback (GtkAction *action,
gpointer data);
void view_toggle_guides_cmd_callback (GtkWidget *widget,
void view_toggle_guides_cmd_callback (GtkAction *action,
gpointer data);
void view_snap_to_guides_cmd_callback (GtkWidget *widget,
void view_snap_to_guides_cmd_callback (GtkAction *action,
gpointer data);
void view_toggle_grid_cmd_callback (GtkWidget *widget,
void view_toggle_grid_cmd_callback (GtkAction *action,
gpointer data);
void view_snap_to_grid_cmd_callback (GtkWidget *widget,
void view_snap_to_grid_cmd_callback (GtkAction *action,
gpointer data);
void view_new_view_cmd_callback (GtkWidget *widget,
void view_new_view_cmd_callback (GtkAction *action,
gpointer data);
void view_shrink_wrap_cmd_callback (GtkWidget *widget,
void view_shrink_wrap_cmd_callback (GtkAction *action,
gpointer data);
void view_fullscreen_cmd_callback (GtkWidget *widget,
void view_fullscreen_cmd_callback (GtkAction *action,
gpointer data);
void view_change_screen_cmd_callback (GtkWidget *widget,
void view_change_screen_cmd_callback (GtkAction *action,
gpointer data);

View File

@ -31,7 +31,6 @@
#include "core/gimpimage-projection.h"
#include "core/gimplist.h"
#include "widgets/gimpitemfactory.h"
#include "widgets/gimpuimanager.h"
#include "tools/gimptool.h"
@ -204,7 +203,7 @@ GimpDisplay *
gimp_display_new (GimpImage *gimage,
gdouble scale,
GimpMenuFactory *menu_factory,
GimpItemFactory *popup_factory)
GimpUIManager *popup_manager)
{
GimpDisplay *gdisp;
@ -223,7 +222,7 @@ gimp_display_new (GimpImage *gimage,
/* create the shell for the image */
gdisp->shell = gimp_display_shell_new (gdisp, scale,
menu_factory, popup_factory);
menu_factory, popup_manager);
gtk_widget_show (gdisp->shell);
@ -511,15 +510,12 @@ gimp_display_flush_whenever (GimpDisplay *gdisp,
{
GimpContext *user_context;
gimp_item_factory_update (shell->menubar_factory, shell);
#if 0
gimp_ui_manager_update (shell->menubar_manager, shell);
#endif
user_context = gimp_get_user_context (gdisp->gimage->gimp);
if (gdisp == gimp_context_get_display (user_context))
gimp_item_factory_update (shell->popup_factory, shell);
gimp_ui_manager_update (shell->popup_manager, shell);
}
}

View File

@ -76,7 +76,7 @@ GType gimp_display_get_type (void) G_GNUC_CONST;
GimpDisplay * gimp_display_new (GimpImage *gimage,
gdouble scale,
GimpMenuFactory *menu_factory,
GimpItemFactory *popup_factory);
GimpUIManager *popup_manager);
void gimp_display_delete (GimpDisplay *gdisp);
gint gimp_display_get_ID (GimpDisplay *gdisp);

View File

@ -264,3 +264,21 @@ dialogs_exit (Gimp *gimp)
global_dock_factory = NULL;
}
}
GtkWidget *
dialogs_get_toolbox (void)
{
GList *list;
g_return_val_if_fail (GIMP_IS_DIALOG_FACTORY (global_toolbox_factory), NULL);
for (list = global_toolbox_factory->open_dialogs;
list;
list = g_list_next (list))
{
if (GTK_WIDGET_TOPLEVEL (list->data))
return list->data;
}
return NULL;
}

View File

@ -28,5 +28,7 @@ extern GimpDialogFactory *global_toolbox_factory;
void dialogs_init (Gimp *gimp);
void dialogs_exit (Gimp *gimp);
GtkWidget * dialogs_get_toolbox (void);
#endif /* __DIALOGS_H__ */

View File

@ -31,7 +31,6 @@
#include "core/gimpimage-projection.h"
#include "core/gimplist.h"
#include "widgets/gimpitemfactory.h"
#include "widgets/gimpuimanager.h"
#include "tools/gimptool.h"
@ -204,7 +203,7 @@ GimpDisplay *
gimp_display_new (GimpImage *gimage,
gdouble scale,
GimpMenuFactory *menu_factory,
GimpItemFactory *popup_factory)
GimpUIManager *popup_manager)
{
GimpDisplay *gdisp;
@ -223,7 +222,7 @@ gimp_display_new (GimpImage *gimage,
/* create the shell for the image */
gdisp->shell = gimp_display_shell_new (gdisp, scale,
menu_factory, popup_factory);
menu_factory, popup_manager);
gtk_widget_show (gdisp->shell);
@ -511,15 +510,12 @@ gimp_display_flush_whenever (GimpDisplay *gdisp,
{
GimpContext *user_context;
gimp_item_factory_update (shell->menubar_factory, shell);
#if 0
gimp_ui_manager_update (shell->menubar_manager, shell);
#endif
user_context = gimp_get_user_context (gdisp->gimage->gimp);
if (gdisp == gimp_context_get_display (user_context))
gimp_item_factory_update (shell->popup_factory, shell);
gimp_ui_manager_update (shell->popup_manager, shell);
}
}

View File

@ -76,7 +76,7 @@ GType gimp_display_get_type (void) G_GNUC_CONST;
GimpDisplay * gimp_display_new (GimpImage *gimage,
gdouble scale,
GimpMenuFactory *menu_factory,
GimpItemFactory *popup_factory);
GimpUIManager *popup_manager);
void gimp_display_delete (GimpDisplay *gdisp);
gint gimp_display_get_ID (GimpDisplay *gdisp);

View File

@ -29,7 +29,8 @@
#include "core/gimpcontext.h"
#include "core/gimpimage.h"
#include "widgets/gimpitemfactory.h"
#include "widgets/gimpactiongroup.h"
#include "widgets/gimpuimanager.h"
#include "widgets/gimpwidgets-utils.h"
#include "gimpcanvas.h"
@ -46,6 +47,11 @@
(gimp_display_shell_get_fullscreen (shell) ? \
shell->fullscreen_options : shell->options)
#define SET_ACTIVE(manager,group_name,action_name,active) \
{ GimpActionGroup *group = \
gimp_ui_manager_get_action_group (manager, group_name); \
gimp_action_group_set_action_active (group, action_name, active); }
#define IS_ACTIVE_DISPLAY(shell) \
((shell)->gdisp == \
gimp_context_get_display (gimp_get_user_context \
@ -89,7 +95,8 @@ gimp_display_shell_set_show_menubar (GimpDisplayShell *shell,
g_object_set (options, "show-menubar", show, NULL);
menubar = GTK_ITEM_FACTORY (shell->menubar_factory)->widget;
menubar = gtk_ui_manager_get_widget (GTK_UI_MANAGER (shell->menubar_manager),
"/image-menubar");
vbox = GTK_CONTAINER (shell->qmask->parent->parent);
if (show)
@ -102,12 +109,10 @@ gimp_display_shell_set_show_menubar (GimpDisplayShell *shell,
else
gtk_container_set_border_width (vbox, 0);
gimp_item_factory_set_active (GTK_ITEM_FACTORY (shell->menubar_factory),
"/View/Show Menubar", show);
SET_ACTIVE (shell->menubar_manager, "view", "view-show-menubar", show);
if (IS_ACTIVE_DISPLAY (shell))
gimp_item_factory_set_active (GTK_ITEM_FACTORY (shell->popup_factory),
"/View/Show Menubar", show);
SET_ACTIVE (shell->popup_manager, "view", "view-show-menubar", show);
}
gboolean
@ -152,12 +157,10 @@ gimp_display_shell_set_show_rulers (GimpDisplayShell *shell,
gtk_table_set_row_spacing (table, 0, 0);
}
gimp_item_factory_set_active (GTK_ITEM_FACTORY (shell->menubar_factory),
"/View/Show Rulers", show);
SET_ACTIVE (shell->menubar_manager, "view", "view-show-rulers", show);
if (IS_ACTIVE_DISPLAY (shell))
gimp_item_factory_set_active (GTK_ITEM_FACTORY (shell->popup_factory),
"/View/Show Rulers", show);
SET_ACTIVE (shell->popup_manager, "view", "view-show-rulers", show);
}
gboolean
@ -208,12 +211,10 @@ gimp_display_shell_set_show_scrollbars (GimpDisplayShell *shell,
gtk_box_set_spacing (vbox, 0);
}
gimp_item_factory_set_active (GTK_ITEM_FACTORY (shell->menubar_factory),
"/View/Show Scrollbars", show);
SET_ACTIVE (shell->menubar_manager, "view", "view-show-scrollbars", show);
if (IS_ACTIVE_DISPLAY (shell))
gimp_item_factory_set_active (GTK_ITEM_FACTORY (shell->popup_factory),
"/View/Show Scrollbars", show);
SET_ACTIVE (shell->popup_manager, "view", "view-show-scrollbars", show);
}
gboolean
@ -249,12 +250,10 @@ gimp_display_shell_set_show_statusbar (GimpDisplayShell *shell,
else
gtk_container_set_border_width (vbox, 0);
gimp_item_factory_set_active (GTK_ITEM_FACTORY (shell->menubar_factory),
"/View/Show Statusbar", show);
SET_ACTIVE (shell->menubar_manager, "view", "view-show-statusbar", show);
if (IS_ACTIVE_DISPLAY (shell))
gimp_item_factory_set_active (GTK_ITEM_FACTORY (shell->popup_factory),
"/View/Show Statusbar", show);
SET_ACTIVE (shell->popup_manager, "view", "view-show-statusbar", show);
}
gboolean
@ -280,12 +279,10 @@ gimp_display_shell_set_show_selection (GimpDisplayShell *shell,
if (shell->select)
gimp_display_shell_selection_set_hidden (shell->select, ! show);
gimp_item_factory_set_active (GTK_ITEM_FACTORY (shell->menubar_factory),
"/View/Show Selection", show);
SET_ACTIVE (shell->menubar_manager, "view", "view-show-selection", show);
if (IS_ACTIVE_DISPLAY (shell))
gimp_item_factory_set_active (GTK_ITEM_FACTORY (shell->popup_factory),
"/View/Show Selection", show);
SET_ACTIVE (shell->popup_manager, "view", "view-show-selection", show);
}
gboolean
@ -311,12 +308,10 @@ gimp_display_shell_set_show_layer (GimpDisplayShell *shell,
if (shell->select)
gimp_display_shell_selection_layer_set_hidden (shell->select, ! show);
gimp_item_factory_set_active (GTK_ITEM_FACTORY (shell->menubar_factory),
"/View/Show Layer Boundary", show);
SET_ACTIVE (shell->menubar_manager, "view", "view-show-layer-boundary", show);
if (IS_ACTIVE_DISPLAY (shell))
gimp_item_factory_set_active (GTK_ITEM_FACTORY (shell->popup_factory),
"/View/Show Layer Boundary", show);
SET_ACTIVE (shell->popup_manager, "view", "view-show-layer-boundary", show);
}
gboolean
@ -342,12 +337,10 @@ gimp_display_shell_set_show_grid (GimpDisplayShell *shell,
if (shell->gdisp->gimage->grid)
gimp_display_shell_expose_full (shell);
gimp_item_factory_set_active (GTK_ITEM_FACTORY (shell->menubar_factory),
"/View/Show Grid", show);
SET_ACTIVE (shell->menubar_manager, "view", "view-show-grid", show);
if (IS_ACTIVE_DISPLAY (shell))
gimp_item_factory_set_active (GTK_ITEM_FACTORY (shell->popup_factory),
"/View/Show Grid", show);
SET_ACTIVE (shell->popup_manager, "view", "view-show-grid", show);
}
gboolean
@ -368,12 +361,10 @@ gimp_display_shell_set_snap_to_grid (GimpDisplayShell *shell,
{
shell->snap_to_grid = snap ? TRUE : FALSE;
gimp_item_factory_set_active (GTK_ITEM_FACTORY (shell->menubar_factory),
"/View/Snap to Grid", snap);
SET_ACTIVE (shell->menubar_manager, "view", "view-snap-to-grid", snap);
if (IS_ACTIVE_DISPLAY (shell))
gimp_item_factory_set_active (GTK_ITEM_FACTORY (shell->popup_factory),
"/View/Snap to Grid", snap);
SET_ACTIVE (shell->popup_manager, "view", "view-snap-to-grid", snap);
}
}
@ -400,12 +391,10 @@ gimp_display_shell_set_show_guides (GimpDisplayShell *shell,
if (shell->gdisp->gimage->guides)
gimp_display_shell_expose_full (shell);
gimp_item_factory_set_active (GTK_ITEM_FACTORY (shell->menubar_factory),
"/View/Show Guides", show);
SET_ACTIVE (shell->menubar_manager, "view", "view-show-guides", show);
if (IS_ACTIVE_DISPLAY (shell))
gimp_item_factory_set_active (GTK_ITEM_FACTORY (shell->popup_factory),
"/View/Show Guides", show);
SET_ACTIVE (shell->popup_manager, "view", "view-show-guides", show);
}
gboolean
@ -416,6 +405,31 @@ gimp_display_shell_get_show_guides (GimpDisplayShell *shell)
return GET_OPTIONS (shell)->show_guides;
}
void
gimp_display_shell_set_snap_to_guides (GimpDisplayShell *shell,
gboolean snap)
{
g_return_if_fail (GIMP_IS_DISPLAY_SHELL (shell));
if (snap != shell->snap_to_guides)
{
shell->snap_to_guides = snap ? TRUE : FALSE;
SET_ACTIVE (shell->menubar_manager, "view", "view-snap-to-guides", snap);
if (IS_ACTIVE_DISPLAY (shell))
SET_ACTIVE (shell->popup_manager, "view", "view-snap-to-guides", snap);
}
}
gboolean
gimp_display_shell_get_snap_to_guides (GimpDisplayShell *shell)
{
g_return_val_if_fail (GIMP_IS_DISPLAY_SHELL (shell), FALSE);
return shell->snap_to_guides;
}
void
gimp_display_shell_set_padding (GimpDisplayShell *shell,
GimpCanvasPaddingMode padding_mode,

View File

@ -60,6 +60,10 @@ void gimp_display_shell_set_show_guides (GimpDisplayShell *shell,
gboolean show);
gboolean gimp_display_shell_get_show_guides (GimpDisplayShell *shell);
void gimp_display_shell_set_snap_to_guides (GimpDisplayShell *shell,
gboolean snap);
gboolean gimp_display_shell_get_snap_to_guides (GimpDisplayShell *shell);
void gimp_display_shell_set_padding (GimpDisplayShell *shell,
GimpCanvasPaddingMode mode,
const GimpRGB *color);

View File

@ -46,8 +46,9 @@
#include "widgets/gimpcursor.h"
#include "widgets/gimpdevices.h"
#include "widgets/gimpdialogfactory.h"
#include "widgets/gimpitemfactory.h"
#include "widgets/gimpdialogfactory.h"
#include "widgets/gimpuimanager.h"
#include "widgets/gimpwidgets-utils.h"
#include "gimpcanvas.h"
@ -235,6 +236,8 @@ gimp_display_shell_events (GtkWidget *widget,
options->padding_mode,
&options->padding_color);
#if 0
FIXME
gimp_item_factory_set_active (GTK_ITEM_FACTORY (shell->menubar_factory),
"/View/Fullscreen", fullscreen);
@ -242,6 +245,7 @@ gimp_display_shell_events (GtkWidget *widget,
gimp_context_get_display (gimp_get_user_context (gimp)))
gimp_item_factory_set_active (GTK_ITEM_FACTORY (shell->popup_factory),
"/View/Fullscreen", fullscreen);
#endif
}
break;
@ -421,7 +425,7 @@ gimp_display_shell_popup_menu (GtkWidget *widget)
gimp_context_set_display (gimp_get_user_context (shell->gdisp->gimage->gimp),
shell->gdisp);
gimp_item_factory_popup_with_data (shell->popup_factory,
gimp_ui_manager_ui_popup (shell->popup_manager, "/image-popup",
shell->gdisp,
GTK_WIDGET (shell),
gimp_display_shell_origin_menu_position,
@ -732,7 +736,7 @@ gimp_display_shell_canvas_tool_events (GtkWidget *canvas,
case 3:
state |= GDK_BUTTON3_MASK;
gimp_item_factory_popup_with_data (shell->popup_factory,
gimp_ui_manager_ui_popup (shell->popup_manager, "/image-popup",
gdisp,
GTK_WIDGET (shell),
NULL, NULL, NULL);
@ -1510,7 +1514,8 @@ gimp_display_shell_qmask_button_press (GtkWidget *widget,
{
if ((bevent->type == GDK_BUTTON_PRESS) && (bevent->button == 3))
{
gimp_item_factory_popup_with_data (shell->qmask_factory, shell,
gimp_ui_manager_ui_popup (shell->menubar_manager, "/qmask-popup",
shell,
GTK_WIDGET (shell),
NULL, NULL, NULL);

View File

@ -57,7 +57,6 @@
#include "widgets/gimpcolorpanel.h"
#include "widgets/gimpdnd.h"
#include "widgets/gimphelp-ids.h"
#include "widgets/gimpitemfactory.h"
#include "widgets/gimpmenufactory.h"
#include "widgets/gimpuimanager.h"
#include "widgets/gimpwidgets-utils.h"
@ -207,10 +206,9 @@ static void
gimp_display_shell_init (GimpDisplayShell *shell)
{
shell->gdisp = NULL;
shell->menubar_factory = NULL;
shell->menubar_manager = NULL;
shell->popup_factory = NULL;
shell->qmask_factory = NULL;
shell->popup_manager = NULL;
shell->scale = 1.0;
shell->other_scale = 0.0;
@ -370,25 +368,13 @@ gimp_display_shell_destroy (GtkObject *object)
if (shell->gdisp)
gimp_display_shell_disconnect (shell);
if (shell->menubar_factory)
{
g_object_unref (shell->menubar_factory);
shell->menubar_factory = NULL;
}
if (shell->menubar_manager)
{
g_object_unref (shell->menubar_manager);
shell->menubar_manager = NULL;
}
shell->popup_factory = NULL;
if (shell->qmask_factory)
{
g_object_unref (shell->qmask_factory);
shell->qmask_factory = NULL;
}
shell->popup_manager = NULL;
if (shell->select)
{
@ -485,22 +471,19 @@ gimp_display_shell_real_scaled (GimpDisplayShell *shell)
gimp_display_shell_update_title (shell);
/* update the <Image>/View/Zoom menu */
gimp_item_factory_update (shell->menubar_factory, shell);
#if 0
gimp_ui_manager_update (shell->menubar_manager, shell);
#endif
user_context = gimp_get_user_context (shell->gdisp->gimage->gimp);
if (shell->gdisp == gimp_context_get_display (user_context))
gimp_item_factory_update (shell->popup_factory, shell);
gimp_ui_manager_update (shell->popup_manager, shell);
}
GtkWidget *
gimp_display_shell_new (GimpDisplay *gdisp,
gdouble scale,
GimpMenuFactory *menu_factory,
GimpItemFactory *popup_factory)
GimpUIManager *popup_manager)
{
GimpDisplayShell *shell;
GimpDisplayConfig *config;
@ -520,7 +503,7 @@ gimp_display_shell_new (GimpDisplay *gdisp,
g_return_val_if_fail (GIMP_IS_DISPLAY (gdisp), NULL);
g_return_val_if_fail (GIMP_IS_MENU_FACTORY (menu_factory), NULL);
g_return_val_if_fail (GIMP_IS_ITEM_FACTORY (popup_factory), NULL);
g_return_val_if_fail (GIMP_IS_UI_MANAGER (popup_manager), NULL);
/* the toplevel shell */
shell = g_object_new (GIMP_TYPE_DISPLAY_SHELL, NULL);
@ -599,29 +582,15 @@ gimp_display_shell_new (GimpDisplay *gdisp,
n_height = s_height;
}
shell->menubar_factory = gimp_menu_factory_menu_new (menu_factory,
"<Image>",
GTK_TYPE_MENU_BAR,
gdisp,
FALSE);
shell->menubar_manager = gimp_menu_factory_manager_new (menu_factory,
"<Image>",
gdisp,
FALSE);
shell->popup_factory = popup_factory;
shell->popup_manager = popup_manager;
shell->qmask_factory = gimp_menu_factory_menu_new (menu_factory,
"<QMask>",
GTK_TYPE_MENU,
shell,
FALSE);
/* The accelerator table for images */
gtk_window_add_accel_group (GTK_WINDOW (shell),
GTK_ITEM_FACTORY (shell->menubar_factory)->accel_group);
gtk_ui_manager_get_accel_group (GTK_UI_MANAGER (shell->menubar_manager)));
/* GtkTable widgets are not able to shrink a row/column correctly if
* widgets are attached with GTK_EXPAND even if those widgets have
@ -667,32 +636,6 @@ gimp_display_shell_new (GimpDisplay *gdisp,
main_vbox = gtk_vbox_new (FALSE, 0);
gtk_container_add (GTK_CONTAINER (shell), main_vbox);
menubar = GTK_ITEM_FACTORY (shell->menubar_factory)->widget;
gtk_box_pack_start (GTK_BOX (main_vbox), menubar, FALSE, FALSE, 0);
if (shell->options->show_menubar)
gtk_widget_show (menubar);
/* make sure we can activate accels even if the menubar is invisible
* (see http://bugzilla.gnome.org/show_bug.cgi?id=137151)
*/
g_signal_connect (menubar, "can-activate-accel",
G_CALLBACK (gtk_true),
NULL);
/* active display callback */
g_signal_connect (menubar, "button_press_event",
G_CALLBACK (gimp_display_shell_events),
shell);
g_signal_connect (menubar, "button_release_event",
G_CALLBACK (gimp_display_shell_events),
shell);
g_signal_connect (menubar, "key_press_event",
G_CALLBACK (gimp_display_shell_events),
shell);
#if 0
menubar = gimp_ui_manager_ui_get (shell->menubar_manager,
"/image-menubar");
gtk_ui_manager_ensure_update (GTK_UI_MANAGER (shell->menubar_manager));
@ -718,7 +661,6 @@ gimp_display_shell_new (GimpDisplay *gdisp,
g_signal_connect (menubar, "key_press_event",
G_CALLBACK (gimp_display_shell_events),
shell);
#endif
/* another vbox for everything except the statusbar */
disp_vbox = gtk_vbox_new (FALSE, 1);

View File

@ -70,11 +70,8 @@ struct _GimpDisplayShell
GimpDisplay *gdisp;
GimpItemFactory *menubar_factory;
GimpUIManager *menubar_manager;
GimpItemFactory *popup_factory;
GimpItemFactory *qmask_factory;
GimpUIManager *popup_manager;
gdouble monitor_xres;
gdouble monitor_yres;
@ -178,7 +175,7 @@ GType gimp_display_shell_get_type (void) G_GNUC_CONST;
GtkWidget * gimp_display_shell_new (GimpDisplay *gdisp,
gdouble scale,
GimpMenuFactory *menu_factory,
GimpItemFactory *popup_factory);
GimpUIManager *popup_manager);
void gimp_display_shell_close (GimpDisplayShell *shell,
gboolean kill_it);

View File

@ -59,56 +59,20 @@ dialogs_sources = \
user-install-dialog.h
menus_sources = \
brushes-menu.c \
brushes-menu.h \
buffers-menu.c \
buffers-menu.h \
channels-menu.c \
channels-menu.h \
colormap-editor-menu.c \
colormap-editor-menu.h \
dialogs-menu.c \
dialogs-menu.h \
documents-menu.c \
documents-menu.h \
error-console-menu.c \
error-console-menu.h \
file-open-menu.c \
file-open-menu.h \
file-save-menu.c \
file-save-menu.h \
fonts-menu.c \
fonts-menu.h \
gradient-editor-menu.c \
gradient-editor-menu.h \
gradients-menu.c \
gradients-menu.h \
image-menu.c \
image-menu.h \
images-menu.c \
images-menu.h \
layers-menu.c \
layers-menu.h \
menus.c \
menus.h \
palette-editor-menu.c \
palette-editor-menu.h \
palettes-menu.c \
palettes-menu.h \
patterns-menu.c \
patterns-menu.h \
plug-in-menus.c \
plug-in-menus.h \
qmask-menu.c \
qmask-menu.h \
templates-menu.c \
templates-menu.h \
tool-options-menu.c \
tool-options-menu.h \
toolbox-menu.c \
toolbox-menu.h \
vectors-menu.c \
vectors-menu.h
toolbox-menu.h
libappgui_a_SOURCES = \
$(dialogs_sources) \

View File

@ -1,108 +0,0 @@
/* The GIMP -- an image manipulation program
* Copyright (C) 1995 Spencer Kimball and Peter Mattis
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*/
#include "config.h"
#include <gtk/gtk.h>
#include "libgimpwidgets/gimpwidgets.h"
#include "gui-types.h"
#include "core/gimpcontext.h"
#include "core/gimpdata.h"
#include "widgets/gimpcontainereditor.h"
#include "widgets/gimpcontainerview.h"
#include "widgets/gimpdatafactoryview.h"
#include "widgets/gimphelp-ids.h"
#include "widgets/gimpitemfactory.h"
#include "actions/data-commands.h"
#include "brushes-menu.h"
#include "menus.h"
#include "gimp-intl.h"
GimpItemFactoryEntry brushes_menu_entries[] =
{
{ { N_("/_Edit Brush..."), NULL,
data_edit_data_cmd_callback, 0,
"<StockItem>", GIMP_STOCK_EDIT },
NULL,
GIMP_HELP_BRUSH_EDIT, NULL },
MENU_SEPARATOR ("/---"),
{ { N_("/_New Brush"), "",
data_new_data_cmd_callback, 0,
"<StockItem>", GTK_STOCK_NEW },
NULL,
GIMP_HELP_BRUSH_NEW, NULL },
{ { N_("/D_uplicate Brush"), NULL,
data_duplicate_data_cmd_callback, 0,
"<StockItem>", GIMP_STOCK_DUPLICATE },
NULL,
GIMP_HELP_BRUSH_DUPLICATE, NULL },
{ { N_("/_Delete Brush"), "",
data_delete_data_cmd_callback, 0,
"<StockItem>", GTK_STOCK_DELETE },
NULL,
GIMP_HELP_BRUSH_DELETE, NULL },
MENU_SEPARATOR ("/---"),
{ { N_("/_Refresh Brushes"), "",
data_refresh_data_cmd_callback, 0,
"<StockItem>", GTK_STOCK_REFRESH },
NULL,
GIMP_HELP_BRUSH_REFRESH, NULL }
};
gint n_brushes_menu_entries = G_N_ELEMENTS (brushes_menu_entries);
void
brushes_menu_update (GtkItemFactory *factory,
gpointer user_data)
{
GimpContainerEditor *editor;
GimpBrush *brush;
GimpData *data = NULL;
editor = GIMP_CONTAINER_EDITOR (user_data);
brush = gimp_context_get_brush (editor->view->context);
if (brush)
data = GIMP_DATA (brush);
#define SET_SENSITIVE(menu,condition) \
gimp_item_factory_set_sensitive (factory, menu, (condition) != 0)
SET_SENSITIVE ("/Edit Brush...",
brush && GIMP_DATA_FACTORY_VIEW (editor)->data_edit_func);
SET_SENSITIVE ("/Duplicate Brush",
brush && GIMP_DATA_GET_CLASS (data)->duplicate);
SET_SENSITIVE ("/Delete Brush",
brush && data->deletable);
#undef SET_SENSITIVE
}

View File

@ -1,31 +0,0 @@
/* The GIMP -- an image manipulation program
* Copyright (C) 1995 Spencer Kimball and Peter Mattis
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*/
#ifndef __BRUSHES_MENU_H__
#define __BRUSHES_MENU_H__
extern GimpItemFactoryEntry brushes_menu_entries[];
extern gint n_brushes_menu_entries;
void brushes_menu_update (GtkItemFactory *factory,
gpointer data);
#endif /* __BRUSHES_MENU_H__ */

View File

@ -1,88 +0,0 @@
/* The GIMP -- an image manipulation program
* Copyright (C) 1995 Spencer Kimball and Peter Mattis
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*/
#include "config.h"
#include <gtk/gtk.h>
#include "libgimpwidgets/gimpwidgets.h"
#include "gui-types.h"
#include "core/gimpcontext.h"
#include "widgets/gimpcontainereditor.h"
#include "widgets/gimpcontainerview.h"
#include "widgets/gimphelp-ids.h"
#include "widgets/gimpitemfactory.h"
#include "actions/buffers-commands.h"
#include "buffers-menu.h"
#include "gimp-intl.h"
GimpItemFactoryEntry buffers_menu_entries[] =
{
{ { N_("/_Paste Buffer"), "",
buffers_paste_buffer_cmd_callback, 0,
"<StockItem>", GTK_STOCK_PASTE },
NULL,
GIMP_HELP_BUFFER_PASTE, NULL },
{ { N_("/Paste Buffer _Into"), NULL,
buffers_paste_buffer_into_cmd_callback, 0,
"<StockItem>", GIMP_STOCK_PASTE_INTO },
NULL,
GIMP_HELP_BUFFER_PASTE_INTO, NULL },
{ { N_("/Paste Buffer as _New"), NULL,
buffers_paste_buffer_as_new_cmd_callback, 0,
"<StockItem>", GIMP_STOCK_PASTE_AS_NEW },
NULL,
GIMP_HELP_BUFFER_PASTE_AS_NEW, NULL },
{ { N_("/_Delete Buffer"), "",
buffers_delete_buffer_cmd_callback, 0,
"<StockItem>", GTK_STOCK_DELETE },
NULL,
GIMP_HELP_BUFFER_DELETE, NULL }
};
gint n_buffers_menu_entries = G_N_ELEMENTS (buffers_menu_entries);
void
buffers_menu_update (GtkItemFactory *factory,
gpointer data)
{
GimpContainerEditor *editor;
GimpBuffer *buffer;
editor = GIMP_CONTAINER_EDITOR (data);
buffer = gimp_context_get_buffer (editor->view->context);
#define SET_SENSITIVE(menu,condition) \
gimp_item_factory_set_sensitive (factory, menu, (condition) != 0)
SET_SENSITIVE ("/Paste Buffer", buffer);
SET_SENSITIVE ("/Paste Buffer Into", buffer);
SET_SENSITIVE ("/Paste Buffer as New", buffer);
SET_SENSITIVE ("/Delete Buffer", buffer);
#undef SET_SENSITIVE
}

View File

@ -1,31 +0,0 @@
/* The GIMP -- an image manipulation program
* Copyright (C) 1995 Spencer Kimball and Peter Mattis
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*/
#ifndef __BUFFERS_MENU_H__
#define __BUFFERS_MENU_H__
extern GimpItemFactoryEntry buffers_menu_entries[];
extern gint n_buffers_menu_entries;
void buffers_menu_update (GtkItemFactory *factory,
gpointer data);
#endif /* __BUFFERS_MENU_H__ */

View File

@ -1,171 +0,0 @@
/* The GIMP -- an image manipulation program
* Copyright (C) 1995 Spencer Kimball and Peter Mattis
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*/
#include "config.h"
#include <gtk/gtk.h>
#include "libgimpwidgets/gimpwidgets.h"
#include "gui-types.h"
#include "core/gimpimage.h"
#include "core/gimplist.h"
#include "widgets/gimpcomponenteditor.h"
#include "widgets/gimphelp-ids.h"
#include "widgets/gimpitemfactory.h"
#include "widgets/gimpitemtreeview.h"
#include "actions/channels-commands.h"
#include "channels-menu.h"
#include "menus.h"
#include "gimp-intl.h"
GimpItemFactoryEntry channels_menu_entries[] =
{
{ { N_("/_Edit Channel Attributes..."), NULL,
channels_edit_attributes_cmd_callback, 0,
"<StockItem>", GIMP_STOCK_EDIT },
NULL,
GIMP_HELP_CHANNEL_EDIT, NULL },
MENU_SEPARATOR ("/---"),
{ { N_("/_New Channel..."), "",
channels_new_cmd_callback, 0,
"<StockItem>", GTK_STOCK_NEW },
NULL,
GIMP_HELP_CHANNEL_NEW, NULL },
{ { N_("/_Raise Channel"), "",
channels_raise_cmd_callback, 0,
"<StockItem>", GTK_STOCK_GO_UP },
NULL,
GIMP_HELP_CHANNEL_RAISE, NULL },
{ { N_("/_Lower Channel"), "",
channels_lower_cmd_callback, 0,
"<StockItem>", GTK_STOCK_GO_DOWN },
NULL,
GIMP_HELP_CHANNEL_LOWER, NULL },
{ { N_("/D_uplicate Channel"), NULL,
channels_duplicate_cmd_callback, 0,
"<StockItem>", GIMP_STOCK_DUPLICATE },
NULL,
GIMP_HELP_CHANNEL_DUPLICATE, NULL },
{ { N_("/_Delete Channel"), "",
channels_delete_cmd_callback, 0,
"<StockItem>", GTK_STOCK_DELETE },
NULL,
GIMP_HELP_CHANNEL_DELETE, NULL },
MENU_SEPARATOR ("/---"),
{ { N_("/Channel to Sele_ction"), NULL,
channels_to_selection_cmd_callback, GIMP_CHANNEL_OP_REPLACE,
"<StockItem>", GIMP_STOCK_SELECTION_REPLACE },
NULL,
GIMP_HELP_CHANNEL_SELECTION_REPLACE, NULL },
{ { N_("/_Add to Selection"), NULL,
channels_to_selection_cmd_callback, GIMP_CHANNEL_OP_ADD,
"<StockItem>", GIMP_STOCK_SELECTION_ADD },
NULL,
GIMP_HELP_CHANNEL_SELECTION_ADD, NULL },
{ { N_("/_Subtract from Selection"), NULL,
channels_to_selection_cmd_callback, GIMP_CHANNEL_OP_SUBTRACT,
"<StockItem>", GIMP_STOCK_SELECTION_SUBTRACT },
NULL,
GIMP_HELP_CHANNEL_SELECTION_SUBTRACT, NULL },
{ { N_("/_Intersect with Selection"), NULL,
channels_to_selection_cmd_callback, GIMP_CHANNEL_OP_INTERSECT,
"<StockItem>", GIMP_STOCK_SELECTION_INTERSECT },
NULL,
GIMP_HELP_CHANNEL_SELECTION_INTERSECT, NULL }
};
gint n_channels_menu_entries = G_N_ELEMENTS (channels_menu_entries);
void
channels_menu_update (GtkItemFactory *factory,
gpointer data)
{
GimpImage *gimage;
GimpChannel *channel = NULL;
gboolean fs = FALSE;
gboolean component = FALSE;
GList *next = NULL;
GList *prev = NULL;
if (GIMP_IS_COMPONENT_EDITOR (data))
{
gimage = GIMP_IMAGE_EDITOR (data)->gimage;
if (gimage)
{
if (GIMP_COMPONENT_EDITOR (data)->clicked_component != -1)
component = TRUE;
}
}
else
{
gimage = GIMP_ITEM_TREE_VIEW (data)->gimage;
if (gimage)
{
GList *list;
channel = gimp_image_get_active_channel (gimage);
for (list = GIMP_LIST (gimage->channels)->list;
list;
list = g_list_next (list))
{
if (channel == (GimpChannel *) list->data)
{
prev = g_list_previous (list);
next = g_list_next (list);
break;
}
}
}
}
if (gimage)
fs = (gimp_image_floating_sel (gimage) != NULL);
#define SET_SENSITIVE(menu,condition) \
gimp_item_factory_set_sensitive (factory, menu, (condition) != 0)
SET_SENSITIVE ("/Edit Channel Attributes...", !fs && channel);
SET_SENSITIVE ("/New Channel...", !fs && gimage);
SET_SENSITIVE ("/Raise Channel", !fs && channel && prev);
SET_SENSITIVE ("/Lower Channel", !fs && channel && next);
SET_SENSITIVE ("/Duplicate Channel", !fs && (channel || component));
SET_SENSITIVE ("/Delete Channel", !fs && channel);
SET_SENSITIVE ("/Channel to Selection", !fs && (channel || component));
SET_SENSITIVE ("/Add to Selection", !fs && (channel || component));
SET_SENSITIVE ("/Subtract from Selection", !fs && (channel || component));
SET_SENSITIVE ("/Intersect with Selection", !fs && (channel || component));
#undef SET_SENSITIVE
}

View File

@ -1,31 +0,0 @@
/* The GIMP -- an image manipulation program
* Copyright (C) 1995 Spencer Kimball and Peter Mattis
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*/
#ifndef __CHANNELS_MENU_H__
#define __CHANNELS_MENU_H__
extern GimpItemFactoryEntry channels_menu_entries[];
extern gint n_channels_menu_entries;
void channels_menu_update (GtkItemFactory *factory,
gpointer data);
#endif /* __CHANNELS_MENU_H__ */

View File

@ -1,88 +0,0 @@
/* The GIMP -- an image manipulation program
* Copyright (C) 1995 Spencer Kimball and Peter Mattis
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*/
#include "config.h"
#include <gtk/gtk.h>
#include "libgimpwidgets/gimpwidgets.h"
#include "gui-types.h"
#include "core/gimpimage.h"
#include "widgets/gimpcolormapeditor.h"
#include "widgets/gimphelp-ids.h"
#include "widgets/gimpitemfactory.h"
#include "actions/colormap-editor-commands.h"
#include "colormap-editor-menu.h"
#include "gimp-intl.h"
GimpItemFactoryEntry colormap_editor_menu_entries[] =
{
{ { N_("/_Edit Color..."), NULL,
colormap_editor_edit_color_cmd_callback, 0,
"<StockItem>", GIMP_STOCK_EDIT },
NULL,
GIMP_HELP_INDEXED_PALETTE_EDIT, NULL },
{ { N_("/_Add Color from FG"), "",
colormap_editor_add_color_cmd_callback, 0,
"<StockItem>", GTK_STOCK_ADD },
NULL,
GIMP_HELP_INDEXED_PALETTE_ADD, NULL },
{ { N_("/_Add Color from BG"), "",
colormap_editor_add_color_cmd_callback, TRUE,
"<StockItem>", GTK_STOCK_ADD },
NULL,
GIMP_HELP_INDEXED_PALETTE_ADD, NULL }
};
gint n_colormap_editor_menu_entries = G_N_ELEMENTS (colormap_editor_menu_entries);
void
colormap_editor_menu_update (GtkItemFactory *factory,
gpointer data)
{
GimpColormapEditor *editor;
GimpImage *gimage;
gboolean indexed = FALSE;
gint num_colors = 0;
editor = GIMP_COLORMAP_EDITOR (data);
gimage = GIMP_IMAGE_EDITOR (editor)->gimage;
if (gimage)
{
indexed = gimp_image_base_type (gimage) == GIMP_INDEXED;
num_colors = gimage->num_cols;
}
#define SET_SENSITIVE(menu,condition) \
gimp_item_factory_set_sensitive (factory, menu, (condition) != 0)
SET_SENSITIVE ("/Edit Color...", gimage && indexed);
SET_SENSITIVE ("/Add Color from FG", gimage && indexed && num_colors < 256);
SET_SENSITIVE ("/Add Color from BG", gimage && indexed && num_colors < 256);
#undef SET_SENSITIVE
}

View File

@ -1,31 +0,0 @@
/* The GIMP -- an image manipulation program
* Copyright (C) 1995 Spencer Kimball and Peter Mattis
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*/
#ifndef __COLORMAP_EDITOR_MENU_H__
#define __COLORMAP_EDITOR_MENU_H__
extern GimpItemFactoryEntry colormap_editor_menu_entries[];
extern gint n_colormap_editor_menu_entries;
void colormap_editor_menu_update (GtkItemFactory *factory,
gpointer data);
#endif /* __COLORMAP_EDITOR_MENU_H__ */

View File

@ -1,392 +0,0 @@
/* The GIMP -- an image manipulation program
* Copyright (C) 1995 Spencer Kimball and Peter Mattis
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*/
#include "config.h"
#include <string.h>
#include <gtk/gtk.h>
#include "libgimpwidgets/gimpwidgets.h"
#include "gui-types.h"
#include "widgets/gimpcontainerview.h"
#include "widgets/gimpcontainerview-utils.h"
#include "widgets/gimpdialogfactory.h"
#include "widgets/gimpdockable.h"
#include "widgets/gimpdockbook.h"
#include "widgets/gimpdocked.h"
#include "widgets/gimphelp-ids.h"
#include "widgets/gimpimagedock.h"
#include "widgets/gimpitemfactory.h"
#include "actions/dockable-commands.h"
#include "dialogs-menu.h"
#include "menus.h"
#include "gimp-intl.h"
#define ADD_TAB(path,id,stock_id,help_id) \
{ { (path), "", dockable_add_tab_cmd_callback, 0, \
"<StockItem>", (stock_id) }, \
(id), (help_id), NULL }
#define PREVIEW_SIZE(path,size) \
{ { (path), NULL, dockable_preview_size_cmd_callback, \
(size), "/Preview Size/Tiny" }, \
NULL, GIMP_HELP_DOCK_PREVIEW_SIZE, NULL }
#define TAB_STYLE(path,style) \
{ { (path), NULL, dockable_tab_style_cmd_callback, \
(style), "/Tab Style/Icon" }, \
NULL, GIMP_HELP_DOCK_TAB_STYLE, NULL }
GimpItemFactoryEntry dialogs_menu_entries[] =
{
{ { "/dialog-menu", NULL, NULL, 0,
"<StockItem>", GTK_STOCK_MISSING_IMAGE },
NULL, NULL, NULL },
MENU_BRANCH (N_("/_Add Tab")),
ADD_TAB (N_("/Add Tab/Tool _Options"), "gimp-tool-options",
GIMP_STOCK_TOOL_OPTIONS, GIMP_HELP_TOOL_OPTIONS_DIALOG),
ADD_TAB (N_("/Add Tab/_Device Status"), "gimp-device-status",
GIMP_STOCK_DEVICE_STATUS, GIMP_HELP_DEVICE_STATUS_DIALOG),
MENU_SEPARATOR ("/Add Tab/---"),
ADD_TAB (N_("/Add Tab/_Layers"), "gimp-layer-list",
GIMP_STOCK_LAYERS, GIMP_HELP_LAYER_DIALOG),
ADD_TAB (N_("/Add Tab/_Channels"), "gimp-channel-list",
GIMP_STOCK_CHANNELS, GIMP_HELP_CHANNEL_DIALOG),
ADD_TAB (N_("/Add Tab/_Paths"), "gimp-vectors-list",
GIMP_STOCK_PATHS, GIMP_HELP_PATH_DIALOG),
ADD_TAB (N_("/Add Tab/Inde_xed Palette"), "gimp-indexed-palette",
GIMP_STOCK_INDEXED_PALETTE, GIMP_HELP_INDEXED_PALETTE_DIALOG),
ADD_TAB (N_("/Add Tab/Histogra_m"), "gimp-histogram-editor",
GIMP_STOCK_HISTOGRAM, GIMP_HELP_HISTOGRAM_DIALOG),
ADD_TAB (N_("/Add Tab/_Selection Editor"), "gimp-selection-editor",
GIMP_STOCK_TOOL_RECT_SELECT, GIMP_HELP_SELECTION_DIALOG),
ADD_TAB (N_("/Add Tab/Na_vigation"), "gimp-navigation-view",
GIMP_STOCK_NAVIGATION, GIMP_HELP_NAVIGATION_DIALOG),
ADD_TAB (N_("/Add Tab/_Undo History"), "gimp-undo-history",
GIMP_STOCK_UNDO_HISTORY, GIMP_HELP_UNDO_DIALOG),
MENU_SEPARATOR ("/Add Tab/---"),
ADD_TAB (N_("/Add Tab/Colo_rs"), "gimp-color-editor",
GIMP_STOCK_DEFAULT_COLORS, GIMP_HELP_COLOR_DIALOG),
ADD_TAB (N_("/Add Tab/Brus_hes"), "gimp-brush-grid",
GIMP_STOCK_BRUSH, GIMP_HELP_BRUSH_DIALOG),
ADD_TAB (N_("/Add Tab/P_atterns"), "gimp-pattern-grid",
GIMP_STOCK_PATTERN, GIMP_HELP_PATTERN_DIALOG),
ADD_TAB (N_("/Add Tab/_Gradients"), "gimp-gradient-list",
GIMP_STOCK_GRADIENT, GIMP_HELP_GRADIENT_DIALOG),
ADD_TAB (N_("/Add Tab/Pal_ettes"), "gimp-palette-list",
GIMP_STOCK_PALETTE, GIMP_HELP_PALETTE_DIALOG),
ADD_TAB (N_("/Add Tab/_Fonts"), "gimp-font-list",
GIMP_STOCK_FONT, GIMP_HELP_FONT_DIALOG),
ADD_TAB (N_("/Add Tab/_Buffers"), "gimp-buffer-list",
GIMP_STOCK_BUFFER, GIMP_HELP_BUFFER_DIALOG),
MENU_SEPARATOR ("/Add Tab/---"),
ADD_TAB (N_("/Add Tab/_Images"), "gimp-image-list",
GIMP_STOCK_IMAGES, GIMP_HELP_IMAGE_DIALOG),
ADD_TAB (N_("/Add Tab/Document Histor_y"), "gimp-document-list",
GTK_STOCK_OPEN, GIMP_HELP_DOCUMENT_DIALOG),
ADD_TAB (N_("/Add Tab/_Templates"), "gimp-template-list",
GIMP_STOCK_TEMPLATE, GIMP_HELP_TEMPLATE_DIALOG),
ADD_TAB (N_("/Add Tab/T_ools"), "gimp-tool-list",
GIMP_STOCK_TOOLS, GIMP_HELP_TOOLS_DIALOG),
ADD_TAB (N_("/Add Tab/Error Co_nsole"), "gimp-error-console",
GIMP_STOCK_WARNING, GIMP_HELP_ERRORS_DIALOG),
{ { N_("/_Close Tab"), "",
dockable_close_tab_cmd_callback, 0,
"<StockItem>", GTK_STOCK_CLOSE },
NULL,
GIMP_HELP_DOCK_TAB_CLOSE, NULL },
{ { N_("/_Detach Tab"), "",
dockable_detach_tab_cmd_callback, 0,
"<StockItem>", GTK_STOCK_CONVERT },
NULL,
GIMP_HELP_DOCK_TAB_DETACH, NULL },
MENU_SEPARATOR ("/properties-separator"),
MENU_BRANCH (N_("/Preview Si_ze")),
{ { N_("/Preview Size/_Tiny"), NULL,
dockable_preview_size_cmd_callback,
GIMP_PREVIEW_SIZE_TINY, "<RadioItem>" },
NULL,
GIMP_HELP_DOCK_PREVIEW_SIZE, NULL },
PREVIEW_SIZE (N_("/Preview Size/E_xtra Small"), GIMP_PREVIEW_SIZE_EXTRA_SMALL),
PREVIEW_SIZE (N_("/Preview Size/_Small"), GIMP_PREVIEW_SIZE_SMALL),
PREVIEW_SIZE (N_("/Preview Size/_Medium"), GIMP_PREVIEW_SIZE_MEDIUM),
PREVIEW_SIZE (N_("/Preview Size/_Large"), GIMP_PREVIEW_SIZE_LARGE),
PREVIEW_SIZE (N_("/Preview Size/Ex_tra Large"), GIMP_PREVIEW_SIZE_EXTRA_LARGE),
PREVIEW_SIZE (N_("/Preview Size/_Huge"), GIMP_PREVIEW_SIZE_HUGE),
PREVIEW_SIZE (N_("/Preview Size/_Enormous"), GIMP_PREVIEW_SIZE_ENORMOUS),
PREVIEW_SIZE (N_("/Preview Size/_Gigantic"), GIMP_PREVIEW_SIZE_GIGANTIC),
MENU_BRANCH (N_("/_Tab Style")),
{ { N_("/Tab Style/_Icon"), NULL,
dockable_tab_style_cmd_callback,
GIMP_TAB_STYLE_ICON, "<RadioItem>" },
NULL,
GIMP_HELP_DOCK_TAB_STYLE, NULL },
TAB_STYLE (N_("/Tab Style/Current _Status"), GIMP_TAB_STYLE_PREVIEW),
TAB_STYLE (N_("/Tab Style/_Text"), GIMP_TAB_STYLE_NAME),
TAB_STYLE (N_("/Tab Style/I_con & Text"), GIMP_TAB_STYLE_ICON_NAME),
TAB_STYLE (N_("/Tab Style/St_atus & Text"), GIMP_TAB_STYLE_PREVIEW_NAME),
{ { N_("/View as _List"), NULL,
dockable_toggle_view_cmd_callback, GIMP_VIEW_TYPE_LIST, "<RadioItem>" },
NULL,
GIMP_HELP_DOCK_VIEW_AS_LIST, NULL },
{ { N_("/View as _Grid"), NULL,
dockable_toggle_view_cmd_callback, GIMP_VIEW_TYPE_GRID, "/View as List" },
NULL,
GIMP_HELP_DOCK_VIEW_AS_GRID, NULL },
MENU_SEPARATOR ("/image-menu-separator"),
{ { N_("/Show Image _Menu"), NULL,
dockable_toggle_image_menu_cmd_callback, 0, "<ToggleItem>" },
NULL,
GIMP_HELP_DOCK_IMAGE_MENU, NULL },
{ { N_("/Auto Follow Active _Image"), NULL,
dockable_toggle_auto_cmd_callback, 0, "<ToggleItem>" },
NULL,
GIMP_HELP_DOCK_AUTO_BUTTON, NULL },
{ { N_("/Move to Screen..."), NULL,
dockable_change_screen_cmd_callback, 0,
"<StockItem>", GIMP_STOCK_MOVE_TO_SCREEN },
NULL,
GIMP_HELP_DOCK_CHANGE_SCREEN, NULL }
};
#undef ADD_TAB
#undef PREVIEW_SIZE
#undef TAB_STYLE
gint n_dialogs_menu_entries = G_N_ELEMENTS (dialogs_menu_entries);
void
dialogs_menu_update (GtkItemFactory *factory,
gpointer data)
{
GimpDockable *dockable;
GimpDockbook *dockbook;
GimpDialogFactoryEntry *entry;
GimpContainerView *view;
GimpViewType view_type = -1;
gboolean list_view_available = FALSE;
gboolean grid_view_available = FALSE;
GimpPreviewSize preview_size = -1;
GimpTabStyle tab_style = -1;
gint n_pages = 0;
gint n_screens = 1;
if (GIMP_IS_DOCKBOOK (data))
{
gint page_num;
dockbook = GIMP_DOCKBOOK (data);
page_num = gtk_notebook_get_current_page (GTK_NOTEBOOK (dockbook));
dockable = (GimpDockable *)
gtk_notebook_get_nth_page (GTK_NOTEBOOK (dockbook), page_num);
}
else if (GIMP_IS_DOCKABLE (data))
{
dockable = GIMP_DOCKABLE (data);
dockbook = dockable->dockbook;
}
else
{
return;
}
gimp_dialog_factory_from_widget (GTK_WIDGET (dockable), &entry);
if (entry)
{
gchar *identifier;
gchar *substring = NULL;
identifier = g_strdup (entry->identifier);
if ((substring = strstr (identifier, "grid")))
view_type = GIMP_VIEW_TYPE_GRID;
else if ((substring = strstr (identifier, "list")))
view_type = GIMP_VIEW_TYPE_LIST;
if (substring)
{
memcpy (substring, "list", 4);
if (gimp_dialog_factory_find_entry (dockbook->dock->dialog_factory,
identifier))
list_view_available = TRUE;
memcpy (substring, "grid", 4);
if (gimp_dialog_factory_find_entry (dockbook->dock->dialog_factory,
identifier))
grid_view_available = TRUE;
}
g_free (identifier);
}
view = gimp_container_view_get_by_dockable (dockable);
if (view)
preview_size = view->preview_size;
tab_style = dockable->tab_style;
n_pages = gtk_notebook_get_n_pages (GTK_NOTEBOOK (dockbook));
#define SET_ACTIVE(path,active) \
gimp_item_factory_set_active (factory, (path), (active) != 0)
#define SET_VISIBLE(path,active) \
gimp_item_factory_set_visible (factory, (path), (active) != 0)
#define SET_SENSITIVE(path,sensitive) \
gimp_item_factory_set_sensitive (factory, (path), (sensitive) != 0)
SET_VISIBLE ("/properties-separator",
preview_size != -1 ||
n_pages > 1 ||
view_type != -1);
SET_VISIBLE ("/Preview Size", preview_size != -1);
if (preview_size != -1)
{
if (preview_size >= GIMP_PREVIEW_SIZE_GIGANTIC)
{
SET_ACTIVE ("/Preview Size/Gigantic", TRUE);
}
else if (preview_size >= GIMP_PREVIEW_SIZE_ENORMOUS)
{
SET_ACTIVE ("/Preview Size/Enormous", TRUE);
}
else if (preview_size >= GIMP_PREVIEW_SIZE_HUGE)
{
SET_ACTIVE ("/Preview Size/Huge", TRUE);
}
else if (preview_size >= GIMP_PREVIEW_SIZE_EXTRA_LARGE)
{
SET_ACTIVE ("/Preview Size/Extra Large", TRUE);
}
else if (preview_size >= GIMP_PREVIEW_SIZE_LARGE)
{
SET_ACTIVE ("/Preview Size/Large", TRUE);
}
else if (preview_size >= GIMP_PREVIEW_SIZE_MEDIUM)
{
SET_ACTIVE ("/Preview Size/Medium", TRUE);
}
else if (preview_size >= GIMP_PREVIEW_SIZE_SMALL)
{
SET_ACTIVE ("/Preview Size/Small", TRUE);
}
else if (preview_size >= GIMP_PREVIEW_SIZE_EXTRA_SMALL)
{
SET_ACTIVE ("/Preview Size/Extra Small", TRUE);
}
else if (preview_size >= GIMP_PREVIEW_SIZE_TINY)
{
SET_ACTIVE ("/Preview Size/Tiny", TRUE);
}
}
SET_VISIBLE ("/Tab Style", n_pages > 1);
if (n_pages > 1)
{
GimpDockedInterface *docked_iface;
docked_iface = GIMP_DOCKED_GET_INTERFACE (GTK_BIN (dockable)->child);
if (tab_style == GIMP_TAB_STYLE_ICON)
SET_ACTIVE ("/Tab Style/Icon", TRUE);
else if (tab_style == GIMP_TAB_STYLE_PREVIEW)
SET_ACTIVE ("/Tab Style/Current Status", TRUE);
else if (tab_style == GIMP_TAB_STYLE_NAME)
SET_ACTIVE ("/Tab Style/Text", TRUE);
else if (tab_style == GIMP_TAB_STYLE_ICON_NAME)
SET_ACTIVE ("/Tab Style/Icon & Text", TRUE);
else if (tab_style == GIMP_TAB_STYLE_PREVIEW_NAME)
SET_ACTIVE ("/Tab Style/Status & Text", TRUE);
SET_SENSITIVE ("/Tab Style/Current Status", docked_iface->get_preview);
SET_SENSITIVE ("/Tab Style/Status & Text", docked_iface->get_preview);
}
SET_VISIBLE ("/View as Grid", view_type != -1);
SET_VISIBLE ("/View as List", view_type != -1);
if (view_type != -1)
{
if (view_type == GIMP_VIEW_TYPE_LIST)
SET_ACTIVE ("/View as List", TRUE);
else
SET_ACTIVE ("/View as Grid", TRUE);
SET_SENSITIVE ("/View as Grid", grid_view_available);
SET_SENSITIVE ("/View as List", list_view_available);
}
n_screens = gdk_display_get_n_screens
(gtk_widget_get_display (GTK_WIDGET (dockbook->dock)));
if (GIMP_IS_IMAGE_DOCK (dockbook->dock))
{
GimpImageDock *image_dock = GIMP_IMAGE_DOCK (dockbook->dock);
SET_VISIBLE ("/image-menu-separator", TRUE);
SET_VISIBLE ("/Show Image Menu", TRUE);
SET_VISIBLE ("/Auto Follow Active Image", TRUE);
SET_ACTIVE ("/Show Image Menu", image_dock->show_image_menu);
SET_ACTIVE ("/Auto Follow Active Image", image_dock->auto_follow_active);
}
else
{
SET_VISIBLE ("/image-menu-separator", n_screens > 1);
SET_VISIBLE ("/Show Image Menu", FALSE);
SET_VISIBLE ("/Auto Follow Active Image", FALSE);
}
SET_VISIBLE ("/Move to Screen...", n_screens > 1);
#undef SET_ACTIVE
#undef SET_VISIBLE
#undef SET_SENSITIVE
}

View File

@ -1,31 +0,0 @@
/* The GIMP -- an image manipulation program
* Copyright (C) 1995 Spencer Kimball and Peter Mattis
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*/
#ifndef __DIALOGS_MENU_H__
#define __DIALOGS_MENU_H__
extern GimpItemFactoryEntry dialogs_menu_entries[];
extern gint n_dialogs_menu_entries;
void dialogs_menu_update (GtkItemFactory *factory,
gpointer data);
#endif /* __DIALOGS_MENU_H__ */

View File

@ -264,3 +264,21 @@ dialogs_exit (Gimp *gimp)
global_dock_factory = NULL;
}
}
GtkWidget *
dialogs_get_toolbox (void)
{
GList *list;
g_return_val_if_fail (GIMP_IS_DIALOG_FACTORY (global_toolbox_factory), NULL);
for (list = global_toolbox_factory->open_dialogs;
list;
list = g_list_next (list))
{
if (GTK_WIDGET_TOPLEVEL (list->data))
return list->data;
}
return NULL;
}

View File

@ -28,5 +28,7 @@ extern GimpDialogFactory *global_toolbox_factory;
void dialogs_init (Gimp *gimp);
void dialogs_exit (Gimp *gimp);
GtkWidget * dialogs_get_toolbox (void);
#endif /* __DIALOGS_H__ */

View File

@ -1,110 +0,0 @@
/* The GIMP -- an image manipulation program
* Copyright (C) 1995 Spencer Kimball and Peter Mattis
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*/
#include "config.h"
#include <gtk/gtk.h>
#include "libgimpwidgets/gimpwidgets.h"
#include "gui-types.h"
#include "core/gimpcontext.h"
#include "widgets/gimpcontainereditor.h"
#include "widgets/gimpcontainerview.h"
#include "widgets/gimphelp-ids.h"
#include "widgets/gimpitemfactory.h"
#include "actions/documents-commands.h"
#include "documents-menu.h"
#include "menus.h"
#include "gimp-intl.h"
GimpItemFactoryEntry documents_menu_entries[] =
{
{ { N_("/_Open Image"), "",
documents_open_document_cmd_callback, 0,
"<StockItem>", GTK_STOCK_OPEN },
NULL,
GIMP_HELP_DOCUMENT_OPEN, NULL },
{ { N_("/_Raise or Open Image"), "",
documents_raise_or_open_document_cmd_callback, 0,
"<StockItem>", GTK_STOCK_OPEN },
NULL,
GIMP_HELP_DOCUMENT_OPEN, NULL },
{ { N_("/File Open _Dialog"), "",
documents_file_open_dialog_cmd_callback, 0,
"<StockItem>", GTK_STOCK_OPEN },
NULL,
GIMP_HELP_DOCUMENT_OPEN, NULL },
{ { N_("/Remove _Entry"), NULL,
documents_remove_document_cmd_callback, 0,
"<StockItem>", GTK_STOCK_REMOVE },
NULL,
GIMP_HELP_DOCUMENT_REMOVE, NULL },
MENU_SEPARATOR ("/---"),
{ { N_("/Recreate _Preview"), "",
documents_recreate_preview_cmd_callback, 0,
"<StockItem>", GTK_STOCK_REFRESH },
NULL,
GIMP_HELP_DOCUMENT_REFRESH, NULL },
{ { N_("/Reload _all Previews"), "",
documents_reload_previews_cmd_callback, 0,
"<StockItem>", GTK_STOCK_REFRESH },
NULL,
GIMP_HELP_DOCUMENT_REFRESH, NULL },
{ { N_("/Remove Dangling E_ntries"), "",
documents_delete_dangling_documents_cmd_callback, 0,
"<StockItem>", GTK_STOCK_REFRESH },
NULL,
GIMP_HELP_DOCUMENT_REFRESH, NULL },
};
gint n_documents_menu_entries = G_N_ELEMENTS (documents_menu_entries);
void
documents_menu_update (GtkItemFactory *factory,
gpointer data)
{
GimpContainerEditor *editor;
GimpImagefile *imagefile;
editor = GIMP_CONTAINER_EDITOR (data);
imagefile = gimp_context_get_imagefile (editor->view->context);
#define SET_SENSITIVE(menu,condition) \
gimp_item_factory_set_sensitive (factory, menu, (condition) != 0)
SET_SENSITIVE ("/Open Image", imagefile);
SET_SENSITIVE ("/Raise or Open Image", imagefile);
SET_SENSITIVE ("/File Open Dialog", TRUE);
SET_SENSITIVE ("/Remove Entry", imagefile);
SET_SENSITIVE ("/Recreate Preview", imagefile);
SET_SENSITIVE ("/Reload all Previews", imagefile);
SET_SENSITIVE ("/Remove Dangling Entries", imagefile);
#undef SET_SENSITIVE
}

View File

@ -1,31 +0,0 @@
/* The GIMP -- an image manipulation program
* Copyright (C) 1995 Spencer Kimball and Peter Mattis
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*/
#ifndef __DOCUMENTS_MENU_H__
#define __DOCUMENTS_MENU_H__
extern GimpItemFactoryEntry documents_menu_entries[];
extern gint n_documents_menu_entries;
void documents_menu_update (GtkItemFactory *factory,
gpointer data);
#endif /* __DOCUMENTS_MENU_H__ */

View File

@ -1,83 +0,0 @@
/* The GIMP -- an image manipulation program
* Copyright (C) 1995 Spencer Kimball and Peter Mattis
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*/
#include "config.h"
#include <gtk/gtk.h>
#include "libgimpwidgets/gimpwidgets.h"
#include "gui-types.h"
#include "widgets/gimperrorconsole.h"
#include "widgets/gimphelp-ids.h"
#include "widgets/gimpitemfactory.h"
#include "actions/error-console-commands.h"
#include "error-console-menu.h"
#include "gimp-intl.h"
GimpItemFactoryEntry error_console_menu_entries[] =
{
{ { N_("/_Clear Errors"), "",
error_console_clear_cmd_callback, 0,
"<StockItem>", GTK_STOCK_CLEAR },
NULL,
GIMP_HELP_ERRORS_CLEAR, NULL },
{ { "/---", NULL, NULL, 0, "<Separator>", NULL }, NULL, NULL, NULL },
{ { N_("/Save _All Errors to File..."), "",
error_console_save_all_cmd_callback, 0,
"<StockItem>", GTK_STOCK_SAVE_AS },
NULL,
GIMP_HELP_ERRORS_SAVE, NULL },
{ { N_("/Save _Selection to File..."), "",
error_console_save_selection_cmd_callback, 0,
"<StockItem>", GTK_STOCK_SAVE_AS },
NULL,
GIMP_HELP_ERRORS_SAVE, NULL }
};
gint n_error_console_menu_entries = G_N_ELEMENTS (error_console_menu_entries);
void
error_console_menu_update (GtkItemFactory *factory,
gpointer data)
{
GimpErrorConsole *console;
gboolean selection;
console = GIMP_ERROR_CONSOLE (data);
selection = gtk_text_buffer_get_selection_bounds (console->text_buffer,
NULL, NULL);
#define SET_SENSITIVE(menu,condition) \
gimp_item_factory_set_sensitive (factory, menu, (condition) != 0)
SET_SENSITIVE ("/Clear Errors", TRUE);
SET_SENSITIVE ("/Save All Errors to File...", TRUE);
SET_SENSITIVE ("/Save Selection to File...", selection);
#undef SET_SENSITIVE
}

View File

@ -1,31 +0,0 @@
/* The GIMP -- an image manipulation program
* Copyright (C) 1995 Spencer Kimball and Peter Mattis
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*/
#ifndef __ERROR_CONSOLE_MENU_H__
#define __ERROR_CONSOLE_MENU_H__
extern GimpItemFactoryEntry error_console_menu_entries[];
extern gint n_error_console_menu_entries;
void error_console_menu_update (GtkItemFactory *factory,
gpointer data);
#endif /* __ERROR_CONSOLE_MENU_H__ */

View File

@ -37,7 +37,6 @@
#include "actions/file-commands.h"
#include "file-open-menu.h"
#include "menus.h"
#include "gimp-intl.h"
@ -49,7 +48,7 @@ GimpItemFactoryEntry file_open_menu_entries[] =
NULL,
GIMP_HELP_FILE_OPEN_BY_EXTENSION, NULL },
MENU_SEPARATOR ("/---")
{ { "/---", NULL, NULL, 0, "<Separator>" }, NULL, NULL, NULL }
};
gint n_file_open_menu_entries = G_N_ELEMENTS (file_open_menu_entries);

View File

@ -38,7 +38,6 @@
#include "actions/file-commands.h"
#include "file-save-menu.h"
#include "menus.h"
#include "gimp-intl.h"
@ -50,7 +49,7 @@ GimpItemFactoryEntry file_save_menu_entries[] =
NULL,
GIMP_HELP_FILE_SAVE_BY_EXTENSION, NULL },
MENU_SEPARATOR ("/---")
{ { "/---", NULL, NULL, 0, "<Separator>" }, NULL, NULL, NULL }
};
gint n_file_save_menu_entries = G_N_ELEMENTS (file_save_menu_entries);

Some files were not shown because too many files have changed in this diff Show More