mirror of https://github.com/GNOME/gimp.git
libgimpwidgets/gimpbutton.c libgimpwidgets/gimpcolorarea.c
2001-11-28 Michael Natterer <mitch@gimp.org> * libgimpwidgets/gimpbutton.c * libgimpwidgets/gimpcolorarea.c * libgimpwidgets/gimpcolorbutton.c * libgimpwidgets/gimpoffsetarea.c: fixed button_press event handling, removed double g_return_if_fail()s, misc. cleanup. * app/display/gimpdisplayshell.c: removed the SET_COLOR() stuff here... * app/gui/menus.c: ...and added it here so it actually works. * app/widgets/gimpcolorpanel.c: add color previews to the item_factory. * app/widgets/gimpdockbook.c: use the item_factory functions now that they are in widgets/. * app/widgets/gimpitemfactory.[ch]: nothing, we just want to keep the RCS hirtory.
This commit is contained in:
parent
7933764758
commit
ae06cd2dda
22
ChangeLog
22
ChangeLog
|
@ -1,3 +1,25 @@
|
|||
2001-11-28 Michael Natterer <mitch@gimp.org>
|
||||
|
||||
* libgimpwidgets/gimpbutton.c
|
||||
* libgimpwidgets/gimpcolorarea.c
|
||||
* libgimpwidgets/gimpcolorbutton.c
|
||||
* libgimpwidgets/gimpoffsetarea.c: fixed button_press event handling,
|
||||
removed double g_return_if_fail()s, misc. cleanup.
|
||||
|
||||
* app/display/gimpdisplayshell.c: removed the SET_COLOR() stuff
|
||||
here...
|
||||
|
||||
* app/gui/menus.c: ...and added it here so it actually works.
|
||||
|
||||
* app/widgets/gimpcolorpanel.c: add color previews to the
|
||||
item_factory.
|
||||
|
||||
* app/widgets/gimpdockbook.c: use the item_factory functions now
|
||||
that they are in widgets/.
|
||||
|
||||
* app/widgets/gimpitemfactory.[ch]: nothing, we just want to keep
|
||||
the RCS hirtory.
|
||||
|
||||
2001-11-27 Daniel Egger <degger@fhm.edu>
|
||||
|
||||
* app/paint-funcs/paint-funcs-generic.h
|
||||
|
|
|
@ -962,8 +962,6 @@ gimp_display_shell_set_menu_sensitivity (GimpDisplayShell *shell)
|
|||
|
||||
#define SET_ACTIVE(menu,condition) \
|
||||
gimp_menu_item_set_active ("<Image>/" menu, (condition) != 0)
|
||||
#define SET_COLOR(menu,color) \
|
||||
gimp_menu_item_set_color ("<Image>/" menu, (color), FALSE)
|
||||
#define SET_SENSITIVE(menu,condition) \
|
||||
gimp_menu_item_set_sensitive ("<Image>/" menu, (condition) != 0)
|
||||
|
||||
|
@ -1000,9 +998,6 @@ gimp_display_shell_set_menu_sensitivity (GimpDisplayShell *shell)
|
|||
SET_SENSITIVE ("Edit/Fill with FG Color", lp);
|
||||
SET_SENSITIVE ("Edit/Fill with BG Color", lp);
|
||||
SET_SENSITIVE ("Edit/Stroke", lp);
|
||||
|
||||
SET_COLOR ("Edit/Fill with FG Color", &fg);
|
||||
SET_COLOR ("Edit/Fill with BG Color", &bg);
|
||||
}
|
||||
|
||||
SET_SENSITIVE ("Select", gdisp && lp);
|
||||
|
@ -1088,7 +1083,6 @@ gimp_display_shell_set_menu_sensitivity (GimpDisplayShell *shell)
|
|||
SET_SENSITIVE ("Script-Fu", gdisp && lp);
|
||||
|
||||
#undef SET_ACTIVE
|
||||
#undef SET_COLOR
|
||||
#undef SET_SENSITIVE
|
||||
|
||||
plug_in_set_menu_sensitivity (type);
|
||||
|
|
|
@ -962,8 +962,6 @@ gimp_display_shell_set_menu_sensitivity (GimpDisplayShell *shell)
|
|||
|
||||
#define SET_ACTIVE(menu,condition) \
|
||||
gimp_menu_item_set_active ("<Image>/" menu, (condition) != 0)
|
||||
#define SET_COLOR(menu,color) \
|
||||
gimp_menu_item_set_color ("<Image>/" menu, (color), FALSE)
|
||||
#define SET_SENSITIVE(menu,condition) \
|
||||
gimp_menu_item_set_sensitive ("<Image>/" menu, (condition) != 0)
|
||||
|
||||
|
@ -1000,9 +998,6 @@ gimp_display_shell_set_menu_sensitivity (GimpDisplayShell *shell)
|
|||
SET_SENSITIVE ("Edit/Fill with FG Color", lp);
|
||||
SET_SENSITIVE ("Edit/Fill with BG Color", lp);
|
||||
SET_SENSITIVE ("Edit/Stroke", lp);
|
||||
|
||||
SET_COLOR ("Edit/Fill with FG Color", &fg);
|
||||
SET_COLOR ("Edit/Fill with BG Color", &bg);
|
||||
}
|
||||
|
||||
SET_SENSITIVE ("Select", gdisp && lp);
|
||||
|
@ -1088,7 +1083,6 @@ gimp_display_shell_set_menu_sensitivity (GimpDisplayShell *shell)
|
|||
SET_SENSITIVE ("Script-Fu", gdisp && lp);
|
||||
|
||||
#undef SET_ACTIVE
|
||||
#undef SET_COLOR
|
||||
#undef SET_SENSITIVE
|
||||
|
||||
plug_in_set_menu_sensitivity (type);
|
||||
|
|
|
@ -30,6 +30,7 @@
|
|||
#include "gui-types.h"
|
||||
|
||||
#include "core/gimp.h"
|
||||
#include "core/gimpcontext.h"
|
||||
#include "core/gimplist.h"
|
||||
#include "core/gimptoolinfo.h"
|
||||
|
||||
|
@ -79,19 +80,21 @@ static void menus_tools_create (GimpToolInfo *tool_info)
|
|||
static void menus_last_opened_update_labels (GimpContainer *container,
|
||||
GimpImagefile *unused,
|
||||
Gimp *gimp);
|
||||
static void menus_color_changed (GimpContext *context,
|
||||
const GimpRGB *unused,
|
||||
Gimp *gimp);
|
||||
#ifdef ENABLE_DEBUG_ENTRY
|
||||
static void menus_debug_recurse_menu (GtkWidget *menu,
|
||||
gint depth,
|
||||
gchar *path);
|
||||
static void menus_debug_cmd_callback (GtkWidget *widget,
|
||||
gpointer data,
|
||||
guint action);
|
||||
static void menus_debug_recurse_menu (GtkWidget *menu,
|
||||
gint depth,
|
||||
gchar *path);
|
||||
static void menus_debug_cmd_callback (GtkWidget *widget,
|
||||
gpointer data,
|
||||
guint action);
|
||||
#endif /* ENABLE_DEBUG_ENTRY */
|
||||
|
||||
|
||||
#define SEPARATOR(path) \
|
||||
{ { (path), NULL, NULL, 0, "<Separator>" }, NULL, NULL, NULL }
|
||||
|
||||
#define BRANCH(path) \
|
||||
{ { (path), NULL, NULL, 0, "<Branch>" }, NULL, NULL, NULL }
|
||||
|
||||
|
@ -280,14 +283,12 @@ static GimpItemFactoryEntry toolbox_entries[] =
|
|||
|
||||
{ { N_("/Help/Mem Profile"), NULL,
|
||||
mem_profile_cmd_callback, 0 },
|
||||
NULL,
|
||||
NULL, NULL },
|
||||
NULL, NULL, NULL }
|
||||
|
||||
#ifdef ENABLE_DEBUG_ENTRY
|
||||
{ { "/Help/Dump Items (Debug)", NULL,
|
||||
menus_debug_cmd_callback, 0 },
|
||||
NULL,
|
||||
NULL, NULL }
|
||||
, { { "/Help/Dump Items (Debug)", NULL,
|
||||
menus_debug_cmd_callback, 0 },
|
||||
NULL, NULL, NULL }
|
||||
#endif
|
||||
};
|
||||
|
||||
|
@ -297,8 +298,7 @@ static GimpItemFactoryEntry toolbox_entries[] =
|
|||
static GimpItemFactoryEntry image_entries[] =
|
||||
{
|
||||
{ { "/tearoff1", NULL, gimp_item_factory_tearoff_callback, 0, "<Tearoff>" },
|
||||
NULL,
|
||||
NULL, NULL },
|
||||
NULL, NULL, NULL },
|
||||
|
||||
/* <Image>/File */
|
||||
|
||||
|
@ -1989,6 +1989,17 @@ menus_init (Gimp *gimp)
|
|||
gimp);
|
||||
|
||||
menus_last_opened_update_labels (gimp->documents, NULL, gimp);
|
||||
|
||||
g_signal_connect (G_OBJECT (gimp_get_user_context (gimp)),
|
||||
"foreground_changed",
|
||||
G_CALLBACK (menus_color_changed),
|
||||
gimp);
|
||||
g_signal_connect (G_OBJECT (gimp_get_user_context (gimp)),
|
||||
"background_changed",
|
||||
G_CALLBACK (menus_color_changed),
|
||||
gimp);
|
||||
|
||||
menus_color_changed (gimp_get_user_context (gimp), NULL, gimp);
|
||||
}
|
||||
|
||||
void
|
||||
|
@ -2418,6 +2429,21 @@ menus_last_opened_update_labels (GimpContainer *container,
|
|||
}
|
||||
}
|
||||
|
||||
static void
|
||||
menus_color_changed (GimpContext *context,
|
||||
const GimpRGB *unused,
|
||||
Gimp *gimp)
|
||||
{
|
||||
GimpRGB fg;
|
||||
GimpRGB bg;
|
||||
|
||||
gimp_context_get_foreground (context, &fg);
|
||||
gimp_context_get_background (context, &bg);
|
||||
|
||||
gimp_menu_item_set_color ("<Image>/Edit/Fill with FG Color", &fg, FALSE);
|
||||
gimp_menu_item_set_color ("<Image>/Edit/Fill with BG Color", &bg, FALSE);
|
||||
}
|
||||
|
||||
|
||||
#ifdef ENABLE_DEBUG_ENTRY
|
||||
|
||||
|
|
|
@ -30,6 +30,7 @@
|
|||
#include "gui-types.h"
|
||||
|
||||
#include "core/gimp.h"
|
||||
#include "core/gimpcontext.h"
|
||||
#include "core/gimplist.h"
|
||||
#include "core/gimptoolinfo.h"
|
||||
|
||||
|
@ -79,19 +80,21 @@ static void menus_tools_create (GimpToolInfo *tool_info)
|
|||
static void menus_last_opened_update_labels (GimpContainer *container,
|
||||
GimpImagefile *unused,
|
||||
Gimp *gimp);
|
||||
static void menus_color_changed (GimpContext *context,
|
||||
const GimpRGB *unused,
|
||||
Gimp *gimp);
|
||||
#ifdef ENABLE_DEBUG_ENTRY
|
||||
static void menus_debug_recurse_menu (GtkWidget *menu,
|
||||
gint depth,
|
||||
gchar *path);
|
||||
static void menus_debug_cmd_callback (GtkWidget *widget,
|
||||
gpointer data,
|
||||
guint action);
|
||||
static void menus_debug_recurse_menu (GtkWidget *menu,
|
||||
gint depth,
|
||||
gchar *path);
|
||||
static void menus_debug_cmd_callback (GtkWidget *widget,
|
||||
gpointer data,
|
||||
guint action);
|
||||
#endif /* ENABLE_DEBUG_ENTRY */
|
||||
|
||||
|
||||
#define SEPARATOR(path) \
|
||||
{ { (path), NULL, NULL, 0, "<Separator>" }, NULL, NULL, NULL }
|
||||
|
||||
#define BRANCH(path) \
|
||||
{ { (path), NULL, NULL, 0, "<Branch>" }, NULL, NULL, NULL }
|
||||
|
||||
|
@ -280,14 +283,12 @@ static GimpItemFactoryEntry toolbox_entries[] =
|
|||
|
||||
{ { N_("/Help/Mem Profile"), NULL,
|
||||
mem_profile_cmd_callback, 0 },
|
||||
NULL,
|
||||
NULL, NULL },
|
||||
NULL, NULL, NULL }
|
||||
|
||||
#ifdef ENABLE_DEBUG_ENTRY
|
||||
{ { "/Help/Dump Items (Debug)", NULL,
|
||||
menus_debug_cmd_callback, 0 },
|
||||
NULL,
|
||||
NULL, NULL }
|
||||
, { { "/Help/Dump Items (Debug)", NULL,
|
||||
menus_debug_cmd_callback, 0 },
|
||||
NULL, NULL, NULL }
|
||||
#endif
|
||||
};
|
||||
|
||||
|
@ -297,8 +298,7 @@ static GimpItemFactoryEntry toolbox_entries[] =
|
|||
static GimpItemFactoryEntry image_entries[] =
|
||||
{
|
||||
{ { "/tearoff1", NULL, gimp_item_factory_tearoff_callback, 0, "<Tearoff>" },
|
||||
NULL,
|
||||
NULL, NULL },
|
||||
NULL, NULL, NULL },
|
||||
|
||||
/* <Image>/File */
|
||||
|
||||
|
@ -1989,6 +1989,17 @@ menus_init (Gimp *gimp)
|
|||
gimp);
|
||||
|
||||
menus_last_opened_update_labels (gimp->documents, NULL, gimp);
|
||||
|
||||
g_signal_connect (G_OBJECT (gimp_get_user_context (gimp)),
|
||||
"foreground_changed",
|
||||
G_CALLBACK (menus_color_changed),
|
||||
gimp);
|
||||
g_signal_connect (G_OBJECT (gimp_get_user_context (gimp)),
|
||||
"background_changed",
|
||||
G_CALLBACK (menus_color_changed),
|
||||
gimp);
|
||||
|
||||
menus_color_changed (gimp_get_user_context (gimp), NULL, gimp);
|
||||
}
|
||||
|
||||
void
|
||||
|
@ -2418,6 +2429,21 @@ menus_last_opened_update_labels (GimpContainer *container,
|
|||
}
|
||||
}
|
||||
|
||||
static void
|
||||
menus_color_changed (GimpContext *context,
|
||||
const GimpRGB *unused,
|
||||
Gimp *gimp)
|
||||
{
|
||||
GimpRGB fg;
|
||||
GimpRGB bg;
|
||||
|
||||
gimp_context_get_foreground (context, &fg);
|
||||
gimp_context_get_background (context, &bg);
|
||||
|
||||
gimp_menu_item_set_color ("<Image>/Edit/Fill with FG Color", &fg, FALSE);
|
||||
gimp_menu_item_set_color ("<Image>/Edit/Fill with BG Color", &bg, FALSE);
|
||||
}
|
||||
|
||||
|
||||
#ifdef ENABLE_DEBUG_ENTRY
|
||||
|
||||
|
|
|
@ -22,12 +22,20 @@
|
|||
|
||||
#include <gtk/gtk.h>
|
||||
|
||||
#include "libgimpcolor/gimpcolor.h"
|
||||
|
||||
#include "widgets-types.h"
|
||||
|
||||
#include "core/gimp.h"
|
||||
#include "core/gimpcontext.h"
|
||||
|
||||
#include "gui/gui-types.h"
|
||||
#include "gui/color-notebook.h"
|
||||
|
||||
#include "gimpcolorpanel.h"
|
||||
#include "gimpitemfactory.h"
|
||||
|
||||
#include "app_procs.h"
|
||||
|
||||
|
||||
struct _GimpColorPanel
|
||||
|
@ -40,17 +48,20 @@ struct _GimpColorPanel
|
|||
|
||||
|
||||
/* local function prototypes */
|
||||
static void gimp_color_panel_class_init (GimpColorPanelClass *klass);
|
||||
static void gimp_color_panel_init (GimpColorPanel *panel);
|
||||
|
||||
static void gimp_color_panel_destroy (GtkObject *object);
|
||||
static void gimp_color_panel_color_changed (GimpColorButton *button);
|
||||
static void gimp_color_panel_clicked (GtkButton *button);
|
||||
static void gimp_color_panel_class_init (GimpColorPanelClass *klass);
|
||||
static void gimp_color_panel_init (GimpColorPanel *panel);
|
||||
|
||||
static void gimp_color_panel_select_callback (ColorNotebook *notebook,
|
||||
const GimpRGB *color,
|
||||
ColorNotebookState state,
|
||||
gpointer data);
|
||||
static void gimp_color_panel_destroy (GtkObject *object);
|
||||
static gboolean gimp_color_panel_button_press (GtkWidget *widget,
|
||||
GdkEventButton *bevent);
|
||||
static void gimp_color_panel_color_changed (GimpColorButton *button);
|
||||
static void gimp_color_panel_clicked (GtkButton *button);
|
||||
|
||||
static void gimp_color_panel_select_callback (ColorNotebook *notebook,
|
||||
const GimpRGB *color,
|
||||
ColorNotebookState state,
|
||||
gpointer data);
|
||||
|
||||
|
||||
static GimpColorButtonClass *parent_class = NULL;
|
||||
|
@ -88,16 +99,19 @@ static void
|
|||
gimp_color_panel_class_init (GimpColorPanelClass *klass)
|
||||
{
|
||||
GtkObjectClass *object_class;
|
||||
GtkWidgetClass *widget_class;
|
||||
GtkButtonClass *button_class;
|
||||
GimpColorButtonClass *color_button_class;
|
||||
|
||||
object_class = GTK_OBJECT_CLASS (klass);
|
||||
widget_class = GTK_WIDGET_CLASS (klass);
|
||||
button_class = GTK_BUTTON_CLASS (klass);
|
||||
color_button_class = GIMP_COLOR_BUTTON_CLASS (klass);
|
||||
|
||||
parent_class = g_type_class_peek_parent (klass);
|
||||
|
||||
object_class->destroy = gimp_color_panel_destroy;
|
||||
widget_class->button_press_event = gimp_color_panel_button_press;
|
||||
button_class->clicked = gimp_color_panel_clicked;
|
||||
color_button_class->color_changed = gimp_color_panel_color_changed;
|
||||
}
|
||||
|
@ -125,8 +139,39 @@ gimp_color_panel_destroy (GtkObject *object)
|
|||
panel->color_notebook = NULL;
|
||||
}
|
||||
|
||||
if (GTK_OBJECT_CLASS (parent_class)->destroy)
|
||||
GTK_OBJECT_CLASS (parent_class)->destroy (object);
|
||||
GTK_OBJECT_CLASS (parent_class)->destroy (object);
|
||||
}
|
||||
|
||||
static gboolean
|
||||
gimp_color_panel_button_press (GtkWidget *widget,
|
||||
GdkEventButton *bevent)
|
||||
{
|
||||
if (bevent->button == 3)
|
||||
{
|
||||
GimpColorButton *color_button;
|
||||
GimpRGB fg, bg, black, white;
|
||||
|
||||
color_button = GIMP_COLOR_BUTTON (widget);
|
||||
|
||||
gimp_context_get_foreground (gimp_get_user_context (the_gimp), &fg);
|
||||
gimp_context_get_background (gimp_get_user_context (the_gimp), &bg);
|
||||
gimp_rgba_set (&black, 0.0, 0.0, 0.0, 1.0);
|
||||
gimp_rgba_set (&white, 1.0, 1.0, 1.0, 1.0);
|
||||
|
||||
gimp_item_factory_set_color (color_button->item_factory,
|
||||
"/Foreground Color", &fg, FALSE);
|
||||
gimp_item_factory_set_color (color_button->item_factory,
|
||||
"/Background Color", &bg, FALSE);
|
||||
gimp_item_factory_set_color (color_button->item_factory,
|
||||
"/Black", &black, FALSE);
|
||||
gimp_item_factory_set_color (color_button->item_factory,
|
||||
"/White", &white, FALSE);
|
||||
}
|
||||
|
||||
if (GTK_WIDGET_CLASS (parent_class)->button_press_event)
|
||||
return GTK_WIDGET_CLASS (parent_class)->button_press_event (widget, bevent);
|
||||
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
GtkWidget *
|
||||
|
|
|
@ -34,6 +34,7 @@
|
|||
#include "gimpdockable.h"
|
||||
#include "gimpdockbook.h"
|
||||
#include "gimpimagedock.h"
|
||||
#include "gimpitemfactory.h"
|
||||
|
||||
/* EEK, see below */
|
||||
#include "gimpcontainerview.h"
|
||||
|
@ -449,13 +450,8 @@ gimp_dockbook_tab_button_press (GtkWidget *widget,
|
|||
{
|
||||
GimpDialogFactoryEntry *entry;
|
||||
GimpContainerView *view;
|
||||
GtkWidget *list_widget;
|
||||
GtkWidget *grid_widget;
|
||||
GtkWidget *size_widget;
|
||||
GtkWidget *toggle_widget;
|
||||
GtkWidget *auto_widget;
|
||||
gboolean is_grid = FALSE;
|
||||
gint preview_size = 16;
|
||||
GimpPreviewSize preview_size = GIMP_PREVIEW_SIZE_NONE;
|
||||
|
||||
entry = g_object_get_data (G_OBJECT (dockable),
|
||||
"gimp-dialog-factory-entry");
|
||||
|
@ -473,81 +469,61 @@ gimp_dockbook_tab_button_press (GtkWidget *widget,
|
|||
preview_size = view->preview_size;
|
||||
}
|
||||
|
||||
list_widget = gtk_item_factory_get_widget (ifactory, "/View as List");
|
||||
grid_widget = gtk_item_factory_get_widget (ifactory, "/View as Grid");
|
||||
toggle_widget = gtk_item_factory_get_widget (ifactory,
|
||||
"/Show Image Menu");
|
||||
auto_widget = gtk_item_factory_get_widget (ifactory,
|
||||
"/Auto Follow Active Image");
|
||||
#define SET_ACTIVE(path,active) \
|
||||
gimp_item_factory_set_active (ifactory, (path), (active))
|
||||
|
||||
/* yes, this is insane */
|
||||
if (preview_size >= GIMP_PREVIEW_SIZE_GIGANTIC)
|
||||
{
|
||||
size_widget = gtk_item_factory_get_widget (ifactory,
|
||||
"/Preview Size/Gigantic");
|
||||
SET_ACTIVE ("/Preview Size/Gigantic", TRUE);
|
||||
}
|
||||
if (preview_size >= GIMP_PREVIEW_SIZE_ENORMOUS)
|
||||
else if (preview_size >= GIMP_PREVIEW_SIZE_ENORMOUS)
|
||||
{
|
||||
size_widget = gtk_item_factory_get_widget (ifactory,
|
||||
"/Preview Size/Enormous");
|
||||
SET_ACTIVE ("/Preview Size/Enormous", TRUE);
|
||||
}
|
||||
else if (preview_size >= GIMP_PREVIEW_SIZE_HUGE)
|
||||
{
|
||||
size_widget = gtk_item_factory_get_widget (ifactory,
|
||||
"/Preview Size/Huge");
|
||||
SET_ACTIVE ("/Preview Size/Huge", TRUE);
|
||||
}
|
||||
else if (preview_size >= GIMP_PREVIEW_SIZE_EXTRA_LARGE)
|
||||
{
|
||||
size_widget = gtk_item_factory_get_widget (ifactory,
|
||||
"/Preview Size/Extra Large");
|
||||
SET_ACTIVE ("/Preview Size/Extra Large", TRUE);
|
||||
}
|
||||
else if (preview_size >= GIMP_PREVIEW_SIZE_LARGE)
|
||||
{
|
||||
size_widget = gtk_item_factory_get_widget (ifactory,
|
||||
"/Preview Size/Large");
|
||||
SET_ACTIVE ("/Preview Size/Large", TRUE);
|
||||
}
|
||||
else if (preview_size >= GIMP_PREVIEW_SIZE_MEDIUM)
|
||||
{
|
||||
size_widget = gtk_item_factory_get_widget (ifactory,
|
||||
"/Preview Size/Medium");
|
||||
SET_ACTIVE ("/Preview Size/Medium", TRUE);
|
||||
}
|
||||
else if (preview_size >= GIMP_PREVIEW_SIZE_SMALL)
|
||||
{
|
||||
size_widget = gtk_item_factory_get_widget (ifactory,
|
||||
"/Preview Size/Small");
|
||||
SET_ACTIVE ("/Preview Size/Small", TRUE);
|
||||
}
|
||||
else if (preview_size >= GIMP_PREVIEW_SIZE_EXTRA_SMALL)
|
||||
{
|
||||
size_widget = gtk_item_factory_get_widget (ifactory,
|
||||
"/Preview Size/Extra Small");
|
||||
SET_ACTIVE ("/Preview Size/Extra Small", TRUE);
|
||||
}
|
||||
else
|
||||
{
|
||||
size_widget = gtk_item_factory_get_widget (ifactory,
|
||||
"/Preview Size/Tiny");
|
||||
SET_ACTIVE ("/Preview Size/Tiny", TRUE);
|
||||
}
|
||||
|
||||
gtk_check_menu_item_set_active (GTK_CHECK_MENU_ITEM (size_widget),
|
||||
TRUE);
|
||||
|
||||
if (is_grid)
|
||||
{
|
||||
gtk_check_menu_item_set_active (GTK_CHECK_MENU_ITEM (grid_widget),
|
||||
TRUE);
|
||||
SET_ACTIVE ("/View as Grid", TRUE);
|
||||
}
|
||||
else
|
||||
{
|
||||
gtk_check_menu_item_set_active (GTK_CHECK_MENU_ITEM (list_widget),
|
||||
TRUE);
|
||||
SET_ACTIVE ("/View as List", TRUE);
|
||||
}
|
||||
|
||||
gtk_check_menu_item_set_active
|
||||
(GTK_CHECK_MENU_ITEM (toggle_widget),
|
||||
GIMP_IMAGE_DOCK (dockbook->dock)->show_image_menu);
|
||||
SET_ACTIVE ("/Show Image Menu",
|
||||
GIMP_IMAGE_DOCK (dockbook->dock)->show_image_menu);
|
||||
SET_ACTIVE ("/Auto Follow Active Image",
|
||||
GIMP_IMAGE_DOCK (dockbook->dock)->auto_follow_active);
|
||||
|
||||
gtk_check_menu_item_set_active
|
||||
(GTK_CHECK_MENU_ITEM (auto_widget),
|
||||
GIMP_IMAGE_DOCK (dockbook->dock)->auto_follow_active);
|
||||
#undef SET_ACTIVE
|
||||
}
|
||||
|
||||
/* do evil things */
|
||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -16,13 +16,88 @@
|
|||
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
*/
|
||||
|
||||
#ifndef __MENUS_H__
|
||||
#define __MENUS_H__
|
||||
#ifndef __GIMP_ITEM_FACTORY_H__
|
||||
#define __GIMP_ITEM_FACTORY_H__
|
||||
|
||||
G_BEGIN_DECLS
|
||||
|
||||
|
||||
void menus_init (Gimp *gimp);
|
||||
void menus_exit (Gimp *gimp);
|
||||
void menus_restore (Gimp *gimp);
|
||||
typedef struct _GimpItemFactoryEntry GimpItemFactoryEntry;
|
||||
|
||||
struct _GimpItemFactoryEntry
|
||||
{
|
||||
GtkItemFactoryEntry entry;
|
||||
|
||||
const gchar *quark_string;
|
||||
|
||||
const gchar *help_page;
|
||||
const gchar *description;
|
||||
};
|
||||
|
||||
|
||||
#endif /* __MENUS_H__ */
|
||||
GtkItemFactory * gimp_item_factory_new (GType container_type,
|
||||
const gchar *path,
|
||||
const gchar *factory_path,
|
||||
guint n_entries,
|
||||
GimpItemFactoryEntry *entries,
|
||||
gpointer callback_data,
|
||||
gboolean create_tearoff);
|
||||
|
||||
void gimp_item_factory_create_item (GtkItemFactory *item_factory,
|
||||
GimpItemFactoryEntry *entry,
|
||||
gpointer callback_data,
|
||||
guint callback_type,
|
||||
gboolean create_tearoff,
|
||||
gboolean static_entry);
|
||||
void gimp_item_factory_create_items (GtkItemFactory *item_factory,
|
||||
guint n_entries,
|
||||
GimpItemFactoryEntry *entries,
|
||||
gpointer callback_data,
|
||||
guint callback_type,
|
||||
gboolean create_tearoff,
|
||||
gboolean static_entries);
|
||||
|
||||
void gimp_item_factory_set_active (GtkItemFactory *factory,
|
||||
gchar *path,
|
||||
gboolean state);
|
||||
void gimp_item_factory_set_color (GtkItemFactory *factory,
|
||||
gchar *path,
|
||||
const GimpRGB *color,
|
||||
gboolean set_label);
|
||||
void gimp_item_factory_set_label (GtkItemFactory *factory,
|
||||
gchar *path,
|
||||
const gchar *label);
|
||||
void gimp_item_factory_set_sensitive (GtkItemFactory *factory,
|
||||
gchar *path,
|
||||
gboolean sensitive);
|
||||
void gimp_item_factory_set_visible (GtkItemFactory *factory,
|
||||
gchar *path,
|
||||
gboolean visible);
|
||||
|
||||
|
||||
void gimp_item_factory_tearoff_callback (GtkWidget *widget,
|
||||
gpointer data,
|
||||
guint action);
|
||||
|
||||
|
||||
void gimp_menu_item_create (GimpItemFactoryEntry *entry,
|
||||
gchar *domain_name,
|
||||
gpointer callback_data);
|
||||
void gimp_menu_item_destroy (gchar *path);
|
||||
|
||||
void gimp_menu_item_set_active (gchar *path,
|
||||
gboolean state);
|
||||
void gimp_menu_item_set_color (gchar *path,
|
||||
const GimpRGB *color,
|
||||
gboolean set_label);
|
||||
void gimp_menu_item_set_label (gchar *path,
|
||||
const gchar *label);
|
||||
void gimp_menu_item_set_sensitive (gchar *path,
|
||||
gboolean sensitive);
|
||||
void gimp_menu_item_set_visible (gchar *path,
|
||||
gboolean visible);
|
||||
|
||||
|
||||
G_END_DECLS
|
||||
|
||||
#endif /* __GIMP_ITEM_FACTORY_H__ */
|
||||
|
|
|
@ -166,7 +166,7 @@ gimp_button_button_press (GtkWidget *widget,
|
|||
if (GTK_WIDGET_CLASS (parent_class)->button_press_event)
|
||||
return GTK_WIDGET_CLASS (parent_class)->button_press_event (widget, bevent);
|
||||
|
||||
return TRUE;
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
static gboolean
|
||||
|
|
|
@ -43,13 +43,6 @@ enum
|
|||
};
|
||||
|
||||
|
||||
static const GtkTargetEntry targets[] = { { "application/x-color", 0 } };
|
||||
|
||||
static guint gimp_color_area_signals[LAST_SIGNAL] = { 0 };
|
||||
|
||||
static GtkWidgetClass * parent_class = NULL;
|
||||
|
||||
|
||||
static void gimp_color_area_class_init (GimpColorAreaClass *klass);
|
||||
static void gimp_color_area_init (GimpColorArea *gca);
|
||||
|
||||
|
@ -79,12 +72,20 @@ static void gimp_color_area_drag_data_get (GtkWidget *widget,
|
|||
guint info,
|
||||
guint time);
|
||||
|
||||
|
||||
static const GtkTargetEntry targets[] = { { "application/x-color", 0 } };
|
||||
|
||||
static guint gimp_color_area_signals[LAST_SIGNAL] = { 0 };
|
||||
|
||||
static GtkPreviewClass * parent_class = NULL;
|
||||
|
||||
|
||||
GType
|
||||
gimp_color_area_get_type (void)
|
||||
{
|
||||
static GType gca_type = 0;
|
||||
|
||||
if (!gca_type)
|
||||
if (! gca_type)
|
||||
{
|
||||
static const GTypeInfo gca_info =
|
||||
{
|
||||
|
@ -103,7 +104,7 @@ gimp_color_area_get_type (void)
|
|||
"GimpColorArea",
|
||||
&gca_info, 0);
|
||||
}
|
||||
|
||||
|
||||
return gca_type;
|
||||
}
|
||||
|
||||
|
@ -127,8 +128,6 @@ gimp_color_area_class_init (GimpColorAreaClass *klass)
|
|||
g_cclosure_marshal_VOID__VOID,
|
||||
G_TYPE_NONE, 0);
|
||||
|
||||
klass->color_changed = NULL;
|
||||
|
||||
object_class->destroy = gimp_color_area_destroy;
|
||||
|
||||
widget_class->realize = gimp_color_area_realize;
|
||||
|
@ -138,6 +137,8 @@ gimp_color_area_class_init (GimpColorAreaClass *klass)
|
|||
widget_class->drag_end = gimp_color_area_drag_end;
|
||||
widget_class->drag_data_received = gimp_color_area_drag_data_received;
|
||||
widget_class->drag_data_get = gimp_color_area_drag_data_get;
|
||||
|
||||
klass->color_changed = NULL;
|
||||
}
|
||||
|
||||
static void
|
||||
|
@ -158,8 +159,7 @@ static void
|
|||
gimp_color_area_destroy (GtkObject *object)
|
||||
{
|
||||
GimpColorArea *gca;
|
||||
|
||||
g_return_if_fail (object != NULL);
|
||||
|
||||
g_return_if_fail (GIMP_IS_COLOR_AREA (object));
|
||||
|
||||
gca = GIMP_COLOR_AREA (object);
|
||||
|
@ -226,7 +226,7 @@ gimp_color_area_new (const GimpRGB *color,
|
|||
GTK_DEST_DEFAULT_DROP,
|
||||
targets, 1,
|
||||
GDK_ACTION_COPY);
|
||||
|
||||
|
||||
/* do we need this ?? */
|
||||
drag_mask &= (GDK_BUTTON1_MASK | GDK_BUTTON2_MASK | GDK_BUTTON3_MASK);
|
||||
|
||||
|
@ -249,9 +249,7 @@ void
|
|||
gimp_color_area_set_color (GimpColorArea *gca,
|
||||
const GimpRGB *color)
|
||||
{
|
||||
g_return_if_fail (gca != NULL);
|
||||
g_return_if_fail (GIMP_IS_COLOR_AREA (gca));
|
||||
|
||||
g_return_if_fail (color != NULL);
|
||||
|
||||
if (gimp_rgba_distance (&gca->color, color) > 0.000001)
|
||||
|
@ -269,8 +267,8 @@ void
|
|||
gimp_color_area_get_color (GimpColorArea *gca,
|
||||
GimpRGB *color)
|
||||
{
|
||||
g_return_if_fail (gca != NULL);
|
||||
g_return_if_fail (GIMP_IS_COLOR_AREA (gca));
|
||||
g_return_if_fail (color != NULL);
|
||||
|
||||
*color = gca->color;
|
||||
}
|
||||
|
@ -278,13 +276,12 @@ gimp_color_area_get_color (GimpColorArea *gca,
|
|||
gboolean
|
||||
gimp_color_area_has_alpha (GimpColorArea *gca)
|
||||
{
|
||||
g_return_val_if_fail (gca != NULL, FALSE);
|
||||
g_return_val_if_fail (GIMP_IS_COLOR_AREA (gca), FALSE);
|
||||
|
||||
return gca->type != GIMP_COLOR_AREA_FLAT;
|
||||
}
|
||||
|
||||
void
|
||||
void
|
||||
gimp_color_area_set_type (GimpColorArea *gca,
|
||||
GimpColorAreaType type)
|
||||
{
|
||||
|
@ -304,10 +301,9 @@ gimp_color_area_update (GimpColorArea *gca)
|
|||
g_source_remove (gca->idle_id);
|
||||
}
|
||||
|
||||
gca->idle_id =
|
||||
g_idle_add_full (G_PRIORITY_LOW,
|
||||
(GSourceFunc) gimp_color_area_idle_update, gca,
|
||||
NULL);
|
||||
gca->idle_id = g_idle_add_full (G_PRIORITY_LOW,
|
||||
(GSourceFunc) gimp_color_area_idle_update, gca,
|
||||
NULL);
|
||||
}
|
||||
|
||||
static gboolean
|
||||
|
@ -391,7 +387,7 @@ gimp_color_area_idle_update (gpointer data)
|
|||
}
|
||||
|
||||
frac = y - (gdouble) (x * height) / (gdouble) width;
|
||||
|
||||
|
||||
if (((x / check_size) ^ (y / check_size)) & 1)
|
||||
{
|
||||
if ((gint) frac)
|
||||
|
@ -472,13 +468,12 @@ gimp_color_area_drag_begin (GtkWidget *widget,
|
|||
|
||||
gimp_color_area_get_color (GIMP_COLOR_AREA (widget), &color);
|
||||
|
||||
color_area =
|
||||
gimp_color_area_new (&color,
|
||||
GIMP_COLOR_AREA (widget)->type,
|
||||
0);
|
||||
color_area = gimp_color_area_new (&color,
|
||||
GIMP_COLOR_AREA (widget)->type,
|
||||
0);
|
||||
|
||||
gtk_widget_set_size_request (color_area,
|
||||
DRAG_PREVIEW_SIZE, DRAG_PREVIEW_SIZE);
|
||||
DRAG_PREVIEW_SIZE, DRAG_PREVIEW_SIZE);
|
||||
gtk_container_add (GTK_CONTAINER (frame), color_area);
|
||||
gtk_widget_show (color_area);
|
||||
gtk_widget_show (frame);
|
||||
|
|
|
@ -51,30 +51,29 @@ enum
|
|||
};
|
||||
|
||||
|
||||
static void gimp_color_button_class_init (GimpColorButtonClass *klass);
|
||||
static void gimp_color_button_init (GimpColorButton *gcb);
|
||||
static void gimp_color_button_destroy (GtkObject *object);
|
||||
static void gimp_color_button_class_init (GimpColorButtonClass *klass);
|
||||
static void gimp_color_button_init (GimpColorButton *gcb);
|
||||
static void gimp_color_button_destroy (GtkObject *object);
|
||||
|
||||
static void gimp_color_button_clicked (GtkButton *button);
|
||||
static void gimp_color_button_state_changed (GtkWidget *widget,
|
||||
GtkStateType previous_state);
|
||||
static gboolean gimp_color_button_button_press (GtkWidget *widget,
|
||||
GdkEventButton *bevent);
|
||||
static void gimp_color_button_state_changed (GtkWidget *widget,
|
||||
GtkStateType prev_state);
|
||||
static void gimp_color_button_clicked (GtkButton *button);
|
||||
|
||||
static void gimp_color_button_dialog_ok (GtkWidget *widget,
|
||||
gpointer data);
|
||||
static void gimp_color_button_dialog_cancel (GtkWidget *widget,
|
||||
gpointer data);
|
||||
static void gimp_color_button_dialog_ok (GtkWidget *widget,
|
||||
gpointer data);
|
||||
static void gimp_color_button_dialog_cancel (GtkWidget *widget,
|
||||
gpointer data);
|
||||
|
||||
static void gimp_color_button_use_color (gpointer callback_data,
|
||||
guint callback_action,
|
||||
GtkWidget *widget);
|
||||
static gint gimp_color_button_menu_popup (GtkWidget *widget,
|
||||
GdkEvent *event,
|
||||
gpointer data);
|
||||
static gchar * gimp_color_button_menu_translate (const gchar *path,
|
||||
gpointer func_data);
|
||||
static void gimp_color_button_use_color (gpointer callback_data,
|
||||
guint callback_action,
|
||||
GtkWidget *widget);
|
||||
static gchar * gimp_color_button_menu_translate (const gchar *path,
|
||||
gpointer func_data);
|
||||
|
||||
static void gimp_color_button_color_changed (GtkObject *object,
|
||||
gpointer data);
|
||||
static void gimp_color_button_color_changed (GtkObject *object,
|
||||
gpointer data);
|
||||
|
||||
|
||||
static GtkItemFactoryEntry menu_items[] =
|
||||
|
@ -145,13 +144,14 @@ gimp_color_button_class_init (GimpColorButtonClass *klass)
|
|||
g_cclosure_marshal_VOID__VOID,
|
||||
G_TYPE_NONE, 0);
|
||||
|
||||
klass->color_changed = NULL;
|
||||
object_class->destroy = gimp_color_button_destroy;
|
||||
|
||||
object_class->destroy = gimp_color_button_destroy;
|
||||
widget_class->button_press_event = gimp_color_button_button_press;
|
||||
widget_class->state_changed = gimp_color_button_state_changed;
|
||||
|
||||
widget_class->state_changed = gimp_color_button_state_changed;
|
||||
button_class->clicked = gimp_color_button_clicked;
|
||||
|
||||
button_class->clicked = gimp_color_button_clicked;
|
||||
klass->color_changed = NULL;
|
||||
}
|
||||
|
||||
static void
|
||||
|
@ -178,17 +178,14 @@ gimp_color_button_init (GimpColorButton *gcb)
|
|||
NULL, NULL);
|
||||
gtk_item_factory_create_items (gcb->item_factory,
|
||||
G_N_ELEMENTS (menu_items), menu_items, gcb);
|
||||
g_signal_connect (G_OBJECT (gcb), "button_press_event",
|
||||
G_CALLBACK (gimp_color_button_menu_popup),
|
||||
gcb);
|
||||
}
|
||||
|
||||
static void
|
||||
gimp_color_button_destroy (GtkObject *object)
|
||||
{
|
||||
GimpColorButton *gcb = GIMP_COLOR_BUTTON (object);
|
||||
|
||||
g_return_if_fail (gcb != NULL);
|
||||
GimpColorButton *gcb;
|
||||
|
||||
gcb = GIMP_COLOR_BUTTON (object);
|
||||
|
||||
if (gcb->title)
|
||||
{
|
||||
|
@ -212,17 +209,44 @@ gimp_color_button_destroy (GtkObject *object)
|
|||
GTK_OBJECT_CLASS (parent_class)->destroy (object);
|
||||
}
|
||||
|
||||
static gboolean
|
||||
gimp_color_button_button_press (GtkWidget *widget,
|
||||
GdkEventButton *bevent)
|
||||
{
|
||||
GimpColorButton *gcb;
|
||||
gint x;
|
||||
gint y;
|
||||
|
||||
gcb = GIMP_COLOR_BUTTON (widget);
|
||||
|
||||
if (bevent->button == 3)
|
||||
{
|
||||
gdk_window_get_origin (GTK_WIDGET (widget)->window, &x, &y);
|
||||
x += widget->allocation.x;
|
||||
y += widget->allocation.y;
|
||||
|
||||
gtk_item_factory_popup (gcb->item_factory,
|
||||
x + bevent->x, y + bevent->y,
|
||||
bevent->button, bevent->time);
|
||||
}
|
||||
|
||||
if (GTK_WIDGET_CLASS (parent_class)->button_press_event)
|
||||
return GTK_WIDGET_CLASS (parent_class)->button_press_event (widget, bevent);
|
||||
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
static void
|
||||
gimp_color_button_state_changed (GtkWidget *widget,
|
||||
GtkStateType previous_state)
|
||||
GtkStateType prev_state)
|
||||
{
|
||||
g_return_if_fail (GIMP_IS_COLOR_BUTTON (widget));
|
||||
|
||||
if (!GTK_WIDGET_IS_SENSITIVE (widget) && GIMP_COLOR_BUTTON (widget)->dialog)
|
||||
if (! GTK_WIDGET_IS_SENSITIVE (widget) && GIMP_COLOR_BUTTON (widget)->dialog)
|
||||
gtk_widget_hide (GIMP_COLOR_BUTTON (widget)->dialog);
|
||||
|
||||
if (GTK_WIDGET_CLASS (parent_class)->state_changed)
|
||||
GTK_WIDGET_CLASS (parent_class)->state_changed (widget, previous_state);
|
||||
GTK_WIDGET_CLASS (parent_class)->state_changed (widget, prev_state);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -276,9 +300,7 @@ void
|
|||
gimp_color_button_set_color (GimpColorButton *gcb,
|
||||
const GimpRGB *color)
|
||||
{
|
||||
g_return_if_fail (gcb != NULL);
|
||||
g_return_if_fail (GIMP_IS_COLOR_BUTTON (gcb));
|
||||
|
||||
g_return_if_fail (color != NULL);
|
||||
|
||||
gimp_color_area_set_color (GIMP_COLOR_AREA (gcb->color_area), color);
|
||||
|
@ -294,9 +316,7 @@ void
|
|||
gimp_color_button_get_color (GimpColorButton *gcb,
|
||||
GimpRGB *color)
|
||||
{
|
||||
g_return_if_fail (gcb != NULL);
|
||||
g_return_if_fail (color != NULL);
|
||||
|
||||
g_return_if_fail (GIMP_IS_COLOR_BUTTON (gcb));
|
||||
g_return_if_fail (color != NULL);
|
||||
|
||||
gimp_color_area_get_color (GIMP_COLOR_AREA (gcb->color_area), color);
|
||||
|
@ -312,7 +332,7 @@ gimp_color_button_get_color (GimpColorButton *gcb,
|
|||
gboolean
|
||||
gimp_color_button_has_alpha (GimpColorButton *gcb)
|
||||
{
|
||||
g_return_val_if_fail (gcb != NULL, FALSE);
|
||||
g_return_val_if_fail (GIMP_IS_COLOR_BUTTON (gcb), FALSE);
|
||||
|
||||
return gimp_color_area_has_alpha (GIMP_COLOR_AREA (gcb->color_area));
|
||||
}
|
||||
|
@ -321,44 +341,11 @@ void
|
|||
gimp_color_button_set_type (GimpColorButton *gcb,
|
||||
GimpColorAreaType type)
|
||||
{
|
||||
g_return_if_fail (gcb != NULL);
|
||||
g_return_if_fail (GIMP_IS_COLOR_BUTTON (gcb));
|
||||
|
||||
gimp_color_area_set_type (GIMP_COLOR_AREA (gcb->color_area), type);
|
||||
}
|
||||
|
||||
static gint
|
||||
gimp_color_button_menu_popup (GtkWidget *widget,
|
||||
GdkEvent *event,
|
||||
gpointer data)
|
||||
{
|
||||
GimpColorButton *gcb;
|
||||
GdkEventButton *bevent;
|
||||
gint x;
|
||||
gint y;
|
||||
|
||||
g_return_val_if_fail (GIMP_IS_COLOR_BUTTON (data), FALSE);
|
||||
|
||||
gcb = GIMP_COLOR_BUTTON (data);
|
||||
|
||||
if (event->type != GDK_BUTTON_PRESS)
|
||||
return FALSE;
|
||||
|
||||
bevent = (GdkEventButton *) event;
|
||||
|
||||
if (bevent->button != 3)
|
||||
return FALSE;
|
||||
|
||||
gdk_window_get_origin (GTK_WIDGET (widget)->window, &x, &y);
|
||||
x += widget->allocation.x;
|
||||
y += widget->allocation.y;
|
||||
|
||||
gtk_item_factory_popup (gcb->item_factory,
|
||||
x + bevent->x, y + bevent->y,
|
||||
bevent->button, bevent->time);
|
||||
|
||||
return (TRUE);
|
||||
}
|
||||
|
||||
static void
|
||||
gimp_color_button_clicked (GtkButton *button)
|
||||
{
|
||||
|
@ -369,7 +356,7 @@ gimp_color_button_clicked (GtkButton *button)
|
|||
g_return_if_fail (GIMP_IS_COLOR_BUTTON (button));
|
||||
|
||||
gcb = GIMP_COLOR_BUTTON (button);
|
||||
|
||||
|
||||
gimp_color_button_get_color (gcb, &color);
|
||||
|
||||
dcolor[0] = color.r;
|
||||
|
|
|
@ -170,7 +170,6 @@ gimp_offset_area_set_size (GimpOffsetArea *offset_area,
|
|||
gint offset_x;
|
||||
gint offset_y;
|
||||
|
||||
g_return_if_fail (offset_area != NULL);
|
||||
g_return_if_fail (GIMP_IS_OFFSET_AREA (offset_area));
|
||||
|
||||
g_return_if_fail (width > 0 && height > 0);
|
||||
|
@ -225,7 +224,6 @@ gimp_offset_area_set_offsets (GimpOffsetArea *offset_area,
|
|||
gint offset_x,
|
||||
gint offset_y)
|
||||
{
|
||||
g_return_if_fail (offset_area != NULL);
|
||||
g_return_if_fail (GIMP_IS_OFFSET_AREA (offset_area));
|
||||
|
||||
if (offset_area->offset_x != offset_x || offset_area->offset_y != offset_y)
|
||||
|
|
Loading…
Reference in New Issue