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: notebook.h 41764 2006-10-08 23:41:52Z VZ $ 8// Copyright: (c) 2004 David Elliott 9// Licence: wxWindows licence 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, 34 const wxString& name = wxNotebookNameStr) 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, 43 const wxString& name = wxNotebookNameStr); 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) 60 int SetSelection(size_t nPage); 61 // get the currently selected page 62 int GetSelection() const; 63 64 // changes selected page without sending events 65 int ChangeSelection(size_t nPage); 66 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, 99 bool bSelect = false, 100 int imageId = -1 ); 101 102protected: 103}; 104 105#endif //ndef _WX_COCOA_NOTEBOOK_H__ 106