Commit 1c74019f authored by Maciej Suminski's avatar Maciej Suminski

pcbnew: Added "Get and Move" in pcbnew (GAL canvas).

parent 4280a1f5
...@@ -40,6 +40,9 @@ TOOL_ACTION COMMON_ACTIONS::selectionClear( "pcbnew.InteractiveSelection.Clear", ...@@ -40,6 +40,9 @@ TOOL_ACTION COMMON_ACTIONS::selectionClear( "pcbnew.InteractiveSelection.Clear",
AS_GLOBAL, 0, AS_GLOBAL, 0,
"", "" ); // No description, it is not supposed to be shown anywhere "", "" ); // No description, it is not supposed to be shown anywhere
TOOL_ACTION COMMON_ACTIONS::findMove( "pcbnew.InteractiveSelection.FindMove",
AS_GLOBAL, 'T');
// Edit tool actions // Edit tool actions
TOOL_ACTION COMMON_ACTIONS::editActivate( "pcbnew.InteractiveEdit", TOOL_ACTION COMMON_ACTIONS::editActivate( "pcbnew.InteractiveEdit",
...@@ -486,6 +489,9 @@ boost::optional<TOOL_EVENT> COMMON_ACTIONS::TranslateLegacyId( int aId ) ...@@ -486,6 +489,9 @@ boost::optional<TOOL_EVENT> COMMON_ACTIONS::TranslateLegacyId( int aId )
case ID_TB_OPTIONS_SELECT_CURSOR: case ID_TB_OPTIONS_SELECT_CURSOR:
return COMMON_ACTIONS::switchCursor.MakeEvent(); return COMMON_ACTIONS::switchCursor.MakeEvent();
case ID_POPUP_PCB_GET_AND_MOVE_MODULE_REQUEST:
return COMMON_ACTIONS::findMove.MakeEvent();
case ID_NO_TOOL_SELECTED: case ID_NO_TOOL_SELECTED:
return COMMON_ACTIONS::selectionTool.MakeEvent(); return COMMON_ACTIONS::selectionTool.MakeEvent();
......
...@@ -217,6 +217,9 @@ public: ...@@ -217,6 +217,9 @@ public:
static TOOL_ACTION showHelp; static TOOL_ACTION showHelp;
static TOOL_ACTION toBeDone; static TOOL_ACTION toBeDone;
/// Find an item and start moving
static TOOL_ACTION findMove;
/** /**
* Function TranslateLegacyId() * Function TranslateLegacyId()
* Translates legacy tool ids to the corresponding TOOL_ACTION name. * Translates legacy tool ids to the corresponding TOOL_ACTION name.
......
...@@ -176,6 +176,11 @@ int SELECTION_TOOL::Main( TOOL_EVENT& aEvent ) ...@@ -176,6 +176,11 @@ int SELECTION_TOOL::Main( TOOL_EVENT& aEvent )
selectSingle( getView()->ToWorld( getViewControls()->GetMousePosition() ) ); selectSingle( getView()->ToWorld( getViewControls()->GetMousePosition() ) );
} }
else if( evt->IsAction( &COMMON_ACTIONS::findMove ) )
{
findMove( *evt );
}
else if( evt->IsCancel() || evt->Action() == TA_UNDO_REDO || else if( evt->IsCancel() || evt->Action() == TA_UNDO_REDO ||
evt->IsAction( &COMMON_ACTIONS::selectionClear ) ) evt->IsAction( &COMMON_ACTIONS::selectionClear ) )
{ {
...@@ -386,6 +391,7 @@ void SELECTION_TOOL::setTransitions() ...@@ -386,6 +391,7 @@ void SELECTION_TOOL::setTransitions()
Go( &SELECTION_TOOL::Main, COMMON_ACTIONS::selectionActivate.MakeEvent() ); Go( &SELECTION_TOOL::Main, COMMON_ACTIONS::selectionActivate.MakeEvent() );
Go( &SELECTION_TOOL::SingleSelection, COMMON_ACTIONS::selectionSingle.MakeEvent() ); Go( &SELECTION_TOOL::SingleSelection, COMMON_ACTIONS::selectionSingle.MakeEvent() );
Go( &SELECTION_TOOL::ClearSelection, COMMON_ACTIONS::selectionClear.MakeEvent() ); Go( &SELECTION_TOOL::ClearSelection, COMMON_ACTIONS::selectionClear.MakeEvent() );
Go( &SELECTION_TOOL::findMove, COMMON_ACTIONS::findMove.MakeEvent() );
} }
...@@ -449,6 +455,23 @@ int SELECTION_TOOL::ClearSelection( TOOL_EVENT& aEvent ) ...@@ -449,6 +455,23 @@ int SELECTION_TOOL::ClearSelection( TOOL_EVENT& aEvent )
} }
int SELECTION_TOOL::findMove( TOOL_EVENT& aEvent )
{
MODULE* module = m_frame->GetModuleByName();
if( module )
{
clearSelection();
toggleSelection( module );
m_toolMgr->InvokeTool( "pcbnew.InteractiveEdit" );
}
setTransitions();
return 0;
}
void SELECTION_TOOL::clearSelection() void SELECTION_TOOL::clearSelection()
{ {
if( m_selection.Empty() ) if( m_selection.Empty() )
......
...@@ -187,6 +187,9 @@ private: ...@@ -187,6 +187,9 @@ private:
*/ */
bool selectMultiple(); bool selectMultiple();
///> Find an item and start moving.
int findMove( TOOL_EVENT& aEvent );
///> Sets up handlers for various events. ///> Sets up handlers for various events.
void setTransitions(); void setTransitions();
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment