X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/2432b92dd7a837db13d3938a56c1959decd03203..ee3510132b8b4160f848bd4f502a6f5315f90dbc:/src/msw/tabctrl.cpp diff --git a/src/msw/tabctrl.cpp b/src/msw/tabctrl.cpp index 0a83802f7b..1e4e378ac0 100644 --- a/src/msw/tabctrl.cpp +++ b/src/msw/tabctrl.cpp @@ -6,7 +6,7 @@ // Created: 04/01/98 // RCS-ID: $Id$ // Copyright: (c) Julian Smart -// Licence: wxWindows license +// Licence: wxWindows license ///////////////////////////////////////////////////////////////////////////// #ifdef __GNUG__ @@ -26,37 +26,32 @@ #if defined(__WIN95__) -#ifndef __GNUWIN32__ +#if !defined(__GNUWIN32__) && !defined(__SALFORDC__) #include "malloc.h" #endif #include -#ifndef __GNUWIN32__ -#include -#endif - -#ifdef __GNUWIN32__ -#include "wx/msw/gnuwin32/extra.h" +#if defined(__WIN95__) && !((defined(__GNUWIN32_OLD__) || defined(__TWIN32__)) && !defined(__CYGWIN10__)) + #include +#else + #include "wx/msw/gnuwin32/extra.h" #endif #include "wx/msw/dib.h" -#include "wx/msw/tabctrl.h" +#include "wx/tabctrl.h" #include "wx/app.h" #include "wx/msw/private.h" #include "wx/msw/imaglist.h" -#if !USE_SHARED_LIBRARY IMPLEMENT_DYNAMIC_CLASS(wxTabCtrl, wxControl) +DEFINE_EVENT_TYPE(wxEVT_COMMAND_TAB_SEL_CHANGED) +DEFINE_EVENT_TYPE(wxEVT_COMMAND_TAB_SEL_CHANGING) + BEGIN_EVENT_TABLE(wxTabCtrl, wxControl) - EVT_SIZE(wxTabCtrl::OnSize) - EVT_PAINT(wxTabCtrl::OnPaint) - EVT_KILL_FOCUS(wxTabCtrl::OnKillFocus) - EVT_MOUSE_EVENTS(wxTabCtrl::OnMouseEvent) EVT_SYS_COLOUR_CHANGED(wxTabCtrl::OnSysColourChanged) END_EVENT_TABLE() -#endif wxTabCtrl::wxTabCtrl() { @@ -69,7 +64,7 @@ bool wxTabCtrl::Create(wxWindow *parent, wxWindowID id, const wxPoint& pos, cons m_imageList = NULL; m_backgroundColour = wxColour(GetRValue(GetSysColor(COLOR_BTNFACE)), - GetGValue(GetSysColor(COLOR_BTNFACE)), GetBValue(GetSysColor(COLOR_BTNFACE))); + GetGValue(GetSysColor(COLOR_BTNFACE)), GetBValue(GetSysColor(COLOR_BTNFACE))); m_foregroundColour = *wxBLACK ; SetName(name); @@ -116,7 +111,7 @@ bool wxTabCtrl::Create(wxWindow *parent, wxWindowID id, const wxPoint& pos, cons // Create the toolbar control. HWND hWndTabCtrl = CreateWindowEx(0L, // No extended styles. WC_TABCONTROL, // Class name for the tab control - "", // No default text. + wxT(""), // No default text. WS_CHILD | WS_BORDER | WS_VISIBLE | tabStyle, // Styles and defaults. x, y, width, height, // Standard size and position. (HWND) parent->GetHWND(), // Parent window @@ -137,29 +132,20 @@ wxTabCtrl::~wxTabCtrl() UnsubclassWin(); } -void wxTabCtrl::Command(wxCommandEvent& event) -{ -} - -bool wxTabCtrl::MSWCommand(WXUINT cmd, WXWORD id) +bool wxTabCtrl::MSWOnNotify(int idCtrl, WXLPARAM lParam, WXLPARAM *result) { - return FALSE; -} + wxTabEvent event(wxEVT_NULL, m_windowId); + wxEventType eventType = wxEVT_NULL; + NMHDR* hdr1 = (NMHDR*) lParam; + switch ( hdr1->code ) + { + case TCN_SELCHANGE: + eventType = wxEVT_COMMAND_TAB_SEL_CHANGED; + break; -bool wxTabCtrl::MSWNotify(WXWPARAM wParam, WXLPARAM lParam, WXLPARAM *result) -{ - wxTabEvent event(wxEVT_NULL, m_windowId); - wxEventType eventType = wxEVT_NULL; - NMHDR* hdr1 = (NMHDR*) lParam; - switch ( hdr1->code ) - { - case TCN_SELCHANGE: - eventType = wxEVT_COMMAND_TAB_SEL_CHANGED; - break; - - case TCN_SELCHANGING: - eventType = wxEVT_COMMAND_TAB_SEL_CHANGING; - break; + case TCN_SELCHANGING: + eventType = wxEVT_COMMAND_TAB_SEL_CHANGING; + break; case TTN_NEEDTEXT: { @@ -168,27 +154,23 @@ bool wxTabCtrl::MSWNotify(WXWPARAM wParam, WXLPARAM lParam, WXLPARAM *result) // ttText->lpszText = (char *) (const char *)tool->m_shortHelpString; } - default : - return wxControl::MSWNotify(wParam, lParam, result); - } + default : + return wxControl::MSWOnNotify(idCtrl, lParam, result); + } - event.SetEventObject( this ); - event.SetEventType(eventType); - event.SetInt( (int) LOWORD(wParam) ) ; + event.SetEventObject( this ); + event.SetEventType(eventType); + event.SetInt(idCtrl) ; - return ProcessEvent(event); + return ProcessEvent(event); } // Responds to colour changes, and passes event on to children. void wxTabCtrl::OnSysColourChanged(wxSysColourChangedEvent& event) { m_backgroundColour = wxColour(GetRValue(GetSysColor(COLOR_BTNFACE)), - GetGValue(GetSysColor(COLOR_BTNFACE)), GetBValue(GetSysColor(COLOR_BTNFACE))); - - // Remap the buttons -// CreateTools(); - - Default(); + GetGValue(GetSysColor(COLOR_BTNFACE)), + GetBValue(GetSysColor(COLOR_BTNFACE))); Refresh(); @@ -256,8 +238,8 @@ int wxTabCtrl::GetRowCount() const // Get the item text wxString wxTabCtrl::GetItemText(int item) const { - char buf[256]; - wxString str(""); + wxChar buf[256]; + wxString str(wxT("")); TC_ITEM tcItem; tcItem.mask = TCIF_TEXT; tcItem.pszText = buf; @@ -315,14 +297,14 @@ int wxTabCtrl::HitTest(const wxPoint& pt, long& flags) // Insert an item bool wxTabCtrl::InsertItem(int item, const wxString& text, int imageId, void* data) { - char buf[256]; + wxChar buf[256]; TC_ITEM tcItem; tcItem.mask = TCIF_PARAM; tcItem.lParam = (long) data; - if (text != "") + if (text != wxT("")) { tcItem.mask |= TCIF_TEXT; - strcpy(buf, (const char*) text); + wxStrcpy(buf, (const wxChar*) text); tcItem.pszText = buf; tcItem.cchTextMax = 256; } @@ -351,10 +333,10 @@ void wxTabCtrl::SetImageList(wxImageList* imageList) // Set the text for an item bool wxTabCtrl::SetItemText(int item, const wxString& text) { - char buf[256]; + wxChar buf[256]; TC_ITEM tcItem; tcItem.mask = TCIF_TEXT; - strcpy(buf, (const char*) text); + wxStrcpy(buf, (const wxChar*) text); tcItem.pszText = buf; tcItem.cchTextMax = 256;