]> git.saurik.com Git - wxWidgets.git/blame - include/wx/cocoa/notebook.h
change wxDataViewItem id to void*
[wxWidgets.git] / include / wx / cocoa / notebook.h
CommitLineData
78480884
DE
1/////////////////////////////////////////////////////////////////////////////
2// Name: wx/cocoa/notebook.h
3// Purpose: wxNotebook class
4// Author: David Elliott
5// Modified by:
6// Created: 2004/04/08
7// RCS-ID: $Id$
8// Copyright: (c) 2004 David Elliott
630ad6c6 9// Licence: wxWindows licence
78480884
DE
10/////////////////////////////////////////////////////////////////////////////
11
12#ifndef _WX_COCOA_NOTEBOOK_H__
13#define _WX_COCOA_NOTEBOOK_H__
14
15#include "wx/cocoa/NSTabView.h"
16
17// ========================================================================
18// wxNotebook
19// ========================================================================
20class WXDLLEXPORT wxNotebook: public wxNotebookBase, protected wxCocoaNSTabView
21{
22 DECLARE_DYNAMIC_CLASS(wxNotebook)
23 DECLARE_EVENT_TABLE()
24 WX_DECLARE_COCOA_OWNER(NSTabView,NSView,NSView)
25// ------------------------------------------------------------------------
26// initialization
27// ------------------------------------------------------------------------
28public:
29 wxNotebook() { }
30 wxNotebook(wxWindow *parent, wxWindowID winid,
31 const wxPoint& pos = wxDefaultPosition,
32 const wxSize& size = wxDefaultSize,
33 long style = 0,
630ad6c6 34 const wxString& name = wxNotebookNameStr)
78480884
DE
35 {
36 Create(parent, winid, pos, size, style, name);
37 }
38
39 bool Create(wxWindow *parent, wxWindowID winid,
40 const wxPoint& pos = wxDefaultPosition,
41 const wxSize& size = wxDefaultSize,
42 long style = 0,
630ad6c6 43 const wxString& name = wxNotebookNameStr);
78480884
DE
44 virtual ~wxNotebook();
45
46// ------------------------------------------------------------------------
47// Cocoa callbacks
48// ------------------------------------------------------------------------
49protected:
50 // Notebooks cannot be enabled/disabled
51 virtual void CocoaSetEnabled(bool enable) { }
52 virtual void CocoaDelegate_tabView_didSelectTabViewItem(WX_NSTabViewItem tabviewItem);
53 virtual bool CocoaDelegate_tabView_shouldSelectTabViewItem(WX_NSTabViewItem tabviewItem);
54// ------------------------------------------------------------------------
55// Implementation
56// ------------------------------------------------------------------------
57public:
58 // set the currently selected page, return the index of the previously
59 // selected one (or -1 on error)
78480884
DE
60 int SetSelection(size_t nPage);
61 // get the currently selected page
62 int GetSelection() const;
63
1d6fcbcc
VZ
64 // changes selected page without sending events
65 int ChangeSelection(size_t nPage);
66
78480884
DE
67 // set/get the title of a page
68 bool SetPageText(size_t nPage, const wxString& strText);
69 wxString GetPageText(size_t nPage) const;
70
71 // sets/returns item's image index in the current image list
72 int GetPageImage(size_t nPage) const;
73 bool SetPageImage(size_t nPage, int nImage);
74
75 // set the size (the same for all pages)
76 void SetPageSize(const wxSize& size);
77
78 // SetPadding and SetTabSize aren't possible to implement
79 void SetPadding(const wxSize& padding);
80 void SetTabSize(const wxSize& sz);
81
82 //-----------------------
83 // adding/removing pages
84
85 // remove one page from the notebook, without deleting
86 virtual wxNotebookPage *DoRemovePage(size_t nPage);
87
88 // remove one page from the notebook
89 bool DeletePage(size_t nPage);
90 // remove all pages
91 bool DeleteAllPages();
92
93 // adds a new page to the notebook (it will be deleted ny the notebook,
94 // don't delete it yourself). If bSelect, this page becomes active.
95 // the same as AddPage(), but adds it at the specified position
96 bool InsertPage( size_t position,
97 wxNotebookPage *win,
98 const wxString& strText,
630ad6c6 99 bool bSelect = false,
78480884
DE
100 int imageId = -1 );
101
102protected:
103};
104
105#endif //ndef _WX_COCOA_NOTEBOOK_H__