mirror of https://github.com/GNOME/gimp.git
added construct properties to make it possible to derive from
2004-05-05 Sven Neumann <sven@gimp.org> * app/widgets/gimpviewabledialog.c: added construct properties to make it possible to derive from GimpViewableDialog. * app/widgets/gimptooldialog.[ch]: make GimpToolDialog a real object, not just a convenience constructor. * themes/Default/gtkrc * themes/Small/gtkrc: set a smaller border_width of 6 pixels for the action area of tool dialogs. * app/tools/gimpcolorpickertool.c * app/tools/gimpimagemaptool.c: set a smaller border_width of 6 pixels on tool dialogs to make them more compact.
This commit is contained in:
parent
144e5999d2
commit
58bcea08cc
16
ChangeLog
16
ChangeLog
|
@ -1,3 +1,19 @@
|
|||
2004-05-05 Sven Neumann <sven@gimp.org>
|
||||
|
||||
* app/widgets/gimpviewabledialog.c: added construct properties to
|
||||
make it possible to derive from GimpViewableDialog.
|
||||
|
||||
* app/widgets/gimptooldialog.[ch]: make GimpToolDialog a real
|
||||
object, not just a convenience constructor.
|
||||
|
||||
* themes/Default/gtkrc
|
||||
* themes/Small/gtkrc: set a smaller border_width of 6 pixels for
|
||||
the action area of tool dialogs.
|
||||
|
||||
* app/tools/gimpcolorpickertool.c
|
||||
* app/tools/gimpimagemaptool.c: set a smaller border_width of 6
|
||||
pixels on tool dialogs to make them more compact.
|
||||
|
||||
2004-05-05 Michael Natterer <mitch@gimp.org>
|
||||
|
||||
* libgimpwidgets/gimpoffsetarea.[ch]: added new function
|
||||
|
|
|
@ -326,7 +326,7 @@ gimp_color_picker_tool_info_create (GimpColorPickerTool *picker_tool)
|
|||
G_CALLBACK (gimp_color_picker_tool_info_response),
|
||||
picker_tool);
|
||||
|
||||
hbox = gtk_hbox_new (FALSE, 4);
|
||||
hbox = gtk_hbox_new (FALSE, 6);
|
||||
gtk_container_set_border_width (GTK_CONTAINER (hbox), 6);
|
||||
gtk_box_pack_start (GTK_BOX (GTK_DIALOG (picker_tool->dialog)->vbox), hbox,
|
||||
FALSE, FALSE, 0);
|
||||
|
|
|
@ -233,8 +233,8 @@ gimp_image_map_tool_initialize (GimpTool *tool,
|
|||
G_CALLBACK (gimp_image_map_tool_response),
|
||||
G_OBJECT (image_map_tool), 0);
|
||||
|
||||
image_map_tool->main_vbox = vbox = gtk_vbox_new (FALSE, 12);
|
||||
gtk_container_set_border_width (GTK_CONTAINER (vbox), 12);
|
||||
image_map_tool->main_vbox = vbox = gtk_vbox_new (FALSE, 6);
|
||||
gtk_container_set_border_width (GTK_CONTAINER (vbox), 6);
|
||||
gtk_container_add (GTK_CONTAINER (GTK_DIALOG (shell)->vbox), vbox);
|
||||
|
||||
/* The preview toggle */
|
||||
|
|
|
@ -32,7 +32,35 @@
|
|||
|
||||
#include "gimpdialogfactory.h"
|
||||
#include "gimptooldialog.h"
|
||||
#include "gimpviewabledialog.h"
|
||||
|
||||
|
||||
GType
|
||||
gimp_tool_dialog_get_type (void)
|
||||
{
|
||||
static GType dialog_type = 0;
|
||||
|
||||
if (! dialog_type)
|
||||
{
|
||||
static const GTypeInfo dialog_info =
|
||||
{
|
||||
sizeof (GimpToolDialogClass),
|
||||
(GBaseInitFunc) NULL,
|
||||
(GBaseFinalizeFunc) NULL,
|
||||
(GClassInitFunc) NULL,
|
||||
NULL, /* class_finalize */
|
||||
NULL, /* class_data */
|
||||
sizeof (GimpToolDialog),
|
||||
0, /* n_preallocs */
|
||||
(GInstanceInitFunc) NULL
|
||||
};
|
||||
|
||||
dialog_type = g_type_register_static (GIMP_TYPE_VIEWABLE_DIALOG,
|
||||
"GimpToolDialog",
|
||||
&dialog_info, 0);
|
||||
}
|
||||
|
||||
return dialog_type;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
|
@ -66,15 +94,16 @@ gimp_tool_dialog_new (GimpToolInfo *tool_info,
|
|||
|
||||
stock_id = gimp_viewable_get_stock_id (GIMP_VIEWABLE (tool_info));
|
||||
|
||||
dialog = gimp_viewable_dialog_new (NULL,
|
||||
tool_info->blurb,
|
||||
GIMP_OBJECT (tool_info)->name,
|
||||
stock_id,
|
||||
desc ? desc : tool_info->help,
|
||||
parent,
|
||||
gimp_standard_help_func,
|
||||
tool_info->help_id,
|
||||
NULL);
|
||||
dialog = g_object_new (GIMP_TYPE_TOOL_DIALOG,
|
||||
"title", tool_info->blurb,
|
||||
"role", GIMP_OBJECT (tool_info)->name,
|
||||
"stock_id", stock_id,
|
||||
"description", desc ? desc : tool_info->help,
|
||||
"parent", parent,
|
||||
NULL);
|
||||
|
||||
gimp_help_connect (GTK_WIDGET (dialog),
|
||||
gimp_standard_help_func, tool_info->help_id, dialog);
|
||||
|
||||
va_start (args, desc);
|
||||
gimp_dialog_add_buttons_valist (GIMP_DIALOG (dialog), args);
|
||||
|
|
|
@ -22,11 +22,27 @@
|
|||
#ifndef __GIMP_TOOL_DIALOG_H__
|
||||
#define __GIMP_TOOL_DIALOG_H__
|
||||
|
||||
#include "widgets/gimpviewabledialog.h"
|
||||
|
||||
GtkWidget * gimp_tool_dialog_new (GimpToolInfo *tool_info,
|
||||
GtkWidget *parent,
|
||||
const gchar *desc,
|
||||
...);
|
||||
|
||||
#define GIMP_TYPE_TOOL_DIALOG (gimp_tool_dialog_get_type ())
|
||||
#define GIMP_TOOL_DIALOG(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GIMP_TYPE_TOOL_DIALOG, GimpToolDialog))
|
||||
#define GIMP_TOOL_DIALOG_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GIMP_TYPE_TOOL_DIALOG, GimpToolDialogClass))
|
||||
#define GIMP_IS_TOOL_DIALOG(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GIMP_TYPE_TOOL_DIALOG))
|
||||
#define GIMP_IS_TOOL_DIALOG_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GIMP_TYPE_TOOL_DIALOG))
|
||||
#define GIMP_TOOL_DIALOG_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GIMP_TYPE_TOOL_DIALOG, GimpToolDialogClass))
|
||||
|
||||
|
||||
typedef struct _GimpViewableDialogClass GimpToolDialogClass;
|
||||
typedef struct _GimpViewableDialog GimpToolDialog;
|
||||
|
||||
|
||||
GType gimp_tool_dialog_get_type (void) G_GNUC_CONST;
|
||||
|
||||
GtkWidget * gimp_tool_dialog_new (GimpToolInfo *tool_info,
|
||||
GtkWidget *parent,
|
||||
const gchar *desc,
|
||||
...);
|
||||
|
||||
|
||||
#endif /* __GIMP_TOOL_DIALOG_H__ */
|
||||
|
|
|
@ -36,9 +36,23 @@
|
|||
#include "gimpviewabledialog.h"
|
||||
|
||||
|
||||
enum
|
||||
{
|
||||
PROP_0,
|
||||
PROP_STOCK_ID,
|
||||
PROP_DESC,
|
||||
PROP_PARENT
|
||||
};
|
||||
|
||||
|
||||
static void gimp_viewable_dialog_class_init (GimpViewableDialogClass *klass);
|
||||
static void gimp_viewable_dialog_init (GimpViewableDialog *dialog);
|
||||
|
||||
static void gimp_viewable_dialog_set_property (GObject *object,
|
||||
guint property_id,
|
||||
const GValue *value,
|
||||
GParamSpec *pspec);
|
||||
|
||||
static void gimp_viewable_dialog_destroy (GtkObject *object);
|
||||
|
||||
static void gimp_viewable_dialog_name_changed (GimpObject *object,
|
||||
|
@ -80,13 +94,33 @@ gimp_viewable_dialog_get_type (void)
|
|||
static void
|
||||
gimp_viewable_dialog_class_init (GimpViewableDialogClass *klass)
|
||||
{
|
||||
GtkObjectClass *object_class;
|
||||
GtkObjectClass *gtk_object_class;
|
||||
GObjectClass *object_class;
|
||||
|
||||
object_class = GTK_OBJECT_CLASS (klass);
|
||||
gtk_object_class = GTK_OBJECT_CLASS (klass);
|
||||
object_class = G_OBJECT_CLASS (klass);
|
||||
|
||||
parent_class = g_type_class_peek_parent (klass);
|
||||
|
||||
object_class->destroy = gimp_viewable_dialog_destroy;
|
||||
gtk_object_class->destroy = gimp_viewable_dialog_destroy;
|
||||
|
||||
object_class->set_property = gimp_viewable_dialog_set_property;
|
||||
|
||||
g_object_class_install_property (object_class, PROP_STOCK_ID,
|
||||
g_param_spec_string ("stock-id", NULL, NULL,
|
||||
NULL,
|
||||
G_PARAM_WRITABLE |
|
||||
G_PARAM_CONSTRUCT_ONLY));
|
||||
g_object_class_install_property (object_class, PROP_DESC,
|
||||
g_param_spec_string ("description", NULL, NULL,
|
||||
NULL,
|
||||
G_PARAM_WRITABLE |
|
||||
G_PARAM_CONSTRUCT_ONLY));
|
||||
g_object_class_install_property (object_class, PROP_PARENT,
|
||||
g_param_spec_object ("parent", NULL, NULL,
|
||||
GTK_TYPE_WIDGET,
|
||||
G_PARAM_WRITABLE |
|
||||
G_PARAM_CONSTRUCT_ONLY));
|
||||
}
|
||||
|
||||
static void
|
||||
|
@ -132,18 +166,76 @@ gimp_viewable_dialog_init (GimpViewableDialog *dialog)
|
|||
gtk_box_pack_start (GTK_BOX (vbox), dialog->desc_label, FALSE, FALSE, 0);
|
||||
gtk_widget_show (dialog->desc_label);
|
||||
|
||||
{
|
||||
PangoAttrList *attrs;
|
||||
PangoAttribute *attr;
|
||||
|
||||
attrs = pango_attr_list_new ();
|
||||
|
||||
attr = pango_attr_scale_new (PANGO_SCALE_LARGE);
|
||||
attr->start_index = 0;
|
||||
attr->end_index = -1;
|
||||
pango_attr_list_insert (attrs, attr);
|
||||
|
||||
attr = pango_attr_weight_new (PANGO_WEIGHT_BOLD);
|
||||
attr->start_index = 0;
|
||||
attr->end_index = -1;
|
||||
pango_attr_list_insert (attrs, attr);
|
||||
|
||||
gtk_label_set_attributes (GTK_LABEL (dialog->desc_label), attrs);
|
||||
pango_attr_list_unref (attrs);
|
||||
}
|
||||
|
||||
dialog->viewable_label = gtk_label_new (NULL);
|
||||
gtk_misc_set_alignment (GTK_MISC (dialog->viewable_label), 0.0, 0.5);
|
||||
gtk_box_pack_start (GTK_BOX (vbox), dialog->viewable_label, FALSE, FALSE, 0);
|
||||
gtk_widget_show (dialog->viewable_label);
|
||||
}
|
||||
|
||||
static void
|
||||
gimp_viewable_dialog_set_property (GObject *object,
|
||||
guint property_id,
|
||||
const GValue *value,
|
||||
GParamSpec *pspec)
|
||||
{
|
||||
GimpViewableDialog *dialog = GIMP_VIEWABLE_DIALOG (object);
|
||||
|
||||
switch (property_id)
|
||||
{
|
||||
case PROP_STOCK_ID:
|
||||
gtk_image_set_from_stock (GTK_IMAGE (dialog->icon),
|
||||
g_value_get_string (value),
|
||||
GTK_ICON_SIZE_LARGE_TOOLBAR);
|
||||
break;
|
||||
case PROP_DESC:
|
||||
gtk_label_set_text (GTK_LABEL (dialog->desc_label),
|
||||
g_value_get_string (value));
|
||||
break;
|
||||
case PROP_PARENT:
|
||||
{
|
||||
GtkWidget *parent = g_value_get_object (value);
|
||||
|
||||
if (parent)
|
||||
{
|
||||
if (GTK_IS_WINDOW (parent))
|
||||
gtk_window_set_transient_for (GTK_WINDOW (dialog),
|
||||
GTK_WINDOW (parent));
|
||||
else
|
||||
gtk_window_set_screen (GTK_WINDOW (dialog),
|
||||
gtk_widget_get_screen (parent));
|
||||
}
|
||||
}
|
||||
break;
|
||||
default:
|
||||
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
static void
|
||||
gimp_viewable_dialog_destroy (GtkObject *object)
|
||||
{
|
||||
GimpViewableDialog *dialog;
|
||||
|
||||
dialog = GIMP_VIEWABLE_DIALOG (object);
|
||||
GimpViewableDialog *dialog = GIMP_VIEWABLE_DIALOG (object);
|
||||
|
||||
if (dialog->preview)
|
||||
gimp_viewable_dialog_set_viewable (dialog, NULL);
|
||||
|
@ -164,8 +256,6 @@ gimp_viewable_dialog_new (GimpViewable *viewable,
|
|||
{
|
||||
GimpViewableDialog *dialog;
|
||||
va_list args;
|
||||
PangoAttrList *attrs;
|
||||
PangoAttribute *attr;
|
||||
|
||||
g_return_val_if_fail (! viewable || GIMP_IS_VIEWABLE (viewable), NULL);
|
||||
g_return_val_if_fail (title != NULL, NULL);
|
||||
|
@ -173,19 +263,13 @@ gimp_viewable_dialog_new (GimpViewable *viewable,
|
|||
g_return_val_if_fail (parent == NULL || GTK_IS_WIDGET (parent), NULL);
|
||||
|
||||
dialog = g_object_new (GIMP_TYPE_VIEWABLE_DIALOG,
|
||||
"title", title,
|
||||
"role", role,
|
||||
"title", title,
|
||||
"role", role,
|
||||
"stock_id", stock_id,
|
||||
"description", desc,
|
||||
"parent", parent,
|
||||
NULL);
|
||||
|
||||
if (parent)
|
||||
{
|
||||
if (GTK_IS_WINDOW (parent))
|
||||
gtk_window_set_transient_for (GTK_WINDOW (dialog),
|
||||
GTK_WINDOW (parent));
|
||||
else
|
||||
gtk_window_set_screen (GTK_WINDOW (dialog),
|
||||
gtk_widget_get_screen (parent));
|
||||
}
|
||||
|
||||
if (help_func)
|
||||
gimp_help_connect (GTK_WIDGET (dialog), help_func, help_id, dialog);
|
||||
|
@ -194,26 +278,6 @@ gimp_viewable_dialog_new (GimpViewable *viewable,
|
|||
gimp_dialog_add_buttons_valist (GIMP_DIALOG (dialog), args);
|
||||
va_end (args);
|
||||
|
||||
gtk_image_set_from_stock (GTK_IMAGE (dialog->icon), stock_id,
|
||||
GTK_ICON_SIZE_LARGE_TOOLBAR);
|
||||
|
||||
attrs = pango_attr_list_new ();
|
||||
|
||||
attr = pango_attr_scale_new (PANGO_SCALE_LARGE);
|
||||
attr->start_index = 0;
|
||||
attr->end_index = -1;
|
||||
pango_attr_list_insert (attrs, attr);
|
||||
|
||||
attr = pango_attr_weight_new (PANGO_WEIGHT_BOLD);
|
||||
attr->start_index = 0;
|
||||
attr->end_index = -1;
|
||||
pango_attr_list_insert (attrs, attr);
|
||||
|
||||
gtk_label_set_attributes (GTK_LABEL (dialog->desc_label), attrs);
|
||||
pango_attr_list_unref (attrs);
|
||||
|
||||
gtk_label_set_text (GTK_LABEL (dialog->desc_label), desc);
|
||||
|
||||
if (viewable)
|
||||
gimp_viewable_dialog_set_viewable (dialog, viewable);
|
||||
|
||||
|
|
|
@ -67,6 +67,14 @@ style "gimp-tiny-font-style"
|
|||
class "*Ruler*" style "gimp-tiny-font-style"
|
||||
|
||||
|
||||
style "gimp-tool-dialog-style" = "gimp-default-style"
|
||||
{
|
||||
GtkDialog::action_area_border = 6
|
||||
}
|
||||
|
||||
class "GimpToolDialog" style "gimp-tool-dialog-style"
|
||||
|
||||
|
||||
style "gimp-grid-view-style" = "gimp-default-style"
|
||||
{
|
||||
bg[NORMAL] = { 1.0, 1.0, 1.0 }
|
||||
|
|
|
@ -65,6 +65,14 @@ style "gimp-default-style"
|
|||
class "GtkWidget" style "gimp-default-style"
|
||||
|
||||
|
||||
style "gimp-tool-dialog-style" = "gimp-default-style"
|
||||
{
|
||||
GtkDialog::action_area_border = 6
|
||||
}
|
||||
|
||||
class "GimpToolDialog" style "gimp-tool-dialog-style"
|
||||
|
||||
|
||||
style "gimp-grid-view-style" = "gimp-default-style"
|
||||
{
|
||||
bg[NORMAL] = { 1.0, 1.0, 1.0 }
|
||||
|
@ -76,7 +84,6 @@ widget "*GimpContainerGridView*GtkViewport*" style "gimp-grid-view-style"
|
|||
style "gimp-dockable-style" = "gimp-default-style"
|
||||
{
|
||||
GimpFrame::label_bold = 0
|
||||
GimpFrame::label_spacing = 1
|
||||
GtkButton::focus_line_width = 0
|
||||
GtkButton::focus_line_padding = 0
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue