mirror of
https://gitlab.gnome.org/GNOME/gtk.git
synced 2024-12-25 21:21:21 +00:00
added shadow_type setting and gtk_menu_bar_set_shadow_type function to
* 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 -Yosh
This commit is contained in:
parent
3ae1549289
commit
d8ab8e0e7d
@ -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>
|
Mon Nov 16 00:17:53 1998 Tim Janik <timj@gtk.org>
|
||||||
|
|
||||||
* gtk/gtktypeutils.c (gtk_type_new): relookup type node after
|
* gtk/gtktypeutils.c (gtk_type_new): relookup type node after
|
||||||
|
@ -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>
|
Mon Nov 16 00:17:53 1998 Tim Janik <timj@gtk.org>
|
||||||
|
|
||||||
* gtk/gtktypeutils.c (gtk_type_new): relookup type node after
|
* gtk/gtktypeutils.c (gtk_type_new): relookup type node after
|
||||||
|
@ -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>
|
Mon Nov 16 00:17:53 1998 Tim Janik <timj@gtk.org>
|
||||||
|
|
||||||
* gtk/gtktypeutils.c (gtk_type_new): relookup type node after
|
* gtk/gtktypeutils.c (gtk_type_new): relookup type node after
|
||||||
|
@ -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>
|
Mon Nov 16 00:17:53 1998 Tim Janik <timj@gtk.org>
|
||||||
|
|
||||||
* gtk/gtktypeutils.c (gtk_type_new): relookup type node after
|
* gtk/gtktypeutils.c (gtk_type_new): relookup type node after
|
||||||
|
@ -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>
|
Mon Nov 16 00:17:53 1998 Tim Janik <timj@gtk.org>
|
||||||
|
|
||||||
* gtk/gtktypeutils.c (gtk_type_new): relookup type node after
|
* gtk/gtktypeutils.c (gtk_type_new): relookup type node after
|
||||||
|
@ -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>
|
Mon Nov 16 00:17:53 1998 Tim Janik <timj@gtk.org>
|
||||||
|
|
||||||
* gtk/gtktypeutils.c (gtk_type_new): relookup type node after
|
* gtk/gtktypeutils.c (gtk_type_new): relookup type node after
|
||||||
|
@ -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>
|
Mon Nov 16 00:17:53 1998 Tim Janik <timj@gtk.org>
|
||||||
|
|
||||||
* gtk/gtktypeutils.c (gtk_type_new): relookup type node after
|
* gtk/gtktypeutils.c (gtk_type_new): relookup type node after
|
||||||
|
@ -22,6 +22,11 @@
|
|||||||
#include "gtkmenubar.h"
|
#include "gtkmenubar.h"
|
||||||
#include "gtkmenuitem.h"
|
#include "gtkmenuitem.h"
|
||||||
|
|
||||||
|
enum {
|
||||||
|
ARG_0,
|
||||||
|
ARG_SHADOW
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
#define BORDER_SPACING 2
|
#define BORDER_SPACING 2
|
||||||
#define CHILD_SPACING 3
|
#define CHILD_SPACING 3
|
||||||
@ -29,6 +34,12 @@
|
|||||||
|
|
||||||
static void gtk_menu_bar_class_init (GtkMenuBarClass *klass);
|
static void gtk_menu_bar_class_init (GtkMenuBarClass *klass);
|
||||||
static void gtk_menu_bar_init (GtkMenuBar *menu_bar);
|
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,
|
static void gtk_menu_bar_size_request (GtkWidget *widget,
|
||||||
GtkRequisition *requisition);
|
GtkRequisition *requisition);
|
||||||
static void gtk_menu_bar_size_allocate (GtkWidget *widget,
|
static void gtk_menu_bar_size_allocate (GtkWidget *widget,
|
||||||
@ -69,14 +80,21 @@ gtk_menu_bar_get_type (void)
|
|||||||
static void
|
static void
|
||||||
gtk_menu_bar_class_init (GtkMenuBarClass *class)
|
gtk_menu_bar_class_init (GtkMenuBarClass *class)
|
||||||
{
|
{
|
||||||
|
GtkObjectClass *object_class;
|
||||||
GtkWidgetClass *widget_class;
|
GtkWidgetClass *widget_class;
|
||||||
GtkMenuShellClass *menu_shell_class;
|
GtkMenuShellClass *menu_shell_class;
|
||||||
|
|
||||||
GtkBindingSet *binding_set;
|
GtkBindingSet *binding_set;
|
||||||
|
|
||||||
|
object_class = (GtkObjectClass*) class;
|
||||||
widget_class = (GtkWidgetClass*) class;
|
widget_class = (GtkWidgetClass*) class;
|
||||||
menu_shell_class = (GtkMenuShellClass*) 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->draw = gtk_menu_bar_draw;
|
||||||
widget_class->size_request = gtk_menu_bar_size_request;
|
widget_class->size_request = gtk_menu_bar_size_request;
|
||||||
widget_class->size_allocate = gtk_menu_bar_size_allocate;
|
widget_class->size_allocate = gtk_menu_bar_size_allocate;
|
||||||
@ -110,6 +128,46 @@ gtk_menu_bar_class_init (GtkMenuBarClass *class)
|
|||||||
static void
|
static void
|
||||||
gtk_menu_bar_init (GtkMenuBar *menu_bar)
|
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*
|
GtkWidget*
|
||||||
@ -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
|
static void
|
||||||
gtk_menu_bar_paint (GtkWidget *widget, GdkRectangle *area)
|
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,
|
gtk_paint_box (widget->style,
|
||||||
widget->window,
|
widget->window,
|
||||||
GTK_STATE_NORMAL,
|
GTK_STATE_NORMAL,
|
||||||
GTK_SHADOW_OUT,
|
GTK_MENU_BAR (widget)->shadow_type,
|
||||||
area, widget, "menubar",
|
area, widget, "menubar",
|
||||||
0, 0,
|
0, 0,
|
||||||
-1,-1);
|
-1,-1);
|
||||||
|
@ -41,6 +41,8 @@ typedef struct _GtkMenuBarClass GtkMenuBarClass;
|
|||||||
struct _GtkMenuBar
|
struct _GtkMenuBar
|
||||||
{
|
{
|
||||||
GtkMenuShell menu_shell;
|
GtkMenuShell menu_shell;
|
||||||
|
|
||||||
|
GtkShadowType shadow_type;
|
||||||
};
|
};
|
||||||
|
|
||||||
struct _GtkMenuBarClass
|
struct _GtkMenuBarClass
|
||||||
@ -49,15 +51,17 @@ struct _GtkMenuBarClass
|
|||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
GtkType gtk_menu_bar_get_type (void);
|
GtkType gtk_menu_bar_get_type (void);
|
||||||
GtkWidget* gtk_menu_bar_new (void);
|
GtkWidget* gtk_menu_bar_new (void);
|
||||||
void gtk_menu_bar_append (GtkMenuBar *menu_bar,
|
void gtk_menu_bar_append (GtkMenuBar *menu_bar,
|
||||||
GtkWidget *child);
|
GtkWidget *child);
|
||||||
void gtk_menu_bar_prepend (GtkMenuBar *menu_bar,
|
void gtk_menu_bar_prepend (GtkMenuBar *menu_bar,
|
||||||
GtkWidget *child);
|
GtkWidget *child);
|
||||||
void gtk_menu_bar_insert (GtkMenuBar *menu_bar,
|
void gtk_menu_bar_insert (GtkMenuBar *menu_bar,
|
||||||
GtkWidget *child,
|
GtkWidget *child,
|
||||||
gint position);
|
gint position);
|
||||||
|
void gtk_menu_bar_set_shadow_type (GtkMenuBar *menu_bar,
|
||||||
|
GtkShadowType type);
|
||||||
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
|
@ -44,7 +44,7 @@ struct _GtkViewport
|
|||||||
{
|
{
|
||||||
GtkBin bin;
|
GtkBin bin;
|
||||||
|
|
||||||
guint shadow_type;
|
GtkShadowType shadow_type;
|
||||||
GdkWindow *view_window;
|
GdkWindow *view_window;
|
||||||
GdkWindow *bin_window;
|
GdkWindow *bin_window;
|
||||||
GtkAdjustment *hadjustment;
|
GtkAdjustment *hadjustment;
|
||||||
|
Loading…
Reference in New Issue
Block a user