X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/8907154c1a8a6882c6797d1f16393ddfb23e7f3a..f9c980f617581895f8176977db89e72f9b52f14c:/src/msw/wince/tbarwce.cpp diff --git a/src/msw/wince/tbarwce.cpp b/src/msw/wince/tbarwce.cpp index 5a410368c4..0ff004bae3 100644 --- a/src/msw/wince/tbarwce.cpp +++ b/src/msw/wince/tbarwce.cpp @@ -1,5 +1,5 @@ ///////////////////////////////////////////////////////////////////////////// -// Name: msw/wince/tbarwce.cpp +// Name: src/msw/wince/tbarwce.cpp // Purpose: wxToolBar for Windows CE // Author: Julian Smart // Modified by: @@ -24,23 +24,24 @@ #pragma hdrstop #endif +// Use the WinCE-specific toolbar only if we're either compiling +// with a WinCE earlier than 4, or we wish to emulate a PocketPC-style UI +#if wxUSE_TOOLBAR && wxUSE_TOOLBAR_NATIVE && (_WIN32_WCE < 400 || defined(__POCKETPC__) || defined(__SMARTPHONE__)) + +#include "wx/toolbar.h" + #ifndef WX_PRECOMP + #include "wx/msw/wrapcctl.h" // include "properly" + #include "wx/dynarray.h" #include "wx/frame.h" #include "wx/log.h" #include "wx/intl.h" - #include "wx/dynarray.h" #include "wx/settings.h" #include "wx/bitmap.h" #include "wx/dcmemory.h" #include "wx/control.h" #endif -// Use the WinCE-specific toolbar only if we're either compiling -// with a WinCE earlier than 4, or we wish to emulate a PocketPC-style UI -#if wxUSE_TOOLBAR && wxUSE_TOOLBAR_NATIVE && (_WIN32_WCE < 400 || defined(__POCKETPC__) || defined(__SMARTPHONE__)) - -#include "wx/toolbar.h" - #if !defined(__GNUWIN32__) && !defined(__SALFORDC__) #include "malloc.h" #endif @@ -51,7 +52,6 @@ #include #include #include -#include #if defined(WINCE_WITHOUT_COMMANDBAR) #include #endif @@ -96,8 +96,8 @@ public: m_bitmapIndex = -1; } - wxToolMenuBarTool(wxToolBar *tbar, wxControl *control) - : wxToolBarToolBase(tbar, control) + wxToolMenuBarTool(wxToolBar *tbar, wxControl *control, const wxString& label) + : wxToolBarToolBase(tbar, control, label) { m_nSepCount = 1; m_bitmapIndex = -1; @@ -120,7 +120,7 @@ public: // a control in the toolbar void SetSeparatorsCount(size_t count) { m_nSepCount = count; } size_t GetSeparatorsCount() const { return m_nSepCount; } - + void SetBitmapIndex(int idx) { m_bitmapIndex = idx; } int GetBitmapIndex() const { return m_bitmapIndex; } @@ -151,9 +151,10 @@ wxToolBarToolBase *wxToolMenuBar::CreateTool(int id, clientData, shortHelp, longHelp); } -wxToolBarToolBase *wxToolMenuBar::CreateTool(wxControl *control) +wxToolBarToolBase * +wxToolMenuBar::CreateTool(wxControl *control, const wxString& label) { - return new wxToolMenuBarTool(this, control); + return new wxToolMenuBarTool(this, control, label); } // ---------------------------------------------------------------------------- @@ -163,8 +164,8 @@ wxToolBarToolBase *wxToolMenuBar::CreateTool(wxControl *control) void wxToolMenuBar::Init() { wxToolBar::Init(); - - m_nButtons = 0; + + m_nButtons = 0; m_menuBar = NULL; } @@ -397,7 +398,7 @@ bool wxToolMenuBar::Realize() break; case wxTOOL_STYLE_BUTTON: - + if ( HasFlag(wxTB_TEXT) ) { const wxString& label = tool->GetLabel(); @@ -491,10 +492,21 @@ bool wxToolMenuBar::MSWCommand(WXUINT WXUNUSED(cmd), WXWORD id) wxToolBarToolBase *tool = FindById((int)id); if ( !tool ) { + bool checked = false; + if ( m_menuBar ) + { + wxMenuItem *item = m_menuBar->FindItem(id); + if ( item && item->IsCheckable() ) + { + item->Toggle(); + checked = item->IsChecked(); + } + } + wxCommandEvent event(wxEVT_COMMAND_MENU_SELECTED); event.SetEventObject(this); event.SetId(id); - event.SetInt(id); + event.SetInt(checked); return GetEventHandler()->ProcessEvent(event); } @@ -543,7 +555,7 @@ WXLRESULT wxToolMenuBar::MSWWindowProc(WXUINT nMsg, WXWPARAM wParam, WXLPARAM lP break; } - return wxControl::MSWWindowProc(nMsg, wParam, lParam); + return MSWDefWindowProc(nMsg, wParam, lParam); } @@ -589,10 +601,10 @@ bool wxToolBar::Create(wxWindow *parent, // satisfy other parts of wxWidgets. parent->AddChild(this); - + SetWindowStyle(style); SetName(name); - + return true; } @@ -637,7 +649,4 @@ void wxToolBar::DoSetToggle(wxToolBarToolBase *WXUNUSED(tool), bool WXUNUSED(tog #endif // !__SMARTPHONE__ - - -#endif // wxUSE_TOOLBAR && Win95 - +#endif // wxUSE_TOOLBAR