X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/bbcdf8bc7ca806d8278c7cb6d09d5590378b67d8..9b2a74693ea0ac096f5099caac4a5ead3268e07f:/include/wx/msw/tabctrl.h?ds=sidebyside diff --git a/include/wx/msw/tabctrl.h b/include/wx/msw/tabctrl.h index 798c61b322..bfab81c112 100644 --- a/include/wx/msw/tabctrl.h +++ b/include/wx/msw/tabctrl.h @@ -6,19 +6,15 @@ // Created: 01/02/97 // RCS-ID: $Id$ // Copyright: (c) Julian Smart -// Licence: wxWindows licence +// Licence: wxWindows licence ///////////////////////////////////////////////////////////////////////////// #ifndef _WX_TABCTRL_H_ #define _WX_TABCTRL_H_ -#ifdef __GNUG__ -#pragma interface "tabctrl.h" -#endif - -class wxImageList; +class WXDLLIMPEXP_CORE wxImageList; -// WXDLLEXPORT_DATA(extern const char*) wxToolBarNameStr; +// extern WXDLLEXPORT_DATA(const wxChar) wxToolBarNameStr[]; /* * Flags returned by HitTest @@ -40,7 +36,7 @@ class WXDLLEXPORT wxTabCtrl: public wxControl wxTabCtrl(); inline wxTabCtrl(wxWindow *parent, wxWindowID id, const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize, - long style = 0, const wxString& name = "tabCtrl") + long style = 0, const wxString& name = wxT("tabCtrl")) { Create(parent, id, pos, size, style, name); } @@ -99,7 +95,7 @@ class WXDLLEXPORT wxTabCtrl: public wxControl // Operations bool Create(wxWindow *parent, wxWindowID id, const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize, - long style = 0, const wxString& name = "tabCtrl"); + long style = 0, const wxString& name = wxT("tabCtrl")); // Delete all items bool DeleteAllItems(); @@ -113,17 +109,9 @@ class WXDLLEXPORT wxTabCtrl: public wxControl // Insert an item bool InsertItem(int item, const wxString& text, int imageId = -1, void* data = NULL); -// Implementation - - // Call default behaviour - void OnPaint(wxPaintEvent& event) { Default() ; } - void OnSize(wxSizeEvent& event) { Default() ; } - void OnMouseEvent(wxMouseEvent& event) { Default() ; } - void OnKillFocus(wxFocusEvent& event) { Default() ; } + // Implementation - void Command(wxCommandEvent& event); - bool MSWCommand(WXUINT param, WXWORD id); - bool MSWNotify(WXWPARAM wParam, WXLPARAM lParam); + virtual bool MSWOnNotify(int idCtrl, WXLPARAM lParam, WXLPARAM *result); // Responds to colour changes void OnSysColourChanged(wxSysColourChangedEvent& event); @@ -132,22 +120,41 @@ protected: wxImageList* m_imageList; DECLARE_EVENT_TABLE() + DECLARE_NO_COPY_CLASS(wxTabCtrl) }; -class WXDLLEXPORT wxTabEvent: public wxCommandEvent +class WXDLLEXPORT wxTabEvent : public wxNotifyEvent { - DECLARE_DYNAMIC_CLASS(wxTabEvent) - - public: - wxTabEvent(wxEventType commandType = wxEVT_NULL, int id = 0); +public: + wxTabEvent(wxEventType commandType = wxEVT_NULL, int id = 0, + int nSel = -1, int nOldSel = -1) + : wxNotifyEvent(commandType, id) + { + m_nSel = nSel; + m_nOldSel = nOldSel; + } + + // accessors + // the currently selected page (-1 if none) + int GetSelection() const { return m_nSel; } + void SetSelection(int nSel) { m_nSel = nSel; } + // the page that was selected before the change (-1 if none) + int GetOldSelection() const { return m_nOldSel; } + void SetOldSelection(int nOldSel) { m_nOldSel = nOldSel; } + +private: + int m_nSel, // currently selected page + m_nOldSel; // previously selected page + + DECLARE_DYNAMIC_CLASS_NO_COPY(wxTabEvent) }; typedef void (wxEvtHandler::*wxTabEventFunction)(wxTabEvent&); -#define EVT_TAB_SEL_CHANGED(id, fn) { wxEVT_COMMAND_TAB_SEL_CHANGED, \ - id, -1, (wxObjectEventFunction) (wxEventFunction) (wxTabEventFunction) & fn, NULL }, -#define EVT_TAB_SEL_CHANGING(id, fn) { wxEVT_COMMAND_TAB_SEL_CHANGING, \ - id, -1, (wxObjectEventFunction) (wxEventFunction) (wxTabEventFunction) & fn, NULL }, +#define EVT_TAB_SEL_CHANGED(id, fn) DECLARE_EVENT_TABLE_ENTRY(wxEVT_COMMAND_TAB_SEL_CHANGED, \ + id, wxID_ANY, (wxObjectEventFunction) (wxEventFunction) wxStaticCastEvent( wxTabEventFunction, & fn ), NULL), +#define EVT_TAB_SEL_CHANGING(id, fn) DECLARE_EVENT_TABLE_ENTRY(wxEVT_COMMAND_TAB_SEL_CHANGING, \ + id, wxID_ANY, (wxObjectEventFunction) (wxEventFunction) wxStaticCastEvent( wxTabEventFunction, & fn ), NULL), #endif // _WX_TABCTRL_H_