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: nbkbase.cpp 41764 2006-10-08 23:41:52Z VZ $ 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 CalcSizeFromPage(const wxSize & sizePage) const42wxSize 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 SendPageChangingEvent(int nPage)66bool 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 SendPageChangedEvent(int nPageOld,int nPageNew)75void 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 85