diff options
-rw-r--r-- | ChangeLog | 9 | ||||
-rw-r--r-- | ChangeLog.pre-2-0 | 9 | ||||
-rw-r--r-- | ChangeLog.pre-2-10 | 9 | ||||
-rw-r--r-- | ChangeLog.pre-2-2 | 9 | ||||
-rw-r--r-- | ChangeLog.pre-2-4 | 9 | ||||
-rw-r--r-- | ChangeLog.pre-2-6 | 9 | ||||
-rw-r--r-- | ChangeLog.pre-2-8 | 9 | ||||
-rw-r--r-- | gtk/gtkmenubar.c | 79 | ||||
-rw-r--r-- | gtk/gtkmenubar.h | 22 | ||||
-rw-r--r-- | gtk/gtkviewport.h | 2 |
10 files changed, 155 insertions, 11 deletions
@@ -1,3 +1,12 @@ +Mon Nov 16 00:59:26 PST 1998 Manish Singh <yosh@gimp.org> + + * gtk/gtkmenubar.[ch]: added shadow_type setting and + gtk_menu_bar_set_shadow_type function to allow shadow + configurability for menubars + + * gtk/gtkviewport.h: use GtkShadowType enum instead of generic + guint + Mon Nov 16 00:17:53 1998 Tim Janik <timj@gtk.org> * gtk/gtktypeutils.c (gtk_type_new): relookup type node after diff --git a/ChangeLog.pre-2-0 b/ChangeLog.pre-2-0 index e4ae81d7c5..326bcbb2ee 100644 --- a/ChangeLog.pre-2-0 +++ b/ChangeLog.pre-2-0 @@ -1,3 +1,12 @@ +Mon Nov 16 00:59:26 PST 1998 Manish Singh <yosh@gimp.org> + + * gtk/gtkmenubar.[ch]: added shadow_type setting and + gtk_menu_bar_set_shadow_type function to allow shadow + configurability for menubars + + * gtk/gtkviewport.h: use GtkShadowType enum instead of generic + guint + Mon Nov 16 00:17:53 1998 Tim Janik <timj@gtk.org> * gtk/gtktypeutils.c (gtk_type_new): relookup type node after diff --git a/ChangeLog.pre-2-10 b/ChangeLog.pre-2-10 index e4ae81d7c5..326bcbb2ee 100644 --- a/ChangeLog.pre-2-10 +++ b/ChangeLog.pre-2-10 @@ -1,3 +1,12 @@ +Mon Nov 16 00:59:26 PST 1998 Manish Singh <yosh@gimp.org> + + * gtk/gtkmenubar.[ch]: added shadow_type setting and + gtk_menu_bar_set_shadow_type function to allow shadow + configurability for menubars + + * gtk/gtkviewport.h: use GtkShadowType enum instead of generic + guint + Mon Nov 16 00:17:53 1998 Tim Janik <timj@gtk.org> * gtk/gtktypeutils.c (gtk_type_new): relookup type node after diff --git a/ChangeLog.pre-2-2 b/ChangeLog.pre-2-2 index e4ae81d7c5..326bcbb2ee 100644 --- a/ChangeLog.pre-2-2 +++ b/ChangeLog.pre-2-2 @@ -1,3 +1,12 @@ +Mon Nov 16 00:59:26 PST 1998 Manish Singh <yosh@gimp.org> + + * gtk/gtkmenubar.[ch]: added shadow_type setting and + gtk_menu_bar_set_shadow_type function to allow shadow + configurability for menubars + + * gtk/gtkviewport.h: use GtkShadowType enum instead of generic + guint + Mon Nov 16 00:17:53 1998 Tim Janik <timj@gtk.org> * gtk/gtktypeutils.c (gtk_type_new): relookup type node after diff --git a/ChangeLog.pre-2-4 b/ChangeLog.pre-2-4 index e4ae81d7c5..326bcbb2ee 100644 --- a/ChangeLog.pre-2-4 +++ b/ChangeLog.pre-2-4 @@ -1,3 +1,12 @@ +Mon Nov 16 00:59:26 PST 1998 Manish Singh <yosh@gimp.org> + + * gtk/gtkmenubar.[ch]: added shadow_type setting and + gtk_menu_bar_set_shadow_type function to allow shadow + configurability for menubars + + * gtk/gtkviewport.h: use GtkShadowType enum instead of generic + guint + Mon Nov 16 00:17:53 1998 Tim Janik <timj@gtk.org> * gtk/gtktypeutils.c (gtk_type_new): relookup type node after diff --git a/ChangeLog.pre-2-6 b/ChangeLog.pre-2-6 index e4ae81d7c5..326bcbb2ee 100644 --- a/ChangeLog.pre-2-6 +++ b/ChangeLog.pre-2-6 @@ -1,3 +1,12 @@ +Mon Nov 16 00:59:26 PST 1998 Manish Singh <yosh@gimp.org> + + * gtk/gtkmenubar.[ch]: added shadow_type setting and + gtk_menu_bar_set_shadow_type function to allow shadow + configurability for menubars + + * gtk/gtkviewport.h: use GtkShadowType enum instead of generic + guint + Mon Nov 16 00:17:53 1998 Tim Janik <timj@gtk.org> * gtk/gtktypeutils.c (gtk_type_new): relookup type node after diff --git a/ChangeLog.pre-2-8 b/ChangeLog.pre-2-8 index e4ae81d7c5..326bcbb2ee 100644 --- a/ChangeLog.pre-2-8 +++ b/ChangeLog.pre-2-8 @@ -1,3 +1,12 @@ +Mon Nov 16 00:59:26 PST 1998 Manish Singh <yosh@gimp.org> + + * gtk/gtkmenubar.[ch]: added shadow_type setting and + gtk_menu_bar_set_shadow_type function to allow shadow + configurability for menubars + + * gtk/gtkviewport.h: use GtkShadowType enum instead of generic + guint + Mon Nov 16 00:17:53 1998 Tim Janik <timj@gtk.org> * gtk/gtktypeutils.c (gtk_type_new): relookup type node after diff --git a/gtk/gtkmenubar.c b/gtk/gtkmenubar.c index 50bb4eecc1..d22ba4fdfe 100644 --- a/gtk/gtkmenubar.c +++ b/gtk/gtkmenubar.c @@ -22,6 +22,11 @@ #include "gtkmenubar.h" #include "gtkmenuitem.h" +enum { + ARG_0, + ARG_SHADOW +}; + #define BORDER_SPACING 2 #define CHILD_SPACING 3 @@ -29,6 +34,12 @@ static void gtk_menu_bar_class_init (GtkMenuBarClass *klass); static void gtk_menu_bar_init (GtkMenuBar *menu_bar); +static void gtk_menu_bar_set_arg (GtkObject *object, + GtkArg *arg, + guint arg_id); +static void gtk_menu_bar_get_arg (GtkObject *object, + GtkArg *arg, + guint arg_id); static void gtk_menu_bar_size_request (GtkWidget *widget, GtkRequisition *requisition); static void gtk_menu_bar_size_allocate (GtkWidget *widget, @@ -69,14 +80,21 @@ gtk_menu_bar_get_type (void) static void gtk_menu_bar_class_init (GtkMenuBarClass *class) { + GtkObjectClass *object_class; GtkWidgetClass *widget_class; GtkMenuShellClass *menu_shell_class; GtkBindingSet *binding_set; + object_class = (GtkObjectClass*) class; widget_class = (GtkWidgetClass*) class; menu_shell_class = (GtkMenuShellClass*) class; + gtk_object_add_arg_type ("GtkMenuBar::shadow", GTK_TYPE_SHADOW_TYPE, GTK_ARG_READWRITE, ARG_SHADOW); + + object_class->set_arg = gtk_menu_bar_set_arg; + object_class->get_arg = gtk_menu_bar_get_arg; + widget_class->draw = gtk_menu_bar_draw; widget_class->size_request = gtk_menu_bar_size_request; widget_class->size_allocate = gtk_menu_bar_size_allocate; @@ -110,8 +128,48 @@ gtk_menu_bar_class_init (GtkMenuBarClass *class) static void gtk_menu_bar_init (GtkMenuBar *menu_bar) { + menu_bar->shadow_type = GTK_SHADOW_OUT; +} + +static void +gtk_menu_bar_set_arg (GtkObject *object, + GtkArg *arg, + guint arg_id) +{ + GtkMenuBar *menu_bar; + + menu_bar = GTK_MENU_BAR (object); + + switch (arg_id) + { + case ARG_SHADOW: + gtk_menu_bar_set_shadow_type (menu_bar, GTK_VALUE_ENUM (*arg)); + break; + default: + break; + } } +static void +gtk_menu_bar_get_arg (GtkObject *object, + GtkArg *arg, + guint arg_id) +{ + GtkMenuBar *menu_bar; + + menu_bar = GTK_MENU_BAR (object); + + switch (arg_id) + { + case ARG_SHADOW: + GTK_VALUE_ENUM (*arg) = menu_bar->shadow_type; + break; + default: + arg->type = GTK_TYPE_INVALID; + break; + } +} + GtkWidget* gtk_menu_bar_new (void) { @@ -262,6 +320,25 @@ gtk_menu_bar_size_allocate (GtkWidget *widget, } } +void +gtk_menu_bar_set_shadow_type (GtkMenuBar *menu_bar, + GtkShadowType type) +{ + g_return_if_fail (menu_bar != NULL); + g_return_if_fail (GTK_IS_MENU_BAR (menu_bar)); + + if ((GtkShadowType) menu_bar->shadow_type != type) + { + menu_bar->shadow_type = type; + + if (GTK_WIDGET_DRAWABLE (menu_bar)) + { + gtk_widget_queue_clear (GTK_WIDGET (menu_bar)); + } + gtk_widget_queue_resize (GTK_WIDGET (menu_bar)); + } +} + static void gtk_menu_bar_paint (GtkWidget *widget, GdkRectangle *area) { @@ -273,7 +350,7 @@ gtk_menu_bar_paint (GtkWidget *widget, GdkRectangle *area) gtk_paint_box (widget->style, widget->window, GTK_STATE_NORMAL, - GTK_SHADOW_OUT, + GTK_MENU_BAR (widget)->shadow_type, area, widget, "menubar", 0, 0, -1,-1); diff --git a/gtk/gtkmenubar.h b/gtk/gtkmenubar.h index 882dbc199e..bf76a412fe 100644 --- a/gtk/gtkmenubar.h +++ b/gtk/gtkmenubar.h @@ -41,6 +41,8 @@ typedef struct _GtkMenuBarClass GtkMenuBarClass; struct _GtkMenuBar { GtkMenuShell menu_shell; + + GtkShadowType shadow_type; }; struct _GtkMenuBarClass @@ -49,15 +51,17 @@ struct _GtkMenuBarClass }; -GtkType gtk_menu_bar_get_type (void); -GtkWidget* gtk_menu_bar_new (void); -void gtk_menu_bar_append (GtkMenuBar *menu_bar, - GtkWidget *child); -void gtk_menu_bar_prepend (GtkMenuBar *menu_bar, - GtkWidget *child); -void gtk_menu_bar_insert (GtkMenuBar *menu_bar, - GtkWidget *child, - gint position); +GtkType gtk_menu_bar_get_type (void); +GtkWidget* gtk_menu_bar_new (void); +void gtk_menu_bar_append (GtkMenuBar *menu_bar, + GtkWidget *child); +void gtk_menu_bar_prepend (GtkMenuBar *menu_bar, + GtkWidget *child); +void gtk_menu_bar_insert (GtkMenuBar *menu_bar, + GtkWidget *child, + gint position); +void gtk_menu_bar_set_shadow_type (GtkMenuBar *menu_bar, + GtkShadowType type); #ifdef __cplusplus diff --git a/gtk/gtkviewport.h b/gtk/gtkviewport.h index d56d728d6d..a108f4731b 100644 --- a/gtk/gtkviewport.h +++ b/gtk/gtkviewport.h @@ -44,7 +44,7 @@ struct _GtkViewport { GtkBin bin; - guint shadow_type; + GtkShadowType shadow_type; GdkWindow *view_window; GdkWindow *bin_window; GtkAdjustment *hadjustment; |