]> git.saurik.com Git - wxWidgets.git/commitdiff
Add support for wxDC_ROW_LINES for GTK+ and OS X
authorRobert Roebling <robert@roebling.de>
Mon, 3 Dec 2007 09:44:29 +0000 (09:44 +0000)
committerRobert Roebling <robert@roebling.de>
Mon, 3 Dec 2007 09:44:29 +0000 (09:44 +0000)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@50450 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

docs/latex/wx/dataviewctrl.tex
include/wx/dataview.h
src/common/datavcmn.cpp
src/gtk/dataview.cpp

index 00d66e772f21942923fe711838b1290623f2e2dd..e960313f5f25048161f0c4e91a7b59d8bfe3a4ec 100644 (file)
@@ -37,6 +37,9 @@ from \helpref{wxVariant::GetType}{wxvariantgettype}.
 \begin{twocollist}\itemsep=0pt
 \twocolitem{\windowstyle{wxDV\_SINGLE}}{Single selection mode. This is the default.}
 \twocolitem{\windowstyle{wxDV\_MULTIPLE}}{Multiple selection mode.}
+\twocolitem{\windowstyle{wxDV\_ROW\_LINES}}{Use alternating colours for rows if supported by platform and theme.}
+\twocolitem{\windowstyle{wxDV\_HORIZ\_RULES}}{Display fine rules between row if supported.}
+\twocolitem{\windowstyle{wxDV\_VERT\_RULES}}{Display fine rules between columns is supported.}
 \end{twocollist}
 
 
index 4a5e4f889393969e4f81c541f0f197b9b5a3acdf..90d7a5e4819318830dbd67739a65a312f3118e93 100644 (file)
@@ -499,6 +499,8 @@ protected:
 #define wxDV_HORIZ_RULES             0x0004     // light horizontal rules between rows
 #define wxDV_VERT_RULES              0x0008     // light vertical rules between columns
 
+#define wxDV_ROW_LINES               0x0010     // alternating colour in rows
+
 class WXDLLIMPEXP_ADV wxDataViewCtrlBase: public wxControl
 {
 public:
@@ -939,13 +941,13 @@ public:
     wxDataViewTreeCtrl();
     wxDataViewTreeCtrl( wxWindow *parent, wxWindowID id,
            const wxPoint& pos = wxDefaultPosition,
-           const wxSize& size = wxDefaultSize, long style = wxDV_NO_HEADER,
+           const wxSize& size = wxDefaultSize, long style = wxDV_NO_HEADER | wxDV_ROW_LINES,
            const wxValidator& validator = wxDefaultValidator );
     ~wxDataViewTreeCtrl();
 
     bool Create( wxWindow *parent, wxWindowID id,
            const wxPoint& pos = wxDefaultPosition,
-           const wxSize& size = wxDefaultSize, long style = wxDV_NO_HEADER,
+           const wxSize& size = wxDefaultSize, long style = wxDV_NO_HEADER | wxDV_ROW_LINES,
            const wxValidator& validator = wxDefaultValidator );
 
     wxDataViewTreeStore *GetStore()
@@ -1004,6 +1006,7 @@ public:
 
     void OnExpanded( wxDataViewEvent &event );
     void OnCollapsed( wxDataViewEvent &event );
+    void OnSize( wxSizeEvent &event );
 
 private:
     wxImageList  *m_imageList;
index 4d1c9dd89c025cda6b0deb8e6dbbfbfc4b8f4953..6e2935f50bda7d207397c0e80f0c5b7f3a57ba99 100644 (file)
@@ -1693,6 +1693,11 @@ void wxDataViewTreeCtrl::OnCollapsed( wxDataViewEvent &event )
     GetStore()->ItemChanged( event.GetItem() );
 }
 
+void wxDataViewTreeCtrl::OnSize( wxSizeEvent &WXUNUSED(event) )
+{
+#if !defined(__WXGTK20__)
+#endif
+}
 
 #endif // wxUSE_DATAVIEWCTRL
 
index a394bef7f066f6fe69eee3361c1b3841091e9c23..929fa97c4d86acafa16438d81ccd129a310958d5 100644 (file)
@@ -3344,13 +3344,12 @@ bool wxDataViewCtrl::Create(wxWindow *parent, wxWindowID id,
         else if (style & wxDV_HORIZ_RULES)
             grid = GTK_TREE_VIEW_GRID_LINES_HORIZONTAL;
 
-        gtk_tree_view_set_grid_lines( GTK_TREE_VIEW(m_treeview), grid );
+        if (grid != GTK_TREE_VIEW_GRID_LINES_NONE)
+            gtk_tree_view_set_grid_lines( GTK_TREE_VIEW(m_treeview), grid );
     }
-    else
 #endif
-    {
-        gtk_tree_view_set_rules_hint( GTK_TREE_VIEW(m_treeview), (style & wxDV_HORIZ_RULES) != 0 );
-    }
+
+    gtk_tree_view_set_rules_hint( GTK_TREE_VIEW(m_treeview), (style & wxDV_ROW_LINES) != 0 );
 
     gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (m_widget),
         GTK_POLICY_AUTOMATIC, GTK_POLICY_ALWAYS);