diff options
author | Caolán McNamara <caolanm@redhat.com> | 2015-04-27 16:44:11 +0100 |
---|---|---|
committer | Caolán McNamara <caolanm@redhat.com> | 2015-04-27 17:12:08 +0100 |
commit | cb1fda082cc30dba210f293ec6fea8a13363835e (patch) | |
tree | 41943615fb95459979c967a4b961512f444f200a /vcl | |
parent | 4679d6b9c3975c322cf84bcfca6dbfbfd1155981 (diff) |
gtk3: render vertical toolbar seperators
Change-Id: I6c4e5291b24015087b3ac56e2e178dbf42bf193f
Diffstat (limited to 'vcl')
-rw-r--r-- | vcl/inc/unx/gtk/gtkgdi.hxx | 1 | ||||
-rw-r--r-- | vcl/unx/gtk3/gdi/gtk3salnativewidgets-gtk.cxx | 31 |
2 files changed, 23 insertions, 9 deletions
diff --git a/vcl/inc/unx/gtk/gtkgdi.hxx b/vcl/inc/unx/gtk/gtkgdi.hxx index 2c8a8dcfc420..1e52df417f75 100644 --- a/vcl/inc/unx/gtk/gtkgdi.hxx +++ b/vcl/inc/unx/gtk/gtkgdi.hxx @@ -70,6 +70,7 @@ private: static GtkStyleContext *mpHScrollbarStyle; static GtkStyleContext *mpToolbarStyle; static GtkStyleContext *mpToolButtonStyle; + static GtkStyleContext *mpToolbarSeperatorStyle; static GtkStyleContext *mpCheckButtonStyle; static GtkStyleContext *mpMenuBarStyle; static GtkStyleContext *mpMenuStyle; diff --git a/vcl/unx/gtk3/gdi/gtk3salnativewidgets-gtk.cxx b/vcl/unx/gtk3/gdi/gtk3salnativewidgets-gtk.cxx index 9f0ea7671aa1..663843a5c863 100644 --- a/vcl/unx/gtk3/gdi/gtk3salnativewidgets-gtk.cxx +++ b/vcl/unx/gtk3/gdi/gtk3salnativewidgets-gtk.cxx @@ -25,6 +25,7 @@ GtkStyleContext* GtkSalGraphics::mpVScrollbarStyle = NULL; GtkStyleContext* GtkSalGraphics::mpHScrollbarStyle = NULL; GtkStyleContext* GtkSalGraphics::mpToolbarStyle = NULL; GtkStyleContext* GtkSalGraphics::mpToolButtonStyle = NULL; +GtkStyleContext* GtkSalGraphics::mpToolbarSeperatorStyle = NULL; GtkStyleContext* GtkSalGraphics::mpCheckButtonStyle = NULL; GtkStyleContext* GtkSalGraphics::mpMenuBarStyle = NULL; GtkStyleContext* GtkSalGraphics::mpMenuStyle = NULL; @@ -66,12 +67,13 @@ enum { RENDER_BACKGROUND_AND_FRAME = 1, RENDER_CHECK = 2, RENDER_BACKGROUND = 3, - RENDER_LINE = 4, - RENDER_ARROW = 5, - RENDER_RADIO = 6, - RENDER_SCROLLBAR = 7, - RENDER_SPINBUTTON = 8, - RENDER_COMBOBOX = 9, + RENDER_MENU_SEPERATOR = 4, + RENDER_TOOLBAR_SEPERATOR = 5, + RENDER_ARROW = 6, + RENDER_RADIO = 7, + RENDER_SCROLLBAR = 8, + RENDER_SPINBUTTON = 9, + RENDER_COMBOBOX = 10, }; static void PrepareComboboxStyle( GtkStyleContext *context, @@ -861,7 +863,7 @@ bool GtkSalGraphics::drawNativeControl( ControlType nType, ControlPart nPart, co case PART_MENU_SEPARATOR: styleClass = GTK_STYLE_CLASS_SEPARATOR; context = mpMenuItemStyle; - renderType = RENDER_LINE; + renderType = RENDER_MENU_SEPERATOR; break; case PART_MENU_SUBMENU_ARROW: context = mpMenuStyle; @@ -885,6 +887,10 @@ bool GtkSalGraphics::drawNativeControl( ControlType nType, ControlPart nPart, co ( (aValue.getTristateVal() == BUTTONVALUE_ON) ? GTK_STATE_FLAG_ACTIVE : GTK_STATE_FLAG_NORMAL)); context = mpToolButtonStyle; break; + case PART_SEPARATOR_VERT: + context = mpToolbarSeperatorStyle; + renderType = RENDER_TOOLBAR_SEPERATOR; + break; default: return false; } @@ -948,11 +954,16 @@ bool GtkSalGraphics::drawNativeControl( ControlType nType, ControlPart nPart, co case RENDER_RADIO: PaintCheckOrRadio(context, cr, rControlRegion, nType); break; - case RENDER_LINE: + case RENDER_MENU_SEPERATOR: gtk_render_line(context, cr, 3, rControlRegion.GetHeight() / 2, rControlRegion.GetWidth() - 3, rControlRegion.GetHeight() / 2); break; + case RENDER_TOOLBAR_SEPERATOR: + gtk_render_line(context, cr, + rControlRegion.GetWidth() / 2, 3, + rControlRegion.GetWidth() / 2, rControlRegion.GetHeight() - 3 ); + break; case RENDER_ARROW: gtk_render_arrow(context, cr, G_PI / 2, 0, 0, @@ -1515,7 +1526,7 @@ bool GtkSalGraphics::IsNativeControlSupported( ControlType nType, ControlPart nP // || nPart==PART_THUMB_VERT || nPart==PART_BUTTON // || nPart==PART_SEPARATOR_HORZ -// || nPart==PART_SEPARATOR_VERT + || nPart==PART_SEPARATOR_VERT ) return true; break; @@ -1634,6 +1645,8 @@ GtkSalGraphics::GtkSalGraphics( GtkSalFrame *pFrame, GtkWidget *pWindow ) gtk_style_context_add_class(mpToolbarStyle, GTK_STYLE_CLASS_PRIMARY_TOOLBAR); gtk_style_context_add_class(mpToolbarStyle, GTK_STYLE_CLASS_TOOLBAR); + getStyleContext(&mpToolbarSeperatorStyle, GTK_WIDGET(gtk_separator_tool_item_new())); + getStyleContext(&mpToolButtonStyle, gtk_button_new()); /* Create a widget path for our toolbutton widget */ |