]> git.saurik.com Git - wxWidgets.git/blame - src/palmos/notebook.cpp
remove wxSETranslator() entirely from wxUSE_ON_FATAL_EXCEPTION==0 build (part of...
[wxWidgets.git] / src / palmos / notebook.cpp
CommitLineData
ffecfa5a 1///////////////////////////////////////////////////////////////////////////////
e2731512 2// Name: src/palmos/notebook.cpp
ffecfa5a 3// Purpose: implementation of wxNotebook
e2731512 4// Author: William Osborne - minimal working wxPalmOS port
ffecfa5a
JS
5// Modified by:
6// Created: 10/13/04
e2731512 7// RCS-ID: $Id$
ffecfa5a
JS
8// Copyright: (c) William Osborne
9// Licence: wxWindows licence
10///////////////////////////////////////////////////////////////////////////////
11
ffecfa5a
JS
12// For compilers that support precompilation, includes "wx.h".
13#include "wx/wxprec.h"
14
15#ifdef __BORLANDC__
16 #pragma hdrstop
17#endif
18
19#if wxUSE_NOTEBOOK
20
21// wxWidgets
22#ifndef WX_PRECOMP
23 #include "wx/string.h"
24#endif // WX_PRECOMP
25
ffecfa5a
JS
26// ----------------------------------------------------------------------------
27// macros
28// ----------------------------------------------------------------------------
29
30// check that the page index is valid
31#define IS_VALID_PAGE(nPage) ((nPage) < GetPageCount())
32
ffecfa5a
JS
33// ----------------------------------------------------------------------------
34// event table
35// ----------------------------------------------------------------------------
36
7ec69821 37#include "wx/listimpl.cpp"
ffecfa5a 38
412e0d47 39WX_DEFINE_LIST( wxNotebookPageInfoList )
ffecfa5a
JS
40
41DEFINE_EVENT_TYPE(wxEVT_COMMAND_NOTEBOOK_PAGE_CHANGED)
42DEFINE_EVENT_TYPE(wxEVT_COMMAND_NOTEBOOK_PAGE_CHANGING)
43
8dba4c72 44BEGIN_EVENT_TABLE(wxNotebook, wxBookCtrlBase)
90c0f5a9 45 EVT_NOTEBOOK_PAGE_CHANGED(wxID_ANY, wxNotebook::OnSelChange)
ffecfa5a
JS
46
47 EVT_SIZE(wxNotebook::OnSize)
48
49 EVT_NAVIGATION_KEY(wxNotebook::OnNavigationKey)
50END_EVENT_TABLE()
51
52#if wxUSE_EXTENDED_RTTI
53WX_DEFINE_FLAGS( wxNotebookStyle )
54
55wxBEGIN_FLAGS( wxNotebookStyle )
56 // new style border flags, we put them first to
57 // use them for streaming out
58 wxFLAGS_MEMBER(wxBORDER_SIMPLE)
59 wxFLAGS_MEMBER(wxBORDER_SUNKEN)
60 wxFLAGS_MEMBER(wxBORDER_DOUBLE)
61 wxFLAGS_MEMBER(wxBORDER_RAISED)
62 wxFLAGS_MEMBER(wxBORDER_STATIC)
63 wxFLAGS_MEMBER(wxBORDER_NONE)
e2731512 64
ffecfa5a
JS
65 // old style border flags
66 wxFLAGS_MEMBER(wxSIMPLE_BORDER)
67 wxFLAGS_MEMBER(wxSUNKEN_BORDER)
68 wxFLAGS_MEMBER(wxDOUBLE_BORDER)
69 wxFLAGS_MEMBER(wxRAISED_BORDER)
70 wxFLAGS_MEMBER(wxSTATIC_BORDER)
71 wxFLAGS_MEMBER(wxBORDER)
72
73 // standard window styles
74 wxFLAGS_MEMBER(wxTAB_TRAVERSAL)
75 wxFLAGS_MEMBER(wxCLIP_CHILDREN)
76 wxFLAGS_MEMBER(wxTRANSPARENT_WINDOW)
77 wxFLAGS_MEMBER(wxWANTS_CHARS)
78 wxFLAGS_MEMBER(wxFULL_REPAINT_ON_RESIZE)
79 wxFLAGS_MEMBER(wxALWAYS_SHOW_SB )
80 wxFLAGS_MEMBER(wxVSCROLL)
81 wxFLAGS_MEMBER(wxHSCROLL)
82
83 wxFLAGS_MEMBER(wxNB_FIXEDWIDTH)
90c0f5a9
WS
84 wxFLAGS_MEMBER(wxBK_LEFT)
85 wxFLAGS_MEMBER(wxBK_RIGHT)
86 wxFLAGS_MEMBER(wxBK_BOTTOM)
ffecfa5a
JS
87
88wxEND_FLAGS( wxNotebookStyle )
89
8dba4c72 90IMPLEMENT_DYNAMIC_CLASS_XTI(wxNotebook, wxBookCtrlBase,"wx/notebook.h")
ffecfa5a
JS
91IMPLEMENT_DYNAMIC_CLASS_XTI(wxNotebookPageInfo, wxObject , "wx/notebook.h" )
92
93wxCOLLECTION_TYPE_INFO( wxNotebookPageInfo * , wxNotebookPageInfoList ) ;
94
95template<> void wxCollectionToVariantArray( wxNotebookPageInfoList const &theList, wxxVariantArray &value)
96{
97 wxListCollectionToVariantArray<wxNotebookPageInfoList::compatibility_iterator>( theList , value ) ;
98}
99
100wxBEGIN_PROPERTIES_TABLE(wxNotebook)
3e97a905
VZ
101 wxEVENT_PROPERTY( PageChanging , wxEVT_COMMAND_NOTEBOOK_PAGE_CHANGING , wxBookCtrlEvent )
102 wxEVENT_PROPERTY( PageChanged , wxEVT_COMMAND_NOTEBOOK_PAGE_CHANGED , wxBookCtrlEvent )
ffecfa5a
JS
103
104 wxPROPERTY_COLLECTION( PageInfos , wxNotebookPageInfoList , wxNotebookPageInfo* , AddPageInfo , GetPageInfos , 0 /*flags*/ , wxT("Helpstring") , wxT("group"))
105 wxPROPERTY_FLAGS( WindowStyle , wxNotebookStyle , long , SetWindowStyleFlag , GetWindowStyleFlag , EMPTY_MACROVALUE , 0 /*flags*/ , wxT("Helpstring") , wxT("group")) // style
106wxEND_PROPERTIES_TABLE()
107
108wxBEGIN_HANDLERS_TABLE(wxNotebook)
109wxEND_HANDLERS_TABLE()
110
e2731512 111wxCONSTRUCTOR_5( wxNotebook , wxWindow* , Parent , wxWindowID , Id , wxPoint , Position , wxSize , Size , long , WindowStyle)
ffecfa5a
JS
112
113
114wxBEGIN_PROPERTIES_TABLE(wxNotebookPageInfo)
115 wxREADONLY_PROPERTY( Page , wxNotebookPage* , GetPage , EMPTY_MACROVALUE , 0 /*flags*/ , wxT("Helpstring") , wxT("group"))
116 wxREADONLY_PROPERTY( Text , wxString , GetText , wxString() , 0 /*flags*/ , wxT("Helpstring") , wxT("group"))
117 wxREADONLY_PROPERTY( Selected , bool , GetSelected , false, 0 /*flags*/ , wxT("Helpstring") , wxT("group") )
118 wxREADONLY_PROPERTY( ImageId , int , GetImageId , -1 , 0 /*flags*/ , wxT("Helpstring") , wxT("group"))
119wxEND_PROPERTIES_TABLE()
120
121wxBEGIN_HANDLERS_TABLE(wxNotebookPageInfo)
122wxEND_HANDLERS_TABLE()
123
e2731512 124wxCONSTRUCTOR_4( wxNotebookPageInfo , wxNotebookPage* , Page , wxString , Text , bool , Selected , int , ImageId )
ffecfa5a
JS
125
126#else
8dba4c72 127IMPLEMENT_DYNAMIC_CLASS(wxNotebook, wxBookCtrlBase)
ffecfa5a
JS
128IMPLEMENT_DYNAMIC_CLASS(wxNotebookPageInfo, wxObject )
129#endif
ffecfa5a
JS
130
131// ============================================================================
132// implementation
133// ============================================================================
134
135// ----------------------------------------------------------------------------
136// wxNotebook construction
137// ----------------------------------------------------------------------------
138
139const wxNotebookPageInfoList& wxNotebook::GetPageInfos() const
140{
141 wxNotebookPageInfoList* list;
142
143 return m_pageInfos ;
144}
145
146// common part of all ctors
147void wxNotebook::Init()
148{
149}
150
151// default for dynamic class
152wxNotebook::wxNotebook()
153{
154}
155
156// the same arguments as for wxControl
157wxNotebook::wxNotebook(wxWindow *parent,
158 wxWindowID id,
159 const wxPoint& pos,
160 const wxSize& size,
161 long style,
162 const wxString& name)
163{
164}
165
166// Create() function
167bool wxNotebook::Create(wxWindow *parent,
168 wxWindowID id,
169 const wxPoint& pos,
170 const wxSize& size,
171 long style,
172 const wxString& name)
173{
174 return false;
175}
176
ffecfa5a
JS
177// ----------------------------------------------------------------------------
178// wxNotebook accessors
179// ----------------------------------------------------------------------------
180
181size_t wxNotebook::GetPageCount() const
182{
630ad6c6 183 return 0;
ffecfa5a
JS
184}
185
186int wxNotebook::GetRowCount() const
187{
630ad6c6 188 return 0;
ffecfa5a
JS
189}
190
191int wxNotebook::SetSelection(size_t nPage)
192{
193 return 0;
194}
195
1d6fcbcc
VZ
196int wxNotebook::ChangeSelection(size_t nPage)
197{
198 return 0;
199}
200
ffecfa5a
JS
201bool wxNotebook::SetPageText(size_t nPage, const wxString& strText)
202{
203 return false;
204}
205
206wxString wxNotebook::GetPageText(size_t nPage) const
207{
630ad6c6 208 return wxEmptyString;
ffecfa5a
JS
209}
210
211int wxNotebook::GetPageImage(size_t nPage) const
212{
630ad6c6 213 return -1;
ffecfa5a
JS
214}
215
216bool wxNotebook::SetPageImage(size_t nPage, int nImage)
217{
218 return false;
219}
220
221void wxNotebook::SetImageList(wxImageList* imageList)
222{
223}
224
225// ----------------------------------------------------------------------------
226// wxNotebook size settings
227// ----------------------------------------------------------------------------
228
229void wxNotebook::SetPageSize(const wxSize& size)
230{
231}
232
233void wxNotebook::SetPadding(const wxSize& padding)
234{
235}
236
237void wxNotebook::SetTabSize(const wxSize& sz)
238{
239}
240
241wxSize wxNotebook::CalcSizeFromPage(const wxSize& sizePage) const
242{
243 return wxSize(0,0);
244}
245
246void wxNotebook::AdjustPageSize(wxNotebookPage *page)
247{
248}
249
250// ----------------------------------------------------------------------------
251// wxNotebook operations
252// ----------------------------------------------------------------------------
253
254// remove one page from the notebook, without deleting
255wxNotebookPage *wxNotebook::DoRemovePage(size_t nPage)
256{
257 return NULL;
258}
259
260// remove all pages
261bool wxNotebook::DeleteAllPages()
262{
630ad6c6 263 return true;
ffecfa5a
JS
264}
265
266// same as AddPage() but does it at given position
267bool wxNotebook::InsertPage(size_t nPage,
268 wxNotebookPage *pPage,
269 const wxString& strText,
270 bool bSelect,
271 int imageId)
272{
273 return false;
274}
275
276int wxNotebook::HitTest(const wxPoint& pt, long *flags) const
277{
278 return 0;
279}
280
281
282// ----------------------------------------------------------------------------
283// wxNotebook callbacks
284// ----------------------------------------------------------------------------
285
286void wxNotebook::OnSize(wxSizeEvent& event)
287{
288}
289
3e97a905 290void wxNotebook::OnSelChange(wxBookCtrlEvent& event)
ffecfa5a
JS
291{
292}
293
ffecfa5a
JS
294void wxNotebook::OnNavigationKey(wxNavigationKeyEvent& event)
295{
296}
297
298// ----------------------------------------------------------------------------
299// wxNotebook base class virtuals
300// ----------------------------------------------------------------------------
301
302#if wxUSE_CONSTRAINTS
303
304// override these 2 functions to do nothing: everything is done in OnSize
305
306void wxNotebook::SetConstraintSizes(bool WXUNUSED(recurse))
307{
308}
309
310bool wxNotebook::DoPhase(int WXUNUSED(nPhase))
311{
312 return true;
313}
314
315#endif // wxUSE_CONSTRAINTS
316
ffecfa5a 317#endif // wxUSE_NOTEBOOK