diff options
author | Soeren Sandmann <sandmann@daimi.au.dk> | 2004-02-26 22:29:24 +0000 |
---|---|---|
committer | Søren Sandmann Pedersen <ssp@src.gnome.org> | 2004-02-26 22:29:24 +0000 |
commit | dc0718bd7e95bb93e1c1c0fe715d3827e79a6080 (patch) | |
tree | 4d6752cf63fc177832ccba2d19f66424785fb002 /gtk | |
parent | 211b6450571da88fe776f2dc0b8ae29f71e1af67 (diff) | |
download | gtk+-dc0718bd7e95bb93e1c1c0fe715d3827e79a6080.tar.gz |
New function. Use resize cursors for resize grips. (Bug #129621)
Thu Feb 26 23:26:00 2004 Soeren Sandmann <sandmann@daimi.au.dk>
* gtk/gtkstatusbar.c (set_grip_cursor): New function. Use resize
cursors for resize grips. (Bug #129621)
* gtk/gtktoolbar.c (gtk_toolbar_get_relief_style): Documentation
fix - patch by Torsten Schoenfeld.
* gtk/gtkmenubar.c (gtk_menu_bar_size_request): don't request
space between the items. (Bug #110775)
* gtk/gtkrc.c (_gtk_rc_init): Provide extra horizontal padding
inside menu items that are inside a menu bar. (Bug #110775)
* configure.in (HAVE_XCURSOR): Make XCurosr part of GDK_EXTRA_,
not GDK_PACKAGES, to prevent applications from getting linked to
it (Bug #119804)
* gtk/gtkmenubar.c (gtk_menu_bar_size_allocate): Put the vertical
ipadding inside the item. (Bug #61843)
Diffstat (limited to 'gtk')
-rw-r--r-- | gtk/gtkmenubar.c | 18 | ||||
-rw-r--r-- | gtk/gtkrc.c | 9 | ||||
-rw-r--r-- | gtk/gtkstatusbar.c | 101 | ||||
-rw-r--r-- | gtk/gtktoolbar.c | 2 |
4 files changed, 82 insertions, 48 deletions
diff --git a/gtk/gtkmenubar.c b/gtk/gtkmenubar.c index 2842d201cb..31581ea9ae 100644 --- a/gtk/gtkmenubar.c +++ b/gtk/gtkmenubar.c @@ -38,7 +38,6 @@ #define BORDER_SPACING 0 -#define CHILD_SPACING 3 #define DEFAULT_IPADDING 1 static void gtk_menu_bar_class_init (GtkMenuBarClass *klass); @@ -227,13 +226,6 @@ gtk_menu_bar_size_request (GtkWidget *widget, requisition->width += toggle_size; requisition->height = MAX (requisition->height, child_requisition.height); - /* Support for the right justified help menu */ - if ((children == NULL) && GTK_IS_MENU_ITEM(child) && - GTK_MENU_ITEM(child)->right_justify) - { - requisition->width += CHILD_SPACING; - } - nchildren += 1; } } @@ -252,9 +244,6 @@ gtk_menu_bar_size_request (GtkWidget *widget, requisition->width += widget->style->xthickness * 2; requisition->height += widget->style->ythickness * 2; } - - if (nchildren > 0) - requisition->width += 2 * CHILD_SPACING * (nchildren - 1); } } @@ -269,9 +258,9 @@ gtk_menu_bar_size_allocate (GtkWidget *widget, GtkAllocation child_allocation; GtkRequisition child_requisition; guint offset; - gint ipadding; GtkTextDirection direction; gint ltr_x; + gint ipadding; g_return_if_fail (GTK_IS_MENU_BAR (widget)); g_return_if_fail (allocation != NULL); @@ -292,10 +281,9 @@ gtk_menu_bar_size_allocate (GtkWidget *widget, if (menu_shell->children) { child_allocation.x = (GTK_CONTAINER (menu_bar)->border_width + - ipadding + + ipadding + BORDER_SPACING); child_allocation.y = (GTK_CONTAINER (menu_bar)->border_width + - ipadding + BORDER_SPACING); if (get_shadow_type (menu_bar) != GTK_SHADOW_NONE) @@ -344,7 +332,7 @@ gtk_menu_bar_size_allocate (GtkWidget *widget, toggle_size); gtk_widget_size_allocate (child, &child_allocation); - ltr_x += child_allocation.width + CHILD_SPACING * 2; + ltr_x += child_allocation.width; } } } diff --git a/gtk/gtkrc.c b/gtk/gtkrc.c index 7626cb4587..e222174db1 100644 --- a/gtk/gtkrc.c +++ b/gtk/gtkrc.c @@ -673,6 +673,10 @@ _gtk_rc_init (void) " bg[NORMAL] = \"#bab5ab\"\n" "}\n" "\n" + "style \"gtk-default-menu-bar-item-style\" {\n" + " GtkMenuItem::horizontal_padding = 5\n" + "}\n" + "\n" "style \"gtk-default-menu-item-style\" {\n" " bg[PRELIGHT] = \"#4b6983\"\n" " fg[PRELIGHT] = \"#ffffff\"\n" @@ -689,6 +693,11 @@ _gtk_rc_init (void) "widget_class \"*.GtkCheckMenuItem.*\" style : gtk \"gtk-default-menu-item-style\"\n" "widget_class \"*.GtkImageMenuItem.*\" style : gtk \"gtk-default-menu-item-style\"\n" "widget_class \"*.GtkSeparatorMenuItem.*\" style : gtk \"gtk-default-menu-item-style\"\n" + "widget_class \"*GtkMenuBar*GtkMenuItem\" style : gtk \"gtk-default-menu-bar-item-style\"\n" + "widget_class \"*GtkMenuBar*GtkAccelMenuItem\" style : gtk \"gtk-default-menu-bar-item-style\"\n" + "widget_class \"*GtkMenuBar*GtkRadioMenuItem\" style : gtk \"gtk-default-menu-bar-item-style\"\n" + "widget_class \"*GtkMenuBar*GtkCheckMenuItem\" style : gtk \"gtk-default-menu-bar-item-style\"\n" + "widget_class \"*GtkMenuBar*GtkImageMenuItem\" style : gtk \"gtk-default-menu-bar-item-style\"\n" ); } diff --git a/gtk/gtkstatusbar.c b/gtk/gtkstatusbar.c index 12d0cee766..ffe114fee3 100644 --- a/gtk/gtkstatusbar.c +++ b/gtk/gtkstatusbar.c @@ -54,36 +54,39 @@ enum PROP_HAS_RESIZE_GRIP }; -static void gtk_statusbar_class_init (GtkStatusbarClass *class); -static void gtk_statusbar_init (GtkStatusbar *statusbar); -static void gtk_statusbar_destroy (GtkObject *object); -static void gtk_statusbar_update (GtkStatusbar *statusbar, - guint context_id, - const gchar *text); -static void gtk_statusbar_size_allocate (GtkWidget *widget, - GtkAllocation *allocation); -static void gtk_statusbar_realize (GtkWidget *widget); -static void gtk_statusbar_unrealize (GtkWidget *widget); -static void gtk_statusbar_map (GtkWidget *widget); -static void gtk_statusbar_unmap (GtkWidget *widget); -static gboolean gtk_statusbar_button_press (GtkWidget *widget, - GdkEventButton *event); -static gboolean gtk_statusbar_expose_event (GtkWidget *widget, - GdkEventExpose *event); -static void gtk_statusbar_size_request (GtkWidget *widget, - GtkRequisition *requisition); -static void gtk_statusbar_size_allocate (GtkWidget *widget, - GtkAllocation *allocation); -static void gtk_statusbar_create_window (GtkStatusbar *statusbar); -static void gtk_statusbar_destroy_window (GtkStatusbar *statusbar); -static void gtk_statusbar_get_property (GObject *object, - guint prop_id, - GValue *value, - GParamSpec *pspec); -static void gtk_statusbar_set_property (GObject *object, - guint prop_id, - const GValue *value, - GParamSpec *pspec); +static void gtk_statusbar_class_init (GtkStatusbarClass *class); +static void gtk_statusbar_init (GtkStatusbar *statusbar); +static void gtk_statusbar_destroy (GtkObject *object); +static void gtk_statusbar_update (GtkStatusbar *statusbar, + guint context_id, + const gchar *text); +static void gtk_statusbar_size_allocate (GtkWidget *widget, + GtkAllocation *allocation); +static void gtk_statusbar_realize (GtkWidget *widget); +static void gtk_statusbar_unrealize (GtkWidget *widget); +static void gtk_statusbar_map (GtkWidget *widget); +static void gtk_statusbar_unmap (GtkWidget *widget); +static gboolean gtk_statusbar_button_press (GtkWidget *widget, + GdkEventButton *event); +static gboolean gtk_statusbar_expose_event (GtkWidget *widget, + GdkEventExpose *event); +static void gtk_statusbar_size_request (GtkWidget *widget, + GtkRequisition *requisition); +static void gtk_statusbar_size_allocate (GtkWidget *widget, + GtkAllocation *allocation); +static void gtk_statusbar_direction_changed (GtkWidget *widget, + GtkTextDirection prev_dir); +static void gtk_statusbar_create_window (GtkStatusbar *statusbar); +static void gtk_statusbar_destroy_window (GtkStatusbar *statusbar); +static void gtk_statusbar_get_property (GObject *object, + guint prop_id, + GValue *value, + GParamSpec *pspec); +static void gtk_statusbar_set_property (GObject *object, + guint prop_id, + const GValue *value, + GParamSpec *pspec); + static GtkContainerClass *parent_class; static guint statusbar_signals[SIGNAL_LAST] = { 0 }; @@ -145,6 +148,8 @@ gtk_statusbar_class_init (GtkStatusbarClass *class) widget_class->size_request = gtk_statusbar_size_request; widget_class->size_allocate = gtk_statusbar_size_allocate; + + widget_class->direction_changed = gtk_statusbar_direction_changed; class->messages_mem_chunk = g_mem_chunk_new ("GtkStatusbar messages mem chunk", sizeof (GtkStatusbarMsg), @@ -529,9 +534,30 @@ get_grip_rect (GtkStatusbar *statusbar, rect->y = widget->allocation.y + widget->allocation.height - h; if (gtk_widget_get_direction (widget) == GTK_TEXT_DIR_LTR) - rect->x = widget->allocation.x + widget->allocation.width - w; + rect->x = widget->allocation.x + widget->allocation.width - w; else - rect->x = widget->allocation.x + widget->style->xthickness; + rect->x = widget->allocation.x + widget->style->xthickness; +} + +static void +set_grip_cursor (GtkStatusbar *statusbar) +{ + if (statusbar->has_resize_grip) + { + GtkWidget *widget = GTK_WIDGET (statusbar); + GdkDisplay *display = gtk_widget_get_display (widget); + GdkCursorType cursor_type; + GdkCursor *cursor; + + if (gtk_widget_get_direction (widget) == GTK_TEXT_DIR_LTR) + cursor_type = GDK_BOTTOM_RIGHT_CORNER; + else + cursor_type = GDK_BOTTOM_LEFT_CORNER; + + cursor = gdk_cursor_new_for_display (display, cursor_type); + gdk_window_set_cursor (statusbar->grip_window, cursor); + gdk_cursor_unref (cursor); + } } static void @@ -563,6 +589,17 @@ gtk_statusbar_create_window (GtkStatusbar *statusbar) statusbar->grip_window = gdk_window_new (widget->window, &attributes, attributes_mask); gdk_window_set_user_data (statusbar->grip_window, widget); + + set_grip_cursor (statusbar); +} + +static void +gtk_statusbar_direction_changed (GtkWidget *widget, + GtkTextDirection prev_dir) +{ + GtkStatusbar *statusbar = GTK_STATUSBAR (widget); + + set_grip_cursor (statusbar); } static void diff --git a/gtk/gtktoolbar.c b/gtk/gtktoolbar.c index f522924a80..f44feabb5c 100644 --- a/gtk/gtktoolbar.c +++ b/gtk/gtktoolbar.c @@ -2858,7 +2858,7 @@ gtk_toolbar_get_icon_size (GtkToolbar *toolbar) * @toolbar: a #GtkToolbar * * Returns the relief style of buttons on @toolbar. See - * gtk_button_set_relief_style(). + * gtk_button_set_relief(). * * Return value: The relief style of buttons on @toolbar. * |