X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/8907154c1a8a6882c6797d1f16393ddfb23e7f3a..3f4049ffb2aa35e0a7648f6ffc6869394f70fd8c:/include/wx/generic/tabg.h?ds=sidebyside diff --git a/include/wx/generic/tabg.h b/include/wx/generic/tabg.h index 0ee3f792d2..4ab53af0e7 100644 --- a/include/wx/generic/tabg.h +++ b/include/wx/generic/tabg.h @@ -20,7 +20,7 @@ #include "wx/panel.h" #include "wx/list.h" -class WXDLLEXPORT wxTabView; +class WXDLLIMPEXP_FWD_CORE wxTabView; /* * A wxTabControl is the internal and visual representation @@ -32,7 +32,7 @@ class WXDLLEXPORT wxTabControl: public wxObject DECLARE_DYNAMIC_CLASS(wxTabControl) public: wxTabControl(wxTabView *v = (wxTabView *) NULL); - ~wxTabControl(void); + virtual ~wxTabControl(void); virtual void OnDraw(wxDC& dc, bool lastInRow); void SetLabel(const wxString& str) { m_controlLabel = str; } @@ -99,14 +99,10 @@ class WXDLLEXPORT wxTabView: public wxObject DECLARE_DYNAMIC_CLASS(wxTabView) public: wxTabView(long style = wxTAB_STYLE_DRAW_BOX | wxTAB_STYLE_COLOUR_INTERIOR); - ~wxTabView(); + virtual ~wxTabView(); inline int GetNumberOfLayers() const { return m_layers.GetCount(); } -#if WXWIN_COMPATIBILITY_2_4 - inline wxList& GetLayers() { return *(wxList *)&m_layers; } -#else inline wxTabLayerList& GetLayers() { return m_layers; } -#endif inline void SetWindow(wxWindow* wnd) { m_window = wnd; } inline wxWindow* GetWindow(void) const { return m_window; } @@ -148,10 +144,10 @@ public: inline wxColour GetShadowColour(void) const { return m_shadowColour; } inline wxColour GetBackgroundColour(void) const { return m_backgroundColour; } inline wxColour GetTextColour(void) const { return m_textColour; } - inline wxPen *GetHighlightPen(void) const { return m_highlightPen; } - inline wxPen *GetShadowPen(void) const { return m_shadowPen; } - inline wxPen *GetBackgroundPen(void) const { return m_backgroundPen; } - inline wxBrush *GetBackgroundBrush(void) const { return m_backgroundBrush; } + inline const wxPen *GetHighlightPen(void) const { return m_highlightPen; } + inline const wxPen *GetShadowPen(void) const { return m_shadowPen; } + inline const wxPen *GetBackgroundPen(void) const { return m_backgroundPen; } + inline const wxBrush *GetBackgroundBrush(void) const { return m_backgroundBrush; } inline void SetViewRect(const wxRect& rect) { m_tabViewRect = rect; } inline wxRect GetViewRect(void) const { return m_tabViewRect; } @@ -253,10 +249,10 @@ protected: wxColour m_textColour; // Pen and brush cache - wxPen* m_highlightPen; - wxPen* m_shadowPen; - wxPen* m_backgroundPen; - wxBrush* m_backgroundBrush; + const wxPen* m_highlightPen; + const wxPen* m_shadowPen; + const wxPen* m_backgroundPen; + const wxBrush* m_backgroundBrush; wxFont m_tabFont; wxFont m_tabSelectedFont; @@ -270,87 +266,93 @@ protected: * A dialog box class that is tab-friendly */ -class WXDLLEXPORT wxTabbedDialog: public wxDialog +class WXDLLEXPORT wxTabbedDialog : public wxDialog { -DECLARE_DYNAMIC_CLASS(wxTabbedDialog) + DECLARE_DYNAMIC_CLASS(wxTabbedDialog) public: - - wxTabbedDialog(wxWindow *parent, wxWindowID id, const wxString& title, - const wxPoint& pos = wxDefaultPosition, - const wxSize& size = wxDefaultSize, - long windowStyle = wxDEFAULT_DIALOG_STYLE, const wxString& name = wxDialogNameStr); - ~wxTabbedDialog(void); - - inline wxTabView *GetTabView() const { return m_tabView; } - inline void SetTabView(wxTabView *v) { m_tabView = v; } - - void OnCloseWindow(wxCloseEvent& event); - void OnMouseEvent(wxMouseEvent& event); - void OnPaint(wxPaintEvent& event); + wxTabbedDialog(wxWindow *parent, + wxWindowID id, + const wxString& title, + const wxPoint& pos = wxDefaultPosition, + const wxSize& size = wxDefaultSize, + long windowStyle = wxDEFAULT_DIALOG_STYLE, + const wxString& name = wxDialogNameStr); + virtual ~wxTabbedDialog(); + + wxTabView *GetTabView() const { return m_tabView; } + void SetTabView(wxTabView *v) { m_tabView = v; } + + void OnCloseWindow(wxCloseEvent& event); + void OnMouseEvent(wxMouseEvent& event); + void OnPaint(wxPaintEvent& event); protected: - wxTabView* m_tabView; + wxTabView* m_tabView; -DECLARE_EVENT_TABLE() +private: + DECLARE_EVENT_TABLE() }; /* * A panel class that is tab-friendly */ -class WXDLLEXPORT wxTabbedPanel: public wxPanel +class WXDLLEXPORT wxTabbedPanel : public wxPanel { -DECLARE_DYNAMIC_CLASS(wxTabbedPanel) + DECLARE_DYNAMIC_CLASS(wxTabbedPanel) public: + wxTabbedPanel(wxWindow *parent, + wxWindowID id, + const wxPoint& pos = wxDefaultPosition, + const wxSize& size = wxDefaultSize, + long windowStyle = 0, + const wxString& name = wxPanelNameStr); + virtual ~wxTabbedPanel(); - wxTabbedPanel(wxWindow *parent, wxWindowID id, - const wxPoint& pos = wxDefaultPosition, - const wxSize& size = wxDefaultSize, - long windowStyle = 0, const wxString& name = wxPanelNameStr); - ~wxTabbedPanel(void); + wxTabView *GetTabView() const { return m_tabView; } + void SetTabView(wxTabView *v) { m_tabView = v; } - inline wxTabView *GetTabView() const { return m_tabView; } - inline void SetTabView(wxTabView *v) { m_tabView = v; } - - void OnMouseEvent(wxMouseEvent& event); - void OnPaint(wxPaintEvent& event); + void OnMouseEvent(wxMouseEvent& event); + void OnPaint(wxPaintEvent& event); protected: - wxTabView* m_tabView; + wxTabView* m_tabView; -DECLARE_EVENT_TABLE() +private: + DECLARE_EVENT_TABLE() }; WX_DECLARE_HASH_MAP(int, wxWindow*, wxIntegerHash, wxIntegerEqual, wxIntToWindowHashMap); -class WXDLLEXPORT wxPanelTabView: public wxTabView +class WXDLLEXPORT wxPanelTabView : public wxTabView { -DECLARE_DYNAMIC_CLASS(wxPanelTabView) + DECLARE_DYNAMIC_CLASS(wxPanelTabView) + public: - wxPanelTabView(wxPanel *pan, long style = wxTAB_STYLE_DRAW_BOX | wxTAB_STYLE_COLOUR_INTERIOR); - ~wxPanelTabView(void); + wxPanelTabView(wxPanel *pan, long style = wxTAB_STYLE_DRAW_BOX | wxTAB_STYLE_COLOUR_INTERIOR); + virtual ~wxPanelTabView(void); - // Called when a tab is activated - virtual void OnTabActivate(int activateId, int deactivateId); + // Called when a tab is activated + virtual void OnTabActivate(int activateId, int deactivateId); - // Specific to this class - void AddTabWindow(int id, wxWindow *window); - wxWindow *GetTabWindow(int id) const ; - void ClearWindows(bool deleteWindows = true); - inline wxWindow *GetCurrentWindow() const { return m_currentWindow; } + // Specific to this class + void AddTabWindow(int id, wxWindow *window); + wxWindow *GetTabWindow(int id) const ; + void ClearWindows(bool deleteWindows = true); + wxWindow *GetCurrentWindow() const { return m_currentWindow; } - void ShowWindowForTab(int id); - // inline wxList& GetWindows() const { return (wxList&) m_tabWindows; } + void ShowWindowForTab(int id); + // wxList& GetWindows() const { return (wxList&) m_tabWindows; } protected: - // List of panels, one for each tab. Indexed - // by tab ID. - wxIntToWindowHashMap m_tabWindows; - wxWindow* m_currentWindow; - wxPanel* m_panel; + // List of panels, one for each tab. Indexed + // by tab ID. + wxIntToWindowHashMap m_tabWindows; + wxWindow* m_currentWindow; + wxPanel* m_panel; }; #endif