summaryrefslogtreecommitdiff
path: root/vcl
diff options
context:
space:
mode:
authorCaolán McNamara <caolanm@redhat.com>2015-04-27 16:44:11 +0100
committerCaolán McNamara <caolanm@redhat.com>2015-04-27 17:12:08 +0100
commitcb1fda082cc30dba210f293ec6fea8a13363835e (patch)
tree41943615fb95459979c967a4b961512f444f200a /vcl
parent4679d6b9c3975c322cf84bcfca6dbfbfd1155981 (diff)
gtk3: render vertical toolbar seperators
Change-Id: I6c4e5291b24015087b3ac56e2e178dbf42bf193f
Diffstat (limited to 'vcl')
-rw-r--r--vcl/inc/unx/gtk/gtkgdi.hxx1
-rw-r--r--vcl/unx/gtk3/gdi/gtk3salnativewidgets-gtk.cxx31
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 */