]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/motif/notebook.h
Made netscape default browser.
[wxWidgets.git] / include / wx / motif / notebook.h
index e4c93c3eea40995476ecdb5379293af1994663ab..734d17fc05de67105e3b397405458f72d4310684 100644 (file)
@@ -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()
 };