m_tbar = tbar;
m_id = toolid;
if (m_id == wxID_ANY)
- m_id = wxNewId();
+ m_id = wxWindow::NewControlId();
m_clientData = clientData;
m_bmpNormal = bmpNormal;
m_id = id;
m_kind = kind;
if (m_id == wxID_ANY)
- m_id = wxNewId();
+ m_id = wxWindow::NewControlId();
if (m_id == wxID_SEPARATOR)
m_kind = wxITEM_SEPARATOR;
// NB: generate the IDs at runtime to avoid conflict with XRCID values,
// they could cause XRCCTRL() failures in XRC-based dialogs
-const int wxID_ELB_DELETE = wxNewId();
-const int wxID_ELB_EDIT = wxNewId();
-const int wxID_ELB_NEW = wxNewId();
-const int wxID_ELB_UP = wxNewId();
-const int wxID_ELB_DOWN = wxNewId();
-const int wxID_ELB_LISTCTRL = wxNewId();
+const int wxID_ELB_DELETE = wxWindow::NewControlId();
+const int wxID_ELB_EDIT = wxWindow::NewControlId();
+const int wxID_ELB_NEW = wxWindow::NewControlId();
+const int wxID_ELB_UP = wxWindow::NewControlId();
+const int wxID_ELB_DOWN = wxWindow::NewControlId();
+const int wxID_ELB_LISTCTRL = wxWindow::NewControlId();
BEGIN_EVENT_TABLE(wxEditableListBox, wxPanel)
EVT_LIST_ITEM_SELECTED(wxID_ELB_LISTCTRL, wxEditableListBox::OnItemSelected)
return wxControl::MSWShouldPreProcessMessage(msg);
}
-bool wxListCtrl::MSWCommand(WXUINT cmd, WXWORD id)
+bool wxListCtrl::MSWCommand(WXUINT cmd, WXWORD id_)
{
+ const int id = (signed short)id_;
if (cmd == EN_UPDATE)
{
wxCommandEvent event(wxEVT_COMMAND_TEXT_UPDATED, id);
// event processing
// ---------------------------------------------------------------------------
-bool wxMenu::MSWCommand(WXUINT WXUNUSED(param), WXWORD id)
+bool wxMenu::MSWCommand(WXUINT WXUNUSED(param), WXWORD id_)
{
+ const int id = (signed short)id_;
+
// ignore commands from the menu title
- if ( id != (WXWORD)idMenuTitle )
+ if ( id != idMenuTitle )
{
// update the check item when it's clicked
wxMenuItem * const item = FindItem(id);
// events generation
// ----------------------------------------------------------------------------
-bool wxRadioBox::MSWCommand(WXUINT cmd, WXWORD id)
+bool wxRadioBox::MSWCommand(WXUINT cmd, WXWORD id_)
{
+ const int id = (signed short)id_;
+
if ( cmd == BN_CLICKED )
{
if (id == GetId())
// message handlers
// ----------------------------------------------------------------------------
-bool wxToolBar::MSWCommand(WXUINT WXUNUSED(cmd), WXWORD id)
+bool wxToolBar::MSWCommand(WXUINT WXUNUSED(cmd), WXWORD id_)
{
- wxToolBarToolBase *tool = FindById((int)id);
+ // cast to signed is important as we compare this id with (signed) ints in
+ // FindById() and without the cast we'd get a positive int from a
+ // "negative" (i.e. > 32767) WORD
+ const int id = (signed short)id_;
+
+ wxToolBarToolBase *tool = FindById(id);
if ( !tool )
return false;
// OnLeftClick() can veto the button state change - for buttons which
// may be toggled only, of couse
- if ( !OnLeftClick((int)id, toggled) && tool->CanBeToggled() )
+ if ( !OnLeftClick(id, toggled) && tool->CanBeToggled() )
{
// revert back
tool->Toggle(!toggled);
return wxTreeCtrlBase::MSWShouldPreProcessMessage(msg);
}
-bool wxTreeCtrl::MSWCommand(WXUINT cmd, WXWORD id)
+bool wxTreeCtrl::MSWCommand(WXUINT cmd, WXWORD id_)
{
+ const int id = (signed short)id_;
+
if ( cmd == EN_UPDATE )
{
wxCommandEvent event(wxEVT_COMMAND_TEXT_UPDATED, id);
return true;
}
-bool wxToolMenuBar::MSWCommand(WXUINT WXUNUSED(cmd), WXWORD id)
+bool wxToolMenuBar::MSWCommand(WXUINT WXUNUSED(cmd), WXWORD id_)
{
- wxToolBarToolBase *tool = FindById((int)id);
+ const int id = (signed short)id_;
+
+ wxToolBarToolBase *tool = FindById(id);
if ( !tool )
{
bool checked = false;
// command messages
// ---------------------------------------------------------------------------
-bool wxWindowMSW::HandleCommand(WXWORD id, WXWORD cmd, WXHWND control)
+bool wxWindowMSW::HandleCommand(WXWORD id_, WXWORD cmd, WXHWND control)
{
+ // sign extend to int from short before comparing with the other int ids
+ int id = (signed short)id_;
+
#if wxUSE_MENUS_NATIVE
if ( !cmd && wxCurrentPopupMenu )
{
// try the id
if ( !win )
{
- // must cast to a signed type before comparing with other ids!
- win = FindItem((signed short)id);
+ win = FindItem(id);
}
if ( win )
}
else
{
- (*rec_var)->id = wxNewId();
+ (*rec_var)->id = wxWindow::NewControlId();
}
}