virtual bool DoHandleKeyEvent(NSEvent *event);
virtual bool DoHandleCharEvent(NSEvent *event, NSString *text);
virtual void DoNotifyFocusEvent(bool receivedFocus, wxWidgetImpl* otherWindow);
+
+ virtual void SetupKeyEvent(wxKeyEvent &wxevent, NSEvent * nsEvent, NSString* charString = NULL);
+ virtual void SetupMouseEvent(wxMouseEvent &wxevent, NSEvent * nsEvent);
+
void SetFlipped(bool flipped);
virtual bool IsFlipped() const { return m_isFlipped; }
return retval;
}
-void SetupKeyEvent( wxKeyEvent &wxevent , NSEvent * nsEvent, NSString* charString = NULL )
+void wxWidgetCocoaImpl::SetupKeyEvent(wxKeyEvent &wxevent , NSEvent * nsEvent, NSString* charString)
{
UInt32 modifiers = [nsEvent modifierFlags] ;
int eventType = [nsEvent type];
wxevent.m_uniChar = aunichar;
#endif
wxevent.m_keyCode = keyval;
+
+ wxWindowMac* peer = GetWXPeer();
+ if ( peer )
+ {
+ wxevent.SetEventObject(peer);
+ wxevent.SetId(peer->GetId()) ;
+ }
}
UInt32 g_lastButton = 0 ;
bool g_lastButtonWasFakeRight = false ;
-void SetupMouseEvent( wxMouseEvent &wxevent , NSEvent * nsEvent )
+void wxWidgetCocoaImpl::SetupMouseEvent( wxMouseEvent &wxevent , NSEvent * nsEvent )
{
int eventType = [nsEvent type];
UInt32 modifiers = [nsEvent modifierFlags] ;
}
wxevent.m_clickCount = clickCount;
-
+ wxWindowMac* peer = GetWXPeer();
+ if ( peer )
+ {
+ wxevent.SetEventObject(peer);
+ wxevent.SetId(peer->GetId()) ;
+ }
}
@implementation wxNSView
{
wxKeyEvent wxevent(wxEVT_CHAR);
SetupKeyEvent( wxevent, event, text );
- wxevent.SetEventObject(GetWXPeer());
return GetWXPeer()->OSXHandleKeyEvent(wxevent);
}
{
wxKeyEvent wxevent(wxEVT_KEY_DOWN);
SetupKeyEvent( wxevent, event );
- wxevent.SetEventObject(GetWXPeer());
bool result = GetWXPeer()->OSXHandleKeyEvent(wxevent);
// this will fire higher level events, like insertText, to help
clickLocation = [m_osxView convertPoint:[event locationInWindow] fromView:nil];
wxPoint pt = wxFromNSPoint( m_osxView, clickLocation );
wxMouseEvent wxevent(wxEVT_LEFT_DOWN);
- SetupMouseEvent( wxevent , event ) ;
- wxevent.SetEventObject(GetWXPeer());
+ SetupMouseEvent(wxevent , event) ;
wxevent.m_x = pt.x;
wxevent.m_y = pt.y;