: IDX_COLLAPSE]
[IDX_DONE],
this, item);
- (void)GetEventHandler()->ProcessEvent(event);
+ (void)HandleWindowEvent(event);
}
//else: change didn't took place, so do nothing at all
}
_T("SelectItem(false) works only for multiselect") );
wxTreeEvent event(wxEVT_COMMAND_TREE_SEL_CHANGING, this, item);
- if ( !GetEventHandler()->ProcessEvent(event) || event.IsAllowed() )
+ if ( !HandleWindowEvent(event) || event.IsAllowed() )
{
if ( HasFlag(wxTR_MULTIPLE) )
{
}
event.SetEventType(wxEVT_COMMAND_TREE_SEL_CHANGED);
- (void)GetEventHandler()->ProcessEvent(event);
+ (void)HandleWindowEvent(event);
}
//else: program vetoed the change
}
{
if ( msg->message == WM_KEYDOWN )
{
- if ( msg->wParam == VK_RETURN )
+ // Only eat VK_RETURN if not being used by the application in
+ // conjunction with modifiers
+ if ( (msg->wParam == VK_RETURN) && !wxIsAnyModifierDown() )
{
// we need VK_RETURN to generate wxEVT_COMMAND_TREE_ITEM_ACTIVATED
return false;
event.m_pointDrag = pt;
- if ( GetEventHandler()->ProcessEvent(event) )
+ if ( HandleWindowEvent(event) )
processed = true;
//else: continue with generating wxEVT_CONTEXT_MENU in base class code
}
// fire EVT_RIGHT_DOWN
HandleMouseEvent(nMsg, x, y, wParam);
-
+
// send NM_RCLICK
NMHDR nmhdr;
nmhdr.hwndFrom = GetHwnd();
nmhdr.idFrom, (LPARAM)&nmhdr);
// prevent tree control default processing, as we've
- // already done everything
+ // already done everything
processed = true;
}
break;
wxTreeEvent event(wxEVT_COMMAND_TREE_END_DRAG, this, htItem);
event.m_pointDrag = wxPoint(x, y);
- (void)GetEventHandler()->ProcessEvent(event);
+ (void)HandleWindowEvent(event);
// if we don't do it, the tree seems to think that 2 items
// are selected simultaneously which is quite weird
// fabricate the lParam and wParam parameters sufficiently
// similar to the ones from a "real" WM_KEYDOWN so that
// CreateKeyEvent() works correctly
- const bool isAltDown = ::GetKeyState(VK_MENU) < 0;
- WXLPARAM lParam = (isAltDown ? KF_ALTDOWN : 0) << 16;
+ WXLPARAM lParam = (wxIsAltDown() ? KF_ALTDOWN : 0) << 16;
WXWPARAM wParam = info->wVKey;
wParam);
// a separate event for Space/Return
- if ( !wxIsCtrlDown() && !wxIsShiftDown() && !isAltDown &&
+ if ( !wxIsAnyModifierDown() &&
((info->wVKey == VK_SPACE) || (info->wVKey == VK_RETURN)) )
{
wxTreeItemId item;
wxTreeEvent event2(wxEVT_COMMAND_TREE_ITEM_ACTIVATED,
this, item);
- (void)GetEventHandler()->ProcessEvent(event2);
+ (void)HandleWindowEvent(event2);
}
}
break;
// Vista's tree control has introduced some problems with our
// multi-selection tree. When TreeView_SelectItem() is called,
// the wrong items are deselected.
-
+
// Fortunately, Vista provides a new notification, TVN_ITEMCHANGING
// that can be used to regulate this incorrect behavior. The
// following messages will allow only the unlocked item's selection
{
// item's state is locked, don't allow the change
// returning 1 will disallow the change
- *result = 1;
+ *result = 1;
return true;
}
}
if ( event.m_item.IsOk() )
event.SetClientObject(GetItemData(event.m_item));
- bool processed = GetEventHandler()->ProcessEvent(event);
+ bool processed = HandleWindowEvent(event);
// post processing
switch ( hdr->code )