void wxNonOwnedWindow::HandleMoved( double timestampsec ) { wxMoveEvent wxevent( GetPosition() , GetId()); wxevent.SetTimestamp( (int) (timestampsec * 1000) ); wxevent.SetEventObject( this ); HandleWindowEvent(wxevent); }
void wxNonOwnedWindow::HandleActivated( double timestampsec, bool didActivate ) { MacActivate( (int) (timestampsec * 1000) , didActivate); wxActivateEvent wxevent(wxEVT_ACTIVATE, didActivate , GetId()); wxevent.SetTimestamp( (int) (timestampsec * 1000) ); wxevent.SetEventObject(this); HandleWindowEvent(wxevent); }
void wxMenu::DoHandleMenuOpenedOrClosed(wxEventType evtType) { // Popup menu being currently shown or NULL, defined in wincmn.cpp. extern wxMenu *wxCurrentPopupMenu; // Set the id to allow wxMenuEvent::IsPopup() to work correctly. int menuid = this == wxCurrentPopupMenu ? wxID_ANY : 0; wxMenuEvent wxevent(evtType, menuid, this); DoHandleMenuEvent( wxevent ); }
void wxNonOwnedWindow::HandleResized( double timestampsec ) { wxSizeEvent wxevent( GetSize() , GetId()); wxevent.SetTimestamp( (int) (timestampsec * 1000) ); wxevent.SetEventObject( this ); HandleWindowEvent(wxevent); // we have to inform some controls that have to reset things // relative to the toplevel window (e.g. OpenGL buffers) wxWindowMac::MacSuperChangedPosition() ; // like this only children will be notified }
void wxTLWEventHandler( Widget wid, XtPointer WXUNUSED(client_data), XEvent* event, Boolean* continueToDispatch) { wxTopLevelWindowMotif* tlw = (wxTopLevelWindowMotif*)wxGetWindowFromTable( wid ); if( tlw ) { wxMouseEvent wxevent( wxEVT_NULL ); if( wxTranslateMouseEvent( wxevent, tlw, wid, event ) ) { wxevent.SetEventObject( tlw ); wxevent.SetId( tlw->GetId() ); tlw->HandleWindowEvent( wxevent ); } else { // An attempt to implement OnCharHook by calling OnCharHook first; // if this returns true, set continueToDispatch to False // (don't continue processing). // Otherwise set it to True and call OnChar. wxKeyEvent keyEvent( wxEVT_CHAR ); if( wxTranslateKeyEvent( keyEvent, tlw, wid, event )) { keyEvent.SetEventObject( tlw ); keyEvent.SetId( tlw->GetId() ); keyEvent.SetEventType( wxEVT_CHAR_HOOK ); if( tlw->HandleWindowEvent( keyEvent ) ) { *continueToDispatch = False; return; } else { // For simplicity, OnKeyDown is the same as OnChar // TODO: filter modifier key presses from OnChar keyEvent.SetEventType( wxEVT_KEY_DOWN ); // Only process OnChar if OnKeyDown didn't swallow it if( !tlw->HandleWindowEvent( keyEvent ) ) { keyEvent.SetEventType( wxEVT_CHAR ); tlw->HandleWindowEvent( keyEvent ); } } } } } *continueToDispatch = True; }
static pascal OSStatus wxMacAppMenuEventHandler( EventHandlerCallRef handler , EventRef event , void *data ) { wxMacCarbonEvent cEvent( event ) ; MenuRef menuRef = cEvent.GetParameter<MenuRef>(kEventParamDirectObject) ; #ifndef __WXUNIVERSAL__ wxMenu* menu = wxFindMenuFromMacMenu( menuRef ) ; if ( menu ) { wxEventType type=0; MenuCommand cmd=0; switch (GetEventKind(event)) { case kEventMenuOpening: type = wxEVT_MENU_OPEN; break; case kEventMenuClosed: type = wxEVT_MENU_CLOSE; break; case kEventMenuTargetItem: cmd = cEvent.GetParameter<MenuCommand>(kEventParamMenuCommand,typeMenuCommand) ; if (cmd != 0) type = wxEVT_MENU_HIGHLIGHT; break; default: wxFAIL_MSG(wxT("Unexpected menu event kind")); break; } if ( type ) { wxMenuEvent wxevent(type, cmd, menu); wxevent.SetEventObject(menu); wxEvtHandler* handler = menu->GetEventHandler(); if (handler && handler->ProcessEvent(wxevent)) { // handled } else { wxWindow *win = menu->GetInvokingWindow(); if (win) win->GetEventHandler()->ProcessEvent(wxevent); } } } #endif return eventNotHandledErr; }
void wxNonOwnedWindow::HandleResizing( double WXUNUSED(timestampsec), wxRect* rect ) { wxRect r = *rect ; // this is a EVT_SIZING not a EVT_SIZE type ! wxSizeEvent wxevent( r , GetId() ) ; wxevent.SetEventObject( this ) ; if ( HandleWindowEvent(wxevent) ) r = wxevent.GetRect() ; if ( GetMaxWidth() != -1 && r.GetWidth() > GetMaxWidth() ) r.SetWidth( GetMaxWidth() ) ; if ( GetMaxHeight() != -1 && r.GetHeight() > GetMaxHeight() ) r.SetHeight( GetMaxHeight() ) ; if ( GetMinWidth() != -1 && r.GetWidth() < GetMinWidth() ) r.SetWidth( GetMinWidth() ) ; if ( GetMinHeight() != -1 && r.GetHeight() < GetMinHeight() ) r.SetHeight( GetMinHeight() ) ; *rect = r; // TODO actuall this is too early, in case the window extents are adjusted wxWindowMac::MacSuperChangedPosition() ; // like this only children will be notified }
void wxMenu::HandleMenuItemHighlighted( wxMenuItem* item ) { int menuid = item ? item->GetId() : 0; wxMenuEvent wxevent(wxEVT_MENU_HIGHLIGHT, menuid, this); DoHandleMenuEvent( wxevent ); }
void wxMenu::HandleMenuItemHighlighted( wxMenuItem* item ) { int menuid = item ? item->GetId() : 0; wxMenuEvent wxevent(wxEVT_MENU_HIGHLIGHT, menuid, this); ProcessMenuEvent(this, wxevent, GetWindow()); }