make wxKeyEvent and wxMouseEvent derive from the same wxKeyboardState object (indirectly via wxMouseState in the case of the latter) to make Get/HasModifiers() available in wxMouseEvent as well while avoiding code duplication
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@55745 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -368,7 +368,7 @@ wxEvent::wxEvent(int theId, wxEventType commandType )
|
||||
m_propagationLevel = wxEVENT_PROPAGATE_NONE;
|
||||
}
|
||||
|
||||
wxEvent::wxEvent(const wxEvent &src)
|
||||
wxEvent::wxEvent(const wxEvent& src)
|
||||
: wxObject(src)
|
||||
, m_eventObject(src.m_eventObject)
|
||||
, m_eventType(src.m_eventType)
|
||||
@@ -381,6 +381,22 @@ wxEvent::wxEvent(const wxEvent &src)
|
||||
{
|
||||
}
|
||||
|
||||
wxEvent& wxEvent::operator=(const wxEvent& src)
|
||||
{
|
||||
wxObject::operator=(src);
|
||||
|
||||
m_eventObject = src.m_eventObject;
|
||||
m_eventType = src.m_eventType;
|
||||
m_timeStamp = src.m_timeStamp;
|
||||
m_id = src.m_id;
|
||||
m_callbackUserData = src.m_callbackUserData;
|
||||
m_propagationLevel = src.m_propagationLevel;
|
||||
m_skipped = src.m_skipped;
|
||||
m_isCommandEvent = src.m_isCommandEvent;
|
||||
|
||||
return *this;
|
||||
}
|
||||
|
||||
#endif // wxUSE_BASE
|
||||
|
||||
#if wxUSE_GUI
|
||||
@@ -534,11 +550,6 @@ wxMouseEvent::wxMouseEvent(wxEventType commandType)
|
||||
m_aux1Down = false;
|
||||
m_aux2Down = false;
|
||||
|
||||
m_controlDown = false;
|
||||
m_shiftDown = false;
|
||||
m_altDown = false;
|
||||
m_metaDown = false;
|
||||
|
||||
m_clickCount = -1;
|
||||
|
||||
m_wheelRotation = 0;
|
||||
@@ -549,7 +560,8 @@ wxMouseEvent::wxMouseEvent(wxEventType commandType)
|
||||
|
||||
void wxMouseEvent::Assign(const wxMouseEvent& event)
|
||||
{
|
||||
m_eventType = event.m_eventType;
|
||||
wxEvent::operator=(event);
|
||||
wxMouseState::operator=(event);
|
||||
|
||||
m_x = event.m_x;
|
||||
m_y = event.m_y;
|
||||
@@ -560,11 +572,6 @@ void wxMouseEvent::Assign(const wxMouseEvent& event)
|
||||
m_aux1Down = event.m_aux1Down;
|
||||
m_aux2Down = event.m_aux2Down;
|
||||
|
||||
m_controlDown = event.m_controlDown;
|
||||
m_shiftDown = event.m_shiftDown;
|
||||
m_altDown = event.m_altDown;
|
||||
m_metaDown = event.m_metaDown;
|
||||
|
||||
m_wheelRotation = event.m_wheelRotation;
|
||||
m_wheelDelta = event.m_wheelDelta;
|
||||
m_linesPerAction = event.m_linesPerAction;
|
||||
@@ -749,10 +756,6 @@ wxPoint wxMouseEvent::GetLogicalPosition(const wxDC& dc) const
|
||||
wxKeyEvent::wxKeyEvent(wxEventType type)
|
||||
{
|
||||
m_eventType = type;
|
||||
m_shiftDown = false;
|
||||
m_controlDown = false;
|
||||
m_metaDown = false;
|
||||
m_altDown = false;
|
||||
m_keyCode = 0;
|
||||
m_scanCode = 0;
|
||||
#if wxUSE_UNICODE
|
||||
@@ -761,17 +764,14 @@ wxKeyEvent::wxKeyEvent(wxEventType type)
|
||||
}
|
||||
|
||||
wxKeyEvent::wxKeyEvent(const wxKeyEvent& evt)
|
||||
: wxEvent(evt)
|
||||
: wxEvent(evt),
|
||||
wxKeyboardState(evt)
|
||||
{
|
||||
m_x = evt.m_x;
|
||||
m_y = evt.m_y;
|
||||
|
||||
m_keyCode = evt.m_keyCode;
|
||||
|
||||
m_controlDown = evt.m_controlDown;
|
||||
m_shiftDown = evt.m_shiftDown;
|
||||
m_altDown = evt.m_altDown;
|
||||
m_metaDown = evt.m_metaDown;
|
||||
m_scanCode = evt.m_scanCode;
|
||||
m_rawCode = evt.m_rawCode;
|
||||
m_rawFlags = evt.m_rawFlags;
|
||||
|
||||
Reference in New Issue
Block a user