Panning with keyboard (GAL).
This commit is contained in:
parent
30b679ae5e
commit
b352ef9deb
|
@ -456,6 +456,14 @@ TOOL_ACTION COMMON_ACTIONS::cursorDblClick( "pcbnew.Control.cursorDblClick",
|
|||
AS_GLOBAL, TOOL_ACTION::LegacyHotKey( HK_LEFT_DCLICK ),
|
||||
"", "", NULL, AF_NONE, (void*) CURSOR_DBL_CLICK );
|
||||
|
||||
TOOL_ACTION COMMON_ACTIONS::panUp( "pcbnew.Control.panUp",
|
||||
AS_GLOBAL, MD_SHIFT + WXK_UP, "", "", NULL, AF_NONE, (void*) CURSOR_UP );
|
||||
TOOL_ACTION COMMON_ACTIONS::panDown( "pcbnew.Control.panDown",
|
||||
AS_GLOBAL, MD_SHIFT + WXK_DOWN, "", "" , NULL, AF_NONE, (void*) CURSOR_DOWN );
|
||||
TOOL_ACTION COMMON_ACTIONS::panLeft( "pcbnew.Control.panLeft",
|
||||
AS_GLOBAL, MD_SHIFT + WXK_LEFT, "", "" , NULL, AF_NONE, (void*) CURSOR_LEFT );
|
||||
TOOL_ACTION COMMON_ACTIONS::panRight( "pcbnew.Control.panRight",
|
||||
AS_GLOBAL, MD_SHIFT + WXK_RIGHT, "", "" , NULL, AF_NONE, (void*) CURSOR_RIGHT );
|
||||
|
||||
// Miscellaneous
|
||||
TOOL_ACTION COMMON_ACTIONS::selectionTool( "pcbnew.Control.selectionTool",
|
||||
|
|
|
@ -283,6 +283,12 @@ public:
|
|||
static TOOL_ACTION cursorClick;
|
||||
static TOOL_ACTION cursorDblClick;
|
||||
|
||||
// Panning with keyboard
|
||||
static TOOL_ACTION panUp;
|
||||
static TOOL_ACTION panDown;
|
||||
static TOOL_ACTION panLeft;
|
||||
static TOOL_ACTION panRight;
|
||||
|
||||
// Miscellaneous
|
||||
static TOOL_ACTION selectionTool;
|
||||
static TOOL_ACTION pickerTool;
|
||||
|
|
|
@ -524,6 +524,43 @@ int PCBNEW_CONTROL::CursorControl( const TOOL_EVENT& aEvent )
|
|||
}
|
||||
|
||||
|
||||
int PCBNEW_CONTROL::PanControl( const TOOL_EVENT& aEvent )
|
||||
{
|
||||
long type = aEvent.Parameter<long>();
|
||||
KIGFX::VIEW* view = getView();
|
||||
GRID_HELPER gridHelper( m_frame );
|
||||
VECTOR2D center = view->GetCenter();
|
||||
VECTOR2I gridSize = gridHelper.GetGrid() * 10;
|
||||
|
||||
switch( type )
|
||||
{
|
||||
case COMMON_ACTIONS::CURSOR_UP:
|
||||
center -= VECTOR2D( 0, gridSize.y );
|
||||
break;
|
||||
|
||||
case COMMON_ACTIONS::CURSOR_DOWN:
|
||||
center += VECTOR2D( 0, gridSize.y );
|
||||
break;
|
||||
|
||||
case COMMON_ACTIONS::CURSOR_LEFT:
|
||||
center -= VECTOR2D( gridSize.x, 0 );
|
||||
break;
|
||||
|
||||
case COMMON_ACTIONS::CURSOR_RIGHT:
|
||||
center += VECTOR2D( gridSize.x, 0 );
|
||||
break;
|
||||
|
||||
default:
|
||||
assert( false );
|
||||
break;
|
||||
}
|
||||
|
||||
view->SetCenter( center );
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
// Grid control
|
||||
int PCBNEW_CONTROL::GridFast1( const TOOL_EVENT& aEvent )
|
||||
{
|
||||
|
@ -750,6 +787,12 @@ void PCBNEW_CONTROL::SetTransitions()
|
|||
Go( &PCBNEW_CONTROL::CursorControl, COMMON_ACTIONS::cursorClick.MakeEvent() );
|
||||
Go( &PCBNEW_CONTROL::CursorControl, COMMON_ACTIONS::cursorDblClick.MakeEvent() );
|
||||
|
||||
// Pan control
|
||||
Go( &PCBNEW_CONTROL::PanControl, COMMON_ACTIONS::panUp.MakeEvent() );
|
||||
Go( &PCBNEW_CONTROL::PanControl, COMMON_ACTIONS::panDown.MakeEvent() );
|
||||
Go( &PCBNEW_CONTROL::PanControl, COMMON_ACTIONS::panLeft.MakeEvent() );
|
||||
Go( &PCBNEW_CONTROL::PanControl, COMMON_ACTIONS::panRight.MakeEvent() );
|
||||
|
||||
// Grid control
|
||||
Go( &PCBNEW_CONTROL::GridFast1, COMMON_ACTIONS::gridFast1.MakeEvent() );
|
||||
Go( &PCBNEW_CONTROL::GridFast2, COMMON_ACTIONS::gridFast2.MakeEvent() );
|
||||
|
|
|
@ -72,6 +72,7 @@ public:
|
|||
int LayerAlphaDec( const TOOL_EVENT& aEvent );
|
||||
|
||||
int CursorControl( const TOOL_EVENT& aEvent );
|
||||
int PanControl( const TOOL_EVENT& aEvent );
|
||||
|
||||
// Grid control
|
||||
int GridFast1( const TOOL_EVENT& aEvent );
|
||||
|
|
Loading…
Reference in New Issue