git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@40953
c3d73ce0-8a6f-49c7-b76d-
6d57e0e08775
// anything else. If it returns -1, the handler should continue as usual
int GTKCallbackCommonPrologue(struct _GdkEventAny *event) const;
// anything else. If it returns -1, the handler should continue as usual
int GTKCallbackCommonPrologue(struct _GdkEventAny *event) const;
+ // override this if some events should never be consumed by wxWidgets but
+ // but have to be left for the native control
+ //
+ // base version just does GetEventHandler()->ProcessEvent()
+ virtual bool GTKProcessEvent(wxEvent& event) const;
+
protected:
// Override GTKWidgetNeedsMnemonic and return true if your
// needs to set its mnemonic widget, such as for a
protected:
// Override GTKWidgetNeedsMnemonic and return true if your
// needs to set its mnemonic widget, such as for a
- return win->GetEventHandler()->ProcessEvent(event);
+ return win->GTKProcessEvent(event);
// common event handlers helpers
// ----------------------------------------------------------------------------
// common event handlers helpers
// ----------------------------------------------------------------------------
+bool wxWindowGTK::GTKProcessEvent(wxEvent& event) const
+{
+ // nothing special at this level
+ return GetEventHandler()->ProcessEvent(event);
+}
+
int wxWindowGTK::GTKCallbackCommonPrologue(GdkEventAny *event) const
{
DEBUG_MAIN_THREAD
int wxWindowGTK::GTKCallbackCommonPrologue(GdkEventAny *event) const
{
DEBUG_MAIN_THREAD
event.SetEventObject( win );
event.SetId( win->GetId() );
event.SetEventObject( win );
event.SetId( win->GetId() );
- if (win->GetEventHandler()->ProcessEvent( event ))
+ if (win->GTKProcessEvent( event ))
win->GetId(),
win->ClientToScreen(event.GetPosition()));
evtCtx.SetEventObject(win);
win->GetId(),
win->ClientToScreen(event.GetPosition()));
evtCtx.SetEventObject(win);
- return win->GetEventHandler()->ProcessEvent(evtCtx);
+ return win->GTKProcessEvent(evtCtx);
event.SetEventObject( win );
event.SetId( win->GetId() );
event.SetEventObject( win );
event.SetId( win->GetId() );
- return win->GetEventHandler()->ProcessEvent(event);
+ return win->GTKProcessEvent(event);
}
//-----------------------------------------------------------------------------
}
//-----------------------------------------------------------------------------
: wxEVT_LEAVE_WINDOW);
InitMouseEvent(win, eventM, gdk_event);
eventM.SetEventObject(win);
: wxEVT_LEAVE_WINDOW);
InitMouseEvent(win, eventM, gdk_event);
eventM.SetEventObject(win);
- win->GetEventHandler()->ProcessEvent(eventM);
+ win->GTKProcessEvent(eventM);
if ( !g_captureWindow )
{
wxSetCursorEvent cevent( event.m_x, event.m_y );
if ( !g_captureWindow )
{
wxSetCursorEvent cevent( event.m_x, event.m_y );
- if (win->GetEventHandler()->ProcessEvent( cevent ))
+ if (win->GTKProcessEvent( cevent ))
{
win->SetCursor( cevent.GetCursor() );
}
}
{
win->SetCursor( cevent.GetCursor() );
}
}
- return win->GetEventHandler()->ProcessEvent(event);
+ return win->GTKProcessEvent(event);
}
//-----------------------------------------------------------------------------
}
//-----------------------------------------------------------------------------
event.SetId( win->GetId() );
event.SetTimestamp( gdk_event->time );
event.SetId( win->GetId() );
event.SetTimestamp( gdk_event->time );
- return win->GetEventHandler()->ProcessEvent(event);
+ return win->GTKProcessEvent(event);
}
//-----------------------------------------------------------------------------
}
//-----------------------------------------------------------------------------
{
wxContextMenuEvent event(wxEVT_CONTEXT_MENU, win->GetId(), wxPoint(-1, -1));
event.SetEventObject(win);
{
wxContextMenuEvent event(wxEVT_CONTEXT_MENU, win->GetId(), wxPoint(-1, -1));
event.SetEventObject(win);
- return win->GetEventHandler()->ProcessEvent(event);
+ return win->GTKProcessEvent(event);
}
//-----------------------------------------------------------------------------
}
//-----------------------------------------------------------------------------
wxFocusEvent event( wxEVT_KILL_FOCUS, win->GetId() );
event.SetEventObject( win );
wxFocusEvent event( wxEVT_KILL_FOCUS, win->GetId() );
event.SetEventObject( win );
- (void)win->GetEventHandler()->ProcessEvent( event );
+ (void)win->GTKProcessEvent( event );
if ( !g_captureWindow )
{
wxSetCursorEvent cevent( event.m_x, event.m_y );
if ( !g_captureWindow )
{
wxSetCursorEvent cevent( event.m_x, event.m_y );
- if (win->GetEventHandler()->ProcessEvent( cevent ))
+ if (win->GTKProcessEvent( cevent ))
{
win->SetCursor( cevent.GetCursor() );
}
}
{
win->SetCursor( cevent.GetCursor() );
}
}
- return win->GetEventHandler()->ProcessEvent(event);
+ return win->GTKProcessEvent(event);
}
//-----------------------------------------------------------------------------
}
//-----------------------------------------------------------------------------
event.m_x = x + pt.x;
event.m_y = y + pt.y;
event.m_x = x + pt.x;
event.m_y = y + pt.y;
- return win->GetEventHandler()->ProcessEvent(event);
+ return win->GTKProcessEvent(event);
}
//-----------------------------------------------------------------------------
}
//-----------------------------------------------------------------------------
event.SetEventObject(win);
win->m_blockValueChanged[dir] = true;
event.SetEventObject(win);
win->m_blockValueChanged[dir] = true;
- win->GetEventHandler()->ProcessEvent(event);
+ win->GTKProcessEvent(event);
win->m_blockValueChanged[dir] = false;
}
}
win->m_blockValueChanged[dir] = false;
}
}
win->ScrollDirFromRange(range));
wxScrollWinEvent event(wxEVT_SCROLLWIN_THUMBRELEASE, win->GetScrollPos(orient), orient);
event.SetEventObject(win);
win->ScrollDirFromRange(range));
wxScrollWinEvent event(wxEVT_SCROLLWIN_THUMBRELEASE, win->GetScrollPos(orient), orient);
event.SetEventObject(win);
- win->GetEventHandler()->ProcessEvent(event);
+ win->GTKProcessEvent(event);
wxWindowCreateEvent event( win );
event.SetEventObject( win );
wxWindowCreateEvent event( win );
event.SetEventObject( win );
- win->GetEventHandler()->ProcessEvent( event );
+ win->GTKProcessEvent( event );
}
//-----------------------------------------------------------------------------
}
//-----------------------------------------------------------------------------
{
wxSizeEvent event( win->GetSize(), win->GetId() );
event.SetEventObject( win );
{
wxSizeEvent event( win->GetSize(), win->GetId() );
event.SetEventObject( win );
- win->GetEventHandler()->ProcessEvent( event );
+ win->GTKProcessEvent( event );