// Created: 01/02/97
// RCS-ID: $Id$
// Copyright: (c)
-// Licence: wxWindows licence
+// Licence: wxWindows licence
/////////////////////////////////////////////////////////////////////////////
#ifndef __TABGH_G__
#define __TABGH_G__
-#ifdef __GNUG__
+#if defined(__GNUG__) && !defined(__APPLE__)
#pragma interface "tabg.h"
#endif
#include "wx/hash.h"
#include "wx/string.h"
#include "wx/dialog.h"
+#include "wx/panel.h"
class WXDLLEXPORT wxTabView;
* A wxTabControl is the internal and visual representation
* of the tab.
*/
-
+
class WXDLLEXPORT wxTabControl: public wxObject
{
DECLARE_DYNAMIC_CLASS(wxTabControl)
public:
wxTabControl(wxTabView *v = (wxTabView *) NULL);
~wxTabControl(void);
-
+
virtual void OnDraw(wxDC& dc, bool lastInRow);
- inline void SetLabel(const wxString& str) { m_controlLabel = str; }
- inline wxString GetLabel(void) const { return m_controlLabel; }
-
- inline void SetFont(const wxFont& f) { m_labelFont = f; }
- inline wxFont *GetFont(void) const { return (wxFont*) & m_labelFont; }
-
- inline void SetSelected(bool sel) { m_isSelected = sel; }
- inline bool IsSelected(void) const { return m_isSelected; }
-
- inline void SetPosition(int x, int y) { m_offsetX = x; m_offsetY = y; }
- inline void SetSize(int x, int y) { m_width = x; m_height = y; }
-
- inline void SetRowPosition(int r) { m_rowPosition = r; }
- inline int GetRowPosition() const { return m_rowPosition; }
- inline void SetColPosition(int c) { m_colPosition = c; }
- inline int GetColPosition() const { return m_colPosition; }
-
- inline int GetX(void) const { return m_offsetX; }
- inline int GetY(void) const { return m_offsetY; }
- inline int GetWidth(void) const { return m_width; }
- inline int GetHeight(void) const { return m_height; }
-
- inline int GetId(void) const { return m_id; }
- inline void SetId(int i) { m_id = i; }
-
+ void SetLabel(const wxString& str) { m_controlLabel = str; }
+ wxString GetLabel(void) const { return m_controlLabel; }
+
+ void SetFont(const wxFont& f) { m_labelFont = f; }
+ wxFont *GetFont(void) const { return (wxFont*) & m_labelFont; }
+
+ void SetSelected(bool sel) { m_isSelected = sel; }
+ bool IsSelected(void) const { return m_isSelected; }
+
+ void SetPosition(int x, int y) { m_offsetX = x; m_offsetY = y; }
+ void SetSize(int x, int y) { m_width = x; m_height = y; }
+
+ void SetRowPosition(int r) { m_rowPosition = r; }
+ int GetRowPosition() const { return m_rowPosition; }
+ void SetColPosition(int c) { m_colPosition = c; }
+ int GetColPosition() const { return m_colPosition; }
+
+ int GetX(void) const { return m_offsetX; }
+ int GetY(void) const { return m_offsetY; }
+ int GetWidth(void) const { return m_width; }
+ int GetHeight(void) const { return m_height; }
+
+ int GetId(void) const { return m_id; }
+ void SetId(int i) { m_id = i; }
+
virtual bool HitTest(int x, int y) const ;
protected:
int m_rowPosition; // Position in row from 0
int m_colPosition; // Position in col from 0
};
-
+
/*
* Each wxTabLayer is a list of tabs. E.g. there
* are 3 layers in the MS Word Options dialog.
*/
-
+
class WXDLLEXPORT wxTabLayer: public wxList
{
DECLARE_DYNAMIC_CLASS(wxTabLayer)
- public:
- wxTabLayer(void)
- {
- }
};
/*
wxTabView(long style = wxTAB_STYLE_DRAW_BOX | wxTAB_STYLE_COLOUR_INTERIOR);
~wxTabView();
- inline int GetNumberOfLayers() const { return m_layers.Number(); }
+ inline int GetNumberOfLayers() const { return m_layers.GetCount(); }
inline wxList& GetLayers() { return m_layers; }
inline void SetWindow(wxWindow* wnd) { m_window = wnd; }
// Automatically positions tabs
wxTabControl *AddTab(int id, const wxString& label, wxTabControl *existingTab = (wxTabControl *) NULL);
+
+ // Remove the tab without deleting the window
+ bool RemoveTab(int id);
void ClearTabs(bool deleteTabs = TRUE);
+ bool SetTabText(int id, const wxString& label);
+ wxString GetTabText(int id) const;
+
// Layout tabs (optional, e.g. if resizing window)
- void Layout(void);
+ void LayoutTabs();
// Draw all tabs
virtual void Draw(wxDC& dc);
inline wxPen *GetBackgroundPen(void) const { return m_backgroundPen; }
inline wxBrush *GetBackgroundBrush(void) const { return m_backgroundBrush; }
- inline void SetViewRect(const wxRectangle& rect) { m_tabViewRect = rect; }
+ inline void SetViewRect(const wxRect& rect) { m_tabViewRect = rect; }
inline wxRect GetViewRect(void) const { return m_tabViewRect; }
// Calculate tab width to fit to view, and optionally adjust the view