wxWidgets 2.8 compatibility fix (removed wx/kbdstate.h)

This commit is contained in:
Maciej Sumiński 2013-09-29 14:25:04 +02:00
parent 53fef8d4c4
commit 6409f7f96b
2 changed files with 16 additions and 20 deletions

View File

@ -117,21 +117,6 @@ KiGfx::VIEW* TOOL_DISPATCHER::getView()
}
int TOOL_DISPATCHER::decodeModifiers( const wxKeyboardState* aState ) const
{
int mods = 0;
if( aState->ControlDown() )
mods |= MD_ModCtrl;
if( aState->AltDown() )
mods |= MD_ModAlt;
if( aState->ShiftDown() )
mods |= MD_ModShift;
return mods;
}
bool TOOL_DISPATCHER::handleMouseButton( wxEvent& aEvent, int aIndex, bool aMotion )
{
ButtonState* st = m_buttons[aIndex];
@ -142,7 +127,7 @@ bool TOOL_DISPATCHER::handleMouseButton( wxEvent& aEvent, int aIndex, bool aMoti
bool up = type == st->upEvent;
bool down = type == st->downEvent;
int mods = decodeModifiers( static_cast<wxMouseEvent*>( &aEvent ) );
int mods = decodeModifiers<wxMouseEvent>( static_cast<wxMouseEvent*>( &aEvent ) );
int args = st->button | mods;
if( down ) // Handle mouse button press
@ -246,7 +231,7 @@ void TOOL_DISPATCHER::DispatchWxEvent( wxEvent& aEvent )
{
wxKeyEvent* ke = static_cast<wxKeyEvent*>( &aEvent );
int key = ke->GetKeyCode();
int mods = decodeModifiers( ke );
int mods = decodeModifiers<wxKeyEvent>( ke );
if( type == wxEVT_KEY_UP )
{

View File

@ -29,8 +29,6 @@
#include <tool/tool_event.h>
#include <wx/kbdstate.h>
class TOOL_MANAGER;
class PCB_BASE_FRAME;
@ -98,7 +96,20 @@ private:
bool handleMouseButton( wxEvent& aEvent, int aIndex, bool aMotion );
///> Saves the state of key modifiers (Alt, Ctrl and so on).
int decodeModifiers( const wxKeyboardState* aState ) const;
template<class EventType>
static int decodeModifiers( const EventType* aState )
{
int mods = 0;
if( aState->ControlDown() )
mods |= MD_ModCtrl;
if( aState->AltDown() )
mods |= MD_ModAlt;
if( aState->ShiftDown() )
mods |= MD_ModShift;
return mods;
}
///> Stores all the informations regarding a mouse button state.