]> git.saurik.com Git - wxWidgets.git/blob - src/common/nbkbase.cpp
avoid conflict between wxBookCtrlBase::DoSetSelection() and the derived classes;...
[wxWidgets.git] / src / common / nbkbase.cpp
1 ///////////////////////////////////////////////////////////////////////////////
2 // Name: src/common/nbkbase.cpp
3 // Purpose: common wxNotebook methods
4 // Author: Vadim Zeitlin
5 // Modified by:
6 // Created: 02.07.01
7 // RCS-ID: $Id$
8 // Copyright: (c) 2001 Vadim Zeitlin
9 // Licence: wxWindows licence
10 ///////////////////////////////////////////////////////////////////////////////
11
12 // ============================================================================
13 // declarations
14 // ============================================================================
15
16 // ----------------------------------------------------------------------------
17 // headers
18 // ----------------------------------------------------------------------------
19
20 // For compilers that support precompilation, includes "wx.h".
21 #include "wx/wxprec.h"
22
23 #ifdef __BORLANDC__
24 #pragma hdrstop
25 #endif
26
27 #if wxUSE_NOTEBOOK
28
29 #ifndef WX_PRECOMP
30 #endif //WX_PRECOMP
31
32 #include "wx/notebook.h"
33
34 // ============================================================================
35 // implementation
36 // ============================================================================
37
38 // ----------------------------------------------------------------------------
39 // geometry
40 // ----------------------------------------------------------------------------
41
42 wxSize wxNotebookBase::CalcSizeFromPage(const wxSize& sizePage) const
43 {
44 // this is, of course, totally bogus -- but we must do something by
45 // default because not all ports implement this
46 wxSize sizeTotal = sizePage;
47
48 if ( HasFlag(wxBK_LEFT) || HasFlag(wxBK_RIGHT) )
49 {
50 sizeTotal.x += 90;
51 sizeTotal.y += 10;
52 }
53 else // tabs on top/bottom side
54 {
55 sizeTotal.x += 10;
56 sizeTotal.y += 40;
57 }
58
59 return sizeTotal;
60 }
61
62 // ----------------------------------------------------------------------------
63 // events
64 // ----------------------------------------------------------------------------
65
66 bool wxNotebookBase::SendPageChangingEvent(int nPage)
67 {
68 wxNotebookEvent event(wxEVT_COMMAND_NOTEBOOK_PAGE_CHANGING, GetId());
69 event.SetSelection(nPage);
70 event.SetOldSelection(GetSelection());
71 event.SetEventObject(this);
72 return !GetEventHandler()->ProcessEvent(event) || event.IsAllowed();
73 }
74
75 void wxNotebookBase::SendPageChangedEvent(int nPageOld, int nPageNew)
76 {
77 wxNotebookEvent event(wxEVT_COMMAND_NOTEBOOK_PAGE_CHANGED, GetId());
78 event.SetSelection(nPageNew == -1 ? GetSelection() : nPageNew);
79 event.SetOldSelection(nPageOld);
80 event.SetEventObject(this);
81 GetEventHandler()->ProcessEvent(event);
82 }
83
84 #endif // wxUSE_NOTEBOOK