Make place drill origin and place grid origin one-shot commands.
Fixes: lp:1751747 * https://bugs.launchpad.net/kicad/+bug/1751747
This commit is contained in:
parent
ae8daee83c
commit
df08f9921f
|
@ -1169,14 +1169,13 @@ int PCB_EDITOR_CONTROL::CrossProbeSchToPcb( const TOOL_EVENT& aEvent )
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
bool PCB_EDITOR_CONTROL::DoSetDrillOrigin( KIGFX::VIEW* aView, PCB_BASE_FRAME* aFrame,
|
void PCB_EDITOR_CONTROL::DoSetDrillOrigin( KIGFX::VIEW* aView, PCB_BASE_FRAME* aFrame,
|
||||||
BOARD_ITEM* originViewItem, const VECTOR2D& aPosition )
|
BOARD_ITEM* originViewItem, const VECTOR2D& aPosition )
|
||||||
{
|
{
|
||||||
aFrame->SetAuxOrigin( wxPoint( aPosition.x, aPosition.y ) );
|
aFrame->SetAuxOrigin( wxPoint( aPosition.x, aPosition.y ) );
|
||||||
originViewItem->SetPosition( wxPoint( aPosition.x, aPosition.y ) );
|
originViewItem->SetPosition( wxPoint( aPosition.x, aPosition.y ) );
|
||||||
aView->MarkDirty();
|
aView->MarkDirty();
|
||||||
aFrame->OnModify();
|
aFrame->OnModify();
|
||||||
return true;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -1184,7 +1183,8 @@ bool PCB_EDITOR_CONTROL::SetDrillOrigin( KIGFX::VIEW* aView, PCB_BASE_FRAME* aFr
|
||||||
BOARD_ITEM* originViewItem, const VECTOR2D& aPosition )
|
BOARD_ITEM* originViewItem, const VECTOR2D& aPosition )
|
||||||
{
|
{
|
||||||
aFrame->SaveCopyInUndoList( originViewItem, UR_DRILLORIGIN );
|
aFrame->SaveCopyInUndoList( originViewItem, UR_DRILLORIGIN );
|
||||||
return DoSetDrillOrigin( aView, aFrame, originViewItem, aPosition );
|
DoSetDrillOrigin( aView, aFrame, originViewItem, aPosition );
|
||||||
|
return false; // drill origin is a one-shot; don't continue with tool
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -121,7 +121,7 @@ public:
|
||||||
BOARD_ITEM* aItem, const VECTOR2D& aPoint );
|
BOARD_ITEM* aItem, const VECTOR2D& aPoint );
|
||||||
|
|
||||||
///> Low-level access (below undo) to setting the drill origin
|
///> Low-level access (below undo) to setting the drill origin
|
||||||
static bool DoSetDrillOrigin( KIGFX::VIEW* aView, PCB_BASE_FRAME* aFrame,
|
static void DoSetDrillOrigin( KIGFX::VIEW* aView, PCB_BASE_FRAME* aFrame,
|
||||||
BOARD_ITEM* aItem, const VECTOR2D& aPoint );
|
BOARD_ITEM* aItem, const VECTOR2D& aPoint );
|
||||||
|
|
||||||
///> Highlights net belonging to the item under the cursor.
|
///> Highlights net belonging to the item under the cursor.
|
||||||
|
|
|
@ -573,7 +573,7 @@ int PCBNEW_CONTROL::GridFast2( const TOOL_EVENT& aEvent )
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
bool PCBNEW_CONTROL::DoSetGridOrigin( KIGFX::VIEW* aView, PCB_BASE_FRAME* aFrame,
|
void PCBNEW_CONTROL::DoSetGridOrigin( KIGFX::VIEW* aView, PCB_BASE_FRAME* aFrame,
|
||||||
BOARD_ITEM* originViewItem, const VECTOR2D& aPoint )
|
BOARD_ITEM* originViewItem, const VECTOR2D& aPoint )
|
||||||
{
|
{
|
||||||
aFrame->SetGridOrigin( wxPoint( aPoint.x, aPoint.y ) );
|
aFrame->SetGridOrigin( wxPoint( aPoint.x, aPoint.y ) );
|
||||||
|
@ -581,7 +581,6 @@ bool PCBNEW_CONTROL::DoSetGridOrigin( KIGFX::VIEW* aView, PCB_BASE_FRAME* aFrame
|
||||||
originViewItem->SetPosition( wxPoint( aPoint.x, aPoint.y ) );
|
originViewItem->SetPosition( wxPoint( aPoint.x, aPoint.y ) );
|
||||||
aView->MarkDirty();
|
aView->MarkDirty();
|
||||||
aFrame->OnModify();
|
aFrame->OnModify();
|
||||||
return true;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -589,7 +588,8 @@ bool PCBNEW_CONTROL::SetGridOrigin( KIGFX::VIEW* aView, PCB_BASE_FRAME* aFrame,
|
||||||
BOARD_ITEM* originViewItem, const VECTOR2D& aPoint )
|
BOARD_ITEM* originViewItem, const VECTOR2D& aPoint )
|
||||||
{
|
{
|
||||||
aFrame->SaveCopyInUndoList( originViewItem, UR_GRIDORIGIN );
|
aFrame->SaveCopyInUndoList( originViewItem, UR_GRIDORIGIN );
|
||||||
return DoSetGridOrigin( aView, aFrame, originViewItem, aPoint );
|
DoSetGridOrigin( aView, aFrame, originViewItem, aPoint );
|
||||||
|
return false; // Set grid origin is a one-shot; don't keep tool active
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -83,7 +83,7 @@ public:
|
||||||
BOARD_ITEM* originViewItem, const VECTOR2D& aPoint );
|
BOARD_ITEM* originViewItem, const VECTOR2D& aPoint );
|
||||||
|
|
||||||
// Low-level access (below undo) to setting the grid origin
|
// Low-level access (below undo) to setting the grid origin
|
||||||
static bool DoSetGridOrigin( KIGFX::VIEW* aView, PCB_BASE_FRAME* aFrame,
|
static void DoSetGridOrigin( KIGFX::VIEW* aView, PCB_BASE_FRAME* aFrame,
|
||||||
BOARD_ITEM* originViewItem, const VECTOR2D& aPoint );
|
BOARD_ITEM* originViewItem, const VECTOR2D& aPoint );
|
||||||
|
|
||||||
int Undo( const TOOL_EVENT& aEvent );
|
int Undo( const TOOL_EVENT& aEvent );
|
||||||
|
|
Loading…
Reference in New Issue