draw the tool icons in dockbook tabs using GtkImages, not using

2002-10-15  Sven Neumann  <sven@gimp.org>

	* app/gui/dialogs-constructors.c: draw the tool icons in dockbook
	tabs using GtkImages, not using GimpPreviews.

	* app/widgets/gimptoolbox.c: added a "button_relief" style property
	to GimpToolbox and changed the default style to GTK_RELIEF_NONE.

	* themes/Default/gtkrc: document how to set the style here.
This commit is contained in:
Sven Neumann 2002-10-15 19:07:06 +00:00 committed by Sven Neumann
parent bb2b9f6825
commit eb036a7b2d
5 changed files with 90 additions and 61 deletions

View File

@ -1,3 +1,13 @@
2002-10-15 Sven Neumann <sven@gimp.org>
* app/gui/dialogs-constructors.c: draw the tool icons in dockbook
tabs using GtkImages, not using GimpPreviews.
* app/widgets/gimptoolbox.c: added a "button_relief" style property
to GimpToolbox and changed the default style to GTK_RELIEF_NONE.
* themes/Default/gtkrc: document how to set the style here.
2002-10-15 Sven Neumann <sven@gimp.org>
* app/base/levels.[ch]: added the API for level correction using

View File

@ -1116,31 +1116,33 @@ dialogs_palette_tab_func (GimpDockable *dockable,
return preview;
}
static void
dialogs_tool_tab_tool_changed (GimpContext *context,
GimpToolInfo *tool_info,
GtkImage *image)
{
gtk_image_set_from_stock (image, tool_info->stock_id, image->icon_size);
}
static GtkWidget *
dialogs_tool_tab_func (GimpDockable *dockable,
GimpDockbook *dockbook,
GtkIconSize size)
{
GimpContext *context;
GtkWidget *preview;
gint width;
gint height;
GtkWidget *image;
context = dockbook->dock->context;
gtk_icon_size_lookup (size, &width, &height);
preview =
gimp_preview_new_full (GIMP_VIEWABLE (gimp_context_get_tool (context)),
width, height, 1,
FALSE, FALSE, FALSE);
image = gtk_image_new_from_stock (gimp_context_get_tool (context)->stock_id,
size);
g_signal_connect_object (G_OBJECT (context), "tool_changed",
G_CALLBACK (gimp_preview_set_viewable),
G_OBJECT (preview),
G_CONNECT_SWAPPED);
G_CALLBACK (dialogs_tool_tab_tool_changed),
G_OBJECT (image),
0);
return preview;
return image;
}
static void
@ -1148,7 +1150,11 @@ dialogs_tool_options_tool_changed (GimpContext *context,
GimpToolInfo *tool_info,
GtkLabel *label)
{
gchar *text;
GtkImage *image;
gchar *text;
if (image = g_object_get_data (G_OBJECT (label), "tool-icon"))
gtk_image_set_from_stock (image, tool_info->stock_id, image->icon_size);
text = g_strdup_printf (_("%s Options"), tool_info->blurb);
@ -1169,7 +1175,7 @@ dialogs_tool_options_tab_func (GimpDockable *dockable,
GimpContext *context;
GimpToolInfo *tool_info;
GtkWidget *hbox;
GtkWidget *preview;
GtkWidget *image;
GtkWidget *label;
gchar *text;
gint width;
@ -1183,16 +1189,10 @@ dialogs_tool_options_tab_func (GimpDockable *dockable,
hbox = gtk_hbox_new (FALSE, 2);
preview = gimp_preview_new_full (GIMP_VIEWABLE (tool_info),
width, height, 0,
FALSE, FALSE, FALSE);
gtk_box_pack_start (GTK_BOX (hbox), preview, FALSE, FALSE, 0);
gtk_widget_show (preview);
g_signal_connect_object (G_OBJECT (context), "tool_changed",
G_CALLBACK (gimp_preview_set_viewable),
G_OBJECT (preview),
G_CONNECT_SWAPPED);
image = gtk_image_new_from_stock (gimp_context_get_tool (context)->stock_id,
size);
gtk_box_pack_start (GTK_BOX (hbox), image, FALSE, FALSE, 0);
gtk_widget_show (image);
text = g_strdup_printf (_("%s Options"), tool_info->blurb);
@ -1203,6 +1203,8 @@ dialogs_tool_options_tab_func (GimpDockable *dockable,
gtk_box_pack_start (GTK_BOX (hbox), label, FALSE, FALSE, 0);
gtk_widget_show (label);
g_object_set_data (G_OBJECT (label), "tool-icon", image);
g_signal_connect_object (G_OBJECT (context), "tool_changed",
G_CALLBACK (dialogs_tool_options_tool_changed),
G_OBJECT (label),

View File

@ -1116,31 +1116,33 @@ dialogs_palette_tab_func (GimpDockable *dockable,
return preview;
}
static void
dialogs_tool_tab_tool_changed (GimpContext *context,
GimpToolInfo *tool_info,
GtkImage *image)
{
gtk_image_set_from_stock (image, tool_info->stock_id, image->icon_size);
}
static GtkWidget *
dialogs_tool_tab_func (GimpDockable *dockable,
GimpDockbook *dockbook,
GtkIconSize size)
{
GimpContext *context;
GtkWidget *preview;
gint width;
gint height;
GtkWidget *image;
context = dockbook->dock->context;
gtk_icon_size_lookup (size, &width, &height);
preview =
gimp_preview_new_full (GIMP_VIEWABLE (gimp_context_get_tool (context)),
width, height, 1,
FALSE, FALSE, FALSE);
image = gtk_image_new_from_stock (gimp_context_get_tool (context)->stock_id,
size);
g_signal_connect_object (G_OBJECT (context), "tool_changed",
G_CALLBACK (gimp_preview_set_viewable),
G_OBJECT (preview),
G_CONNECT_SWAPPED);
G_CALLBACK (dialogs_tool_tab_tool_changed),
G_OBJECT (image),
0);
return preview;
return image;
}
static void
@ -1148,7 +1150,11 @@ dialogs_tool_options_tool_changed (GimpContext *context,
GimpToolInfo *tool_info,
GtkLabel *label)
{
gchar *text;
GtkImage *image;
gchar *text;
if (image = g_object_get_data (G_OBJECT (label), "tool-icon"))
gtk_image_set_from_stock (image, tool_info->stock_id, image->icon_size);
text = g_strdup_printf (_("%s Options"), tool_info->blurb);
@ -1169,7 +1175,7 @@ dialogs_tool_options_tab_func (GimpDockable *dockable,
GimpContext *context;
GimpToolInfo *tool_info;
GtkWidget *hbox;
GtkWidget *preview;
GtkWidget *image;
GtkWidget *label;
gchar *text;
gint width;
@ -1183,16 +1189,10 @@ dialogs_tool_options_tab_func (GimpDockable *dockable,
hbox = gtk_hbox_new (FALSE, 2);
preview = gimp_preview_new_full (GIMP_VIEWABLE (tool_info),
width, height, 0,
FALSE, FALSE, FALSE);
gtk_box_pack_start (GTK_BOX (hbox), preview, FALSE, FALSE, 0);
gtk_widget_show (preview);
g_signal_connect_object (G_OBJECT (context), "tool_changed",
G_CALLBACK (gimp_preview_set_viewable),
G_OBJECT (preview),
G_CONNECT_SWAPPED);
image = gtk_image_new_from_stock (gimp_context_get_tool (context)->stock_id,
size);
gtk_box_pack_start (GTK_BOX (hbox), image, FALSE, FALSE, 0);
gtk_widget_show (image);
text = g_strdup_printf (_("%s Options"), tool_info->blurb);
@ -1203,6 +1203,8 @@ dialogs_tool_options_tab_func (GimpDockable *dockable,
gtk_box_pack_start (GTK_BOX (hbox), label, FALSE, FALSE, 0);
gtk_widget_show (label);
g_object_set_data (G_OBJECT (label), "tool-icon", image);
g_signal_connect_object (G_OBJECT (context), "tool_changed",
G_CALLBACK (dialogs_tool_options_tool_changed),
G_OBJECT (label),

View File

@ -52,6 +52,7 @@
#define DEFAULT_TOOL_ICON_SIZE GTK_ICON_SIZE_BUTTON
#define DEFAULT_BUTTON_RELIEF GTK_RELIEF_NONE
/* local function prototypes */
@ -144,12 +145,21 @@ gimp_toolbox_class_init (GimpToolboxClass *klass)
widget_class->size_allocate = gimp_toolbox_size_allocate;
widget_class->style_set = gimp_toolbox_style_set;
gtk_widget_class_install_style_property (widget_class,
g_param_spec_enum ("tool_icon_size",
NULL, NULL,
GTK_TYPE_ICON_SIZE,
DEFAULT_TOOL_ICON_SIZE,
G_PARAM_READABLE));
gtk_widget_class_install_style_property
(widget_class,
g_param_spec_enum ("tool_icon_size",
NULL, NULL,
GTK_TYPE_ICON_SIZE,
DEFAULT_TOOL_ICON_SIZE,
G_PARAM_READABLE));
gtk_widget_class_install_style_property
(widget_class,
g_param_spec_enum ("button_relief",
NULL, NULL,
GTK_TYPE_RELIEF_STYLE,
DEFAULT_BUTTON_RELIEF,
G_PARAM_READABLE));
}
static void
@ -279,11 +289,12 @@ static void
gimp_toolbox_style_set (GtkWidget *widget,
GtkStyle *previous_style)
{
Gimp *gimp;
GimpToolInfo *tool_info;
GtkWidget *tool_button;
GtkIconSize tool_icon_size;
GList *list;
Gimp *gimp;
GimpToolInfo *tool_info;
GtkWidget *tool_button;
GtkIconSize tool_icon_size;
GtkReliefStyle relief;
GList *list;
if (GTK_WIDGET_CLASS (parent_class)->style_set)
GTK_WIDGET_CLASS (parent_class)->style_set (widget, previous_style);
@ -295,6 +306,7 @@ gimp_toolbox_style_set (GtkWidget *widget,
gtk_widget_style_get (widget,
"tool_icon_size", &tool_icon_size,
"button_relief", &relief,
NULL);
for (list = GIMP_LIST (gimp->tool_info_list)->list;
@ -314,6 +326,8 @@ gimp_toolbox_style_set (GtkWidget *widget,
gtk_image_get_stock (image, &stock_id, NULL);
gtk_image_set_from_stock (image, stock_id, tool_icon_size);
gtk_button_set_relief (tool_button, relief);
}
}

View File

@ -75,6 +75,7 @@ style "gimp-default-style"
GimpImageDock::minimal_width = 250
GimpImageDock::menu_preview_size = button
GimpToolbox::tool_icon_size = button
GimpToolbox::button_relief = none
GimpDockbook::tab_border = 0
GimpDockbook::tab_size = button
GimpDockable::content_border = 2