X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/0d57be459406c2830f6abc9d99ae99166c6d133b..8e18907799c4b338607b4d57861f97266431b01d:/include/wx/motif/notebook.h?ds=sidebyside diff --git a/include/wx/motif/notebook.h b/include/wx/motif/notebook.h index e4c93c3eea..734d17fc05 100644 --- a/include/wx/motif/notebook.h +++ b/include/wx/motif/notebook.h @@ -1,6 +1,6 @@ ///////////////////////////////////////////////////////////////////////////// // Name: notebook.h -// Purpose: MSW/GTK compatible notebook (a.k.a. property sheet) +// Purpose: wxNotebook class (a.k.a. property sheet, tabbed dialog) // Author: Julian Smart // Modified by: // RCS-ID: $Id$ @@ -21,6 +21,7 @@ #include "wx/dynarray.h" #include "wx/event.h" #include "wx/control.h" +#include "wx/generic/tabg.h" // ---------------------------------------------------------------------------- // types @@ -48,6 +49,9 @@ public: int GetSelection() const { return m_nSel; } int GetOldSelection() const { return m_nOldSel; } + void SetSelection(int sel) { m_nSel = sel; } + void SetOldSelection(int oldSel) { m_nOldSel = oldSel; } + private: int m_nSel, // currently selected page m_nOldSel; // previously selected page @@ -59,9 +63,23 @@ private: // wxNotebook // ---------------------------------------------------------------------------- -// @@@ this class should really derive from wxTabCtrl, but the interface is not -// exactly the same, so I can't do it right now and instead we reimplement -// part of wxTabCtrl here +class WXDLLEXPORT wxNotebook; + +// This reuses wxTabView to draw the tabs. +class WXDLLEXPORT wxNotebookTabView: public wxTabView +{ +DECLARE_DYNAMIC_CLASS(wxNotebookTabView) +public: + wxNotebookTabView(wxNotebook* notebook, long style = wxTAB_STYLE_DRAW_BOX | wxTAB_STYLE_COLOUR_INTERIOR); + ~wxNotebookTabView(void); + + // Called when a tab is activated + virtual void OnTabActivate(int activateId, int deactivateId); + +protected: + wxNotebook* m_notebook; +}; + class wxNotebook : public wxControl { public: @@ -163,9 +181,18 @@ public: virtual bool DoPhase(int nPhase); // Implementation - virtual void ChangeFont(); + + // wxNotebook on Motif uses a generic wxTabView to implement itself. + inline wxTabView *GetTabView() const { return m_tabView; } + inline void SetTabView(wxTabView *v) { m_tabView = v; } + + void OnMouseEvent(wxMouseEvent& event); + void OnPaint(wxPaintEvent& event); + + virtual void ChangeFont(bool keepOriginalSize = TRUE); virtual void ChangeBackgroundColour(); virtual void ChangeForegroundColour(); + virtual wxRect GetAvailableClientSize(); protected: // common part of all ctors @@ -179,6 +206,8 @@ protected: int m_nSelection; // the current selection (-1 if none) + wxTabView* m_tabView; + DECLARE_DYNAMIC_CLASS(wxNotebook) DECLARE_EVENT_TABLE() };