X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/1a584f14bf7c07c7f1a87ad80a5a9b710402dd27..fde6325769e65609fa8a278342223559522ad23c:/contrib/include/wx/gizmos/splittree.h diff --git a/contrib/include/wx/gizmos/splittree.h b/contrib/include/wx/gizmos/splittree.h index d5e178bb59..fdf99a44b7 100644 --- a/contrib/include/wx/gizmos/splittree.h +++ b/contrib/include/wx/gizmos/splittree.h @@ -14,10 +14,12 @@ #ifndef _WX_SPLITTREE_H_ #define _WX_SPLITTREE_H_ -#ifdef __GNUG__ - #pragma interface "splittree.h" +#if defined(__GNUG__) && !defined(__APPLE__) + #pragma interface "splittree.h" #endif +#include "wx/gizmos/gizmos.h" + // Set this to 1 to use generic tree control (doesn't yet work properly) #define USE_GENERIC_TREECTRL 0 @@ -46,18 +48,19 @@ class wxSplitterScrolledWindow; * It also updates the scrolled window vertical scrollbar as appropriate. */ -class wxRemotelyScrolledTreeCtrl: public wxTreeCtrl +class WXDLLIMPEXP_GIZMOS wxRemotelyScrolledTreeCtrl: public wxTreeCtrl { - DECLARE_CLASS(wxRemotelyScrolledTreeCtrl) + DECLARE_CLASS(wxRemotelyScrolledTreeCtrl) public: wxRemotelyScrolledTreeCtrl(wxWindow* parent, wxWindowID id, const wxPoint& pt = wxDefaultPosition, const wxSize& sz = wxDefaultSize, long style = wxTR_HAS_BUTTONS); - ~wxRemotelyScrolledTreeCtrl(); + ~wxRemotelyScrolledTreeCtrl(); //// Events - void OnSize(wxSizeEvent& event); - void OnExpand(wxTreeEvent& event); + void OnSize(wxSizeEvent& event); + void OnExpand(wxTreeEvent& event); void OnScroll(wxScrollWinEvent& event); + void OnPaint(wxPaintEvent& event); //// Overrides // Override this in case we're using the generic tree control. @@ -69,7 +72,7 @@ public: virtual void SetScrollbars(int pixelsPerUnitX, int pixelsPerUnitY, int noUnitsX, int noUnitsY, int xPos = 0, int yPos = 0, - bool noRefresh = FALSE ); + bool noRefresh = false ); // In case we're using the generic tree control. // Get the view start @@ -78,19 +81,22 @@ public: // In case we're using the generic tree control. virtual void PrepareDC(wxDC& dc); + // In case we're using the generic tree control. + virtual int GetScrollPos(int orient) const; + //// Helpers - void HideVScrollbar(); + void HideVScrollbar(); - // Calculate the tree overall size so we can set the scrollbar - // correctly - void CalcTreeSize(wxRect& rect); - void CalcTreeSize(wxTreeItemId& id, wxRect& rect); + // Calculate the tree overall size so we can set the scrollbar + // correctly + void CalcTreeSize(wxRect& rect); + void CalcTreeSize(const wxTreeItemId& id, wxRect& rect); - // Adjust the containing wxScrolledWindow's scrollbars appropriately - void AdjustRemoteScrollbars(); + // Adjust the containing wxScrolledWindow's scrollbars appropriately + void AdjustRemoteScrollbars(); - // Find the scrolled window that contains this control - wxScrolledWindow* GetScrolledWindow() const; + // Find the scrolled window that contains this control + wxScrolledWindow* GetScrolledWindow() const; // Scroll to the given line (in scroll units where each unit is // the height of an item) @@ -98,15 +104,16 @@ public: //// Accessors - // The companion window is one which will get notified when certain - // events happen such as node expansion - void SetCompanionWindow(wxWindow* companion) { m_companionWindow = companion; } - wxWindow* GetCompanionWindow() const { return m_companionWindow; } + // The companion window is one which will get notified when certain + // events happen such as node expansion + void SetCompanionWindow(wxWindow* companion) { m_companionWindow = companion; } + wxWindow* GetCompanionWindow() const { return m_companionWindow; } DECLARE_EVENT_TABLE() protected: - wxWindow* m_companionWindow; + wxWindow* m_companionWindow; + bool m_drawRowLines; }; /* @@ -115,33 +122,33 @@ protected: * A window displaying values associated with tree control items. */ -class wxTreeCompanionWindow: public wxWindow +class WXDLLIMPEXP_GIZMOS wxTreeCompanionWindow: public wxWindow { public: DECLARE_CLASS(wxTreeCompanionWindow) - wxTreeCompanionWindow(wxWindow* parent, wxWindowID id = -1, + wxTreeCompanionWindow(wxWindow* parent, wxWindowID id = wxID_ANY, const wxPoint& pos = wxDefaultPosition, const wxSize& sz = wxDefaultSize, long style = 0); //// Overrides - virtual void DrawItem(wxDC& dc, wxTreeItemId id, const wxRect& rect); + virtual void DrawItem(wxDC& dc, wxTreeItemId id, const wxRect& rect); //// Events - void OnPaint(wxPaintEvent& event); + void OnPaint(wxPaintEvent& event); void OnScroll(wxScrollWinEvent& event); - void OnExpand(wxTreeEvent& event); + void OnExpand(wxTreeEvent& event); //// Operations //// Accessors - wxRemotelyScrolledTreeCtrl* GetTreeCtrl() const { return m_treeCtrl; }; - void SetTreeCtrl(wxRemotelyScrolledTreeCtrl* treeCtrl) { m_treeCtrl = treeCtrl; } + wxRemotelyScrolledTreeCtrl* GetTreeCtrl() const { return m_treeCtrl; }; + void SetTreeCtrl(wxRemotelyScrolledTreeCtrl* treeCtrl) { m_treeCtrl = treeCtrl; } //// Data members protected: - wxRemotelyScrolledTreeCtrl* m_treeCtrl; + wxRemotelyScrolledTreeCtrl* m_treeCtrl; DECLARE_EVENT_TABLE() }; @@ -154,15 +161,16 @@ protected: * than the usual one. */ -class wxThinSplitterWindow: public wxSplitterWindow +class WXDLLIMPEXP_GIZMOS wxThinSplitterWindow: public wxSplitterWindow { public: DECLARE_DYNAMIC_CLASS(wxThinSplitterWindow) - wxThinSplitterWindow(wxWindow* parent, wxWindowID id = -1, + wxThinSplitterWindow(wxWindow* parent, wxWindowID id = wxID_ANY, const wxPoint& pos = wxDefaultPosition, const wxSize& sz = wxDefaultSize, long style = wxSP_3D | wxCLIP_CHILDREN); + ~wxThinSplitterWindow(); //// Overrides @@ -170,10 +178,10 @@ public: // Tests for x, y over sash. Overriding this allows us to increase // the tolerance. bool SashHitTest(int x, int y, int tolerance = 2); - void DrawSash(wxDC& dc); + void DrawSash(wxDC& dc); //// Events - + void OnSize(wxSizeEvent& event); //// Operations @@ -182,6 +190,9 @@ public: //// Data members protected: + wxPen* m_facePen; + wxBrush* m_faceBrush; + DECLARE_EVENT_TABLE() }; @@ -194,12 +205,12 @@ protected: * scroll appropriately. */ -class wxSplitterScrolledWindow: public wxScrolledWindow +class WXDLLIMPEXP_GIZMOS wxSplitterScrolledWindow: public wxScrolledWindow { public: DECLARE_DYNAMIC_CLASS(wxSplitterScrolledWindow) - wxSplitterScrolledWindow(wxWindow* parent, wxWindowID id = -1, + wxSplitterScrolledWindow(wxWindow* parent, wxWindowID id = wxID_ANY, const wxPoint& pos = wxDefaultPosition, const wxSize& sz = wxDefaultSize, long style = 0); @@ -207,7 +218,7 @@ public: //// Overrides //// Events - + void OnScroll(wxScrollWinEvent& event); void OnSize(wxSizeEvent& event);