diff options
Diffstat (limited to 'vcl/unx')
-rw-r--r-- | vcl/unx/gtk3/gdi/gtk3salnativewidgets-gtk.cxx | 35 |
1 files changed, 31 insertions, 4 deletions
diff --git a/vcl/unx/gtk3/gdi/gtk3salnativewidgets-gtk.cxx b/vcl/unx/gtk3/gdi/gtk3salnativewidgets-gtk.cxx index 6e12ca251050..c64aa6e34ecf 100644 --- a/vcl/unx/gtk3/gdi/gtk3salnativewidgets-gtk.cxx +++ b/vcl/unx/gtk3/gdi/gtk3salnativewidgets-gtk.cxx @@ -44,6 +44,7 @@ GtkStyleContext* GtkSalGraphics::mpFrameInStyle = NULL; GtkStyleContext* GtkSalGraphics::mpFrameOutStyle = NULL; GtkStyleContext* GtkSalGraphics::mpFixedHoriLineStyle = NULL; GtkStyleContext* GtkSalGraphics::mpFixedVertLineStyle = NULL; +GtkStyleContext* GtkSalGraphics::mpTreeHeaderButtonStyle = NULL; bool GtkSalGraphics::style_loaded = false; /************************************************************************ @@ -814,6 +815,7 @@ static GtkWidget* gFrameIn; static GtkWidget* gFrameOut; static GtkWidget* gMenuBarWidget; static GtkWidget* gMenuItemMenuBarWidget; +static GtkWidget* gTreeViewWidget; bool GtkSalGraphics::drawNativeControl( ControlType nType, ControlPart nPart, const Rectangle& rControlRegion, ControlState nState, const ImplControlValue& rValue, @@ -987,6 +989,10 @@ bool GtkSalGraphics::drawNativeControl( ControlType nType, ControlPart nPart, co case CTRL_FIXEDLINE: context = nPart == PART_SEPARATOR_HORZ ? mpFixedHoriLineStyle : mpFixedVertLineStyle; renderType = RENDER_SEPERATOR; + break; + case CTRL_LISTHEADER: + context = mpTreeHeaderButtonStyle; + break; default: return false; } @@ -1789,10 +1795,10 @@ bool GtkSalGraphics::IsNativeControlSupported( ControlType nType, ControlPart nP return true; break; -// case CTRL_LISTHEADER: -// if(nPart == PART_BUTTON || nPart == PART_ARROW) -// return true; -// break; + case CTRL_LISTHEADER: + if (nPart == PART_BUTTON /*|| nPart == PART_ARROW*/) + return true; + break; } printf( "Unhandled is native supported for Type: %d, Part %d\n", @@ -1984,6 +1990,27 @@ GtkSalGraphics::GtkSalGraphics( GtkSalFrame *pFrame, GtkWidget *pWindow ) getStyleContext(&mpFixedHoriLineStyle, gtk_separator_new(GTK_ORIENTATION_HORIZONTAL)); getStyleContext(&mpFixedVertLineStyle, gtk_separator_new(GTK_ORIENTATION_VERTICAL)); + + /* Tree List */ + gTreeViewWidget = gtk_tree_view_new(); + gtk_container_add(GTK_CONTAINER(gDumbContainer), gTreeViewWidget); + + GtkTreeViewColumn* firstTreeViewColumn = gtk_tree_view_column_new(); + gtk_tree_view_column_set_title(firstTreeViewColumn, "M"); + gtk_tree_view_append_column(GTK_TREE_VIEW(gTreeViewWidget), firstTreeViewColumn); + + GtkTreeViewColumn* middleTreeViewColumn = gtk_tree_view_column_new(); + gtk_tree_view_column_set_title(middleTreeViewColumn, "M"); + gtk_tree_view_append_column(GTK_TREE_VIEW(gTreeViewWidget), middleTreeViewColumn); + + GtkTreeViewColumn* lastTreeViewColumn = gtk_tree_view_column_new(); + gtk_tree_view_column_set_title(lastTreeViewColumn, "M"); + gtk_tree_view_append_column(GTK_TREE_VIEW(gTreeViewWidget), lastTreeViewColumn); + + /* Use the middle column's header for our button */ + GtkWidget* pTreeHeaderCellWidget = gtk_tree_view_column_get_button(middleTreeViewColumn); + mpTreeHeaderButtonStyle = gtk_widget_get_style_context(pTreeHeaderCellWidget); + gtk_widget_show_all(gDumbContainer); } |