Moved "Place Target" and "Place Module" tools from DRAWING_TOOL to PCB_EDITOR_CONTROL (to avoid placing modules in the footprint editor).
This commit is contained in:
parent
721949b50e
commit
26f20fbb00
|
@ -153,14 +153,6 @@ TOOL_ACTION COMMON_ACTIONS::drawKeepout( "pcbnew.InteractiveDrawing.keepout",
|
|||
AS_GLOBAL, 0,
|
||||
"Add a keepout area", "Add a keepout area", AF_ACTIVATE );
|
||||
|
||||
TOOL_ACTION COMMON_ACTIONS::placeTarget( "pcbnew.InteractiveDrawing.placeTarget",
|
||||
AS_GLOBAL, 0,
|
||||
"Add layer alignment target", "Add layer alignment target", AF_ACTIVATE );
|
||||
|
||||
TOOL_ACTION COMMON_ACTIONS::placeModule( "pcbnew.InteractiveDrawing.placeModule",
|
||||
AS_GLOBAL, 'O',
|
||||
"Add modules", "Add modules", AF_ACTIVATE );
|
||||
|
||||
TOOL_ACTION COMMON_ACTIONS::placeDXF( "pcbnew.InteractiveDrawing.placeDXF",
|
||||
AS_GLOBAL, 0,
|
||||
"", "", AF_ACTIVATE );
|
||||
|
@ -363,6 +355,15 @@ TOOL_ACTION COMMON_ACTIONS::zoneUnfillAll( "pcbnew.EditorControl.zoneUnfillAll",
|
|||
"Unfill all", "Unfill all zones" );
|
||||
|
||||
|
||||
TOOL_ACTION COMMON_ACTIONS::placeTarget( "pcbnew.EditorControl.placeTarget",
|
||||
AS_GLOBAL, 0,
|
||||
"Add layer alignment target", "Add layer alignment target", AF_ACTIVATE );
|
||||
|
||||
TOOL_ACTION COMMON_ACTIONS::placeModule( "pcbnew.EditorControl.placeModule",
|
||||
AS_GLOBAL, 'O',
|
||||
"Add modules", "Add modules", AF_ACTIVATE );
|
||||
|
||||
|
||||
// Module editor tools
|
||||
TOOL_ACTION COMMON_ACTIONS::placePad( "pcbnew.ModuleEditor.placePad",
|
||||
AS_GLOBAL, 0,
|
||||
|
|
|
@ -22,9 +22,6 @@
|
|||
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
|
||||
*/
|
||||
|
||||
#include <boost/bind.hpp>
|
||||
#include <cstdio>
|
||||
|
||||
#include "drawing_tool.h"
|
||||
#include "common_actions.h"
|
||||
|
||||
|
@ -47,7 +44,6 @@
|
|||
#include <class_edge_mod.h>
|
||||
#include <class_pcb_text.h>
|
||||
#include <class_dimension.h>
|
||||
#include <class_mire.h>
|
||||
#include <class_zone.h>
|
||||
#include <class_module.h>
|
||||
|
||||
|
@ -438,208 +434,6 @@ int DRAWING_TOOL::DrawKeepout( const TOOL_EVENT& aEvent )
|
|||
}
|
||||
|
||||
|
||||
int DRAWING_TOOL::PlaceTarget( const TOOL_EVENT& aEvent )
|
||||
{
|
||||
PCB_TARGET* target = new PCB_TARGET( m_board );
|
||||
|
||||
// Init the new item attributes
|
||||
target->SetLayer( Edge_Cuts );
|
||||
target->SetWidth( m_board->GetDesignSettings().m_EdgeSegmentWidth );
|
||||
target->SetSize( Millimeter2iu( 5 ) );
|
||||
VECTOR2I cursorPos = m_controls->GetCursorPosition();
|
||||
target->SetPosition( wxPoint( cursorPos.x, cursorPos.y ) );
|
||||
|
||||
// Add a VIEW_GROUP that serves as a preview for the new item
|
||||
KIGFX::VIEW_GROUP preview( m_view );
|
||||
preview.Add( target );
|
||||
m_view->Add( &preview );
|
||||
preview.ViewUpdate( KIGFX::VIEW_ITEM::GEOMETRY );
|
||||
|
||||
m_toolMgr->RunAction( COMMON_ACTIONS::selectionClear, true );
|
||||
m_controls->SetSnapping( true );
|
||||
m_controls->SetAutoPan( true );
|
||||
m_controls->CaptureCursor( true );
|
||||
|
||||
Activate();
|
||||
m_frame->SetToolID( ID_PCB_MIRE_BUTT, wxCURSOR_PENCIL, _( "Add layer alignment target" ) );
|
||||
|
||||
// Main loop: keep receiving events
|
||||
while( OPT_TOOL_EVENT evt = Wait() )
|
||||
{
|
||||
cursorPos = m_controls->GetCursorPosition();
|
||||
|
||||
if( evt->IsCancel() || evt->IsActivate() )
|
||||
break;
|
||||
|
||||
else if( evt->IsAction( &COMMON_ACTIONS::incWidth ) )
|
||||
{
|
||||
target->SetWidth( target->GetWidth() + WIDTH_STEP );
|
||||
preview.ViewUpdate( KIGFX::VIEW_ITEM::GEOMETRY );
|
||||
}
|
||||
|
||||
else if( evt->IsAction( &COMMON_ACTIONS::decWidth ) )
|
||||
{
|
||||
int width = target->GetWidth();
|
||||
|
||||
if( width > WIDTH_STEP )
|
||||
{
|
||||
target->SetWidth( width - WIDTH_STEP );
|
||||
preview.ViewUpdate( KIGFX::VIEW_ITEM::GEOMETRY );
|
||||
}
|
||||
}
|
||||
|
||||
else if( evt->IsClick( BUT_LEFT ) )
|
||||
{
|
||||
assert( target->GetSize() > 0 );
|
||||
assert( target->GetWidth() > 0 );
|
||||
|
||||
m_view->Add( target );
|
||||
m_board->Add( target );
|
||||
target->ViewUpdate( KIGFX::VIEW_ITEM::GEOMETRY );
|
||||
|
||||
m_frame->OnModify();
|
||||
m_frame->SaveCopyInUndoList( target, UR_NEW );
|
||||
|
||||
preview.Remove( target );
|
||||
|
||||
// Create next PCB_TARGET
|
||||
target = new PCB_TARGET( *target );
|
||||
preview.Add( target );
|
||||
}
|
||||
|
||||
else if( evt->IsMotion() )
|
||||
{
|
||||
target->SetPosition( wxPoint( cursorPos.x, cursorPos.y ) );
|
||||
preview.ViewUpdate( KIGFX::VIEW_ITEM::GEOMETRY );
|
||||
}
|
||||
}
|
||||
|
||||
delete target;
|
||||
|
||||
m_controls->SetSnapping( false );
|
||||
m_controls->SetAutoPan( false );
|
||||
m_controls->CaptureCursor( false );
|
||||
m_view->Remove( &preview );
|
||||
|
||||
setTransitions();
|
||||
m_frame->SetToolID( ID_NO_TOOL_SELECTED, wxCURSOR_DEFAULT, wxEmptyString );
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
int DRAWING_TOOL::PlaceModule( const TOOL_EVENT& aEvent )
|
||||
{
|
||||
MODULE* module = NULL;
|
||||
|
||||
// Add a VIEW_GROUP that serves as a preview for the new item
|
||||
KIGFX::VIEW_GROUP preview( m_view );
|
||||
m_view->Add( &preview );
|
||||
|
||||
m_toolMgr->RunAction( COMMON_ACTIONS::selectionClear, true );
|
||||
m_controls->ShowCursor( true );
|
||||
m_controls->SetSnapping( true );
|
||||
m_controls->SetAutoPan( true );
|
||||
m_controls->CaptureCursor( true );
|
||||
|
||||
Activate();
|
||||
m_frame->SetToolID( ID_PCB_MODULE_BUTT, wxCURSOR_HAND, _( "Add module" ) );
|
||||
|
||||
// Main loop: keep receiving events
|
||||
while( OPT_TOOL_EVENT evt = Wait() )
|
||||
{
|
||||
VECTOR2I cursorPos = m_controls->GetCursorPosition();
|
||||
|
||||
if( evt->IsCancel() || evt->IsActivate() )
|
||||
{
|
||||
if( module )
|
||||
{
|
||||
m_board->Delete( module ); // it was added by LoadModuleFromLibrary()
|
||||
module = NULL;
|
||||
|
||||
preview.Clear();
|
||||
preview.ViewUpdate( KIGFX::VIEW_ITEM::GEOMETRY );
|
||||
m_controls->ShowCursor( true );
|
||||
}
|
||||
else
|
||||
break;
|
||||
|
||||
if( evt->IsActivate() ) // now finish unconditionally
|
||||
break;
|
||||
}
|
||||
|
||||
else if( module && evt->Category() == TC_COMMAND )
|
||||
{
|
||||
if( evt->IsAction( &COMMON_ACTIONS::rotate ) )
|
||||
{
|
||||
module->Rotate( module->GetPosition(), m_frame->GetRotationAngle() );
|
||||
preview.ViewUpdate( KIGFX::VIEW_ITEM::GEOMETRY );
|
||||
}
|
||||
else if( evt->IsAction( &COMMON_ACTIONS::flip ) )
|
||||
{
|
||||
module->Flip( module->GetPosition() );
|
||||
preview.ViewUpdate( KIGFX::VIEW_ITEM::GEOMETRY );
|
||||
}
|
||||
}
|
||||
|
||||
else if( evt->IsClick( BUT_LEFT ) )
|
||||
{
|
||||
if( !module )
|
||||
{
|
||||
// Init the new item attributes
|
||||
module = m_frame->LoadModuleFromLibrary( wxEmptyString,
|
||||
m_frame->Prj().PcbFootprintLibs(),
|
||||
true, NULL );
|
||||
if( module == NULL )
|
||||
continue;
|
||||
|
||||
m_controls->ShowCursor( false );
|
||||
module->SetPosition( wxPoint( cursorPos.x, cursorPos.y ) );
|
||||
|
||||
// Add all the drawable parts to preview
|
||||
preview.Add( module );
|
||||
module->RunOnChildren( boost::bind( &KIGFX::VIEW_GROUP::Add, &preview, _1 ) );
|
||||
|
||||
preview.ViewUpdate( KIGFX::VIEW_ITEM::GEOMETRY );
|
||||
}
|
||||
else
|
||||
{
|
||||
module->RunOnChildren( boost::bind( &KIGFX::VIEW::Add, m_view, _1 ) );
|
||||
m_view->Add( module );
|
||||
module->ViewUpdate( KIGFX::VIEW_ITEM::GEOMETRY );
|
||||
|
||||
m_frame->OnModify();
|
||||
m_frame->SaveCopyInUndoList( module, UR_NEW );
|
||||
|
||||
// Remove from preview
|
||||
preview.Remove( module );
|
||||
module->RunOnChildren( boost::bind( &KIGFX::VIEW_GROUP::Remove, &preview, _1 ) );
|
||||
module = NULL; // to indicate that there is no module that we currently modify
|
||||
|
||||
m_controls->ShowCursor( true );
|
||||
}
|
||||
}
|
||||
|
||||
else if( module && evt->IsMotion() )
|
||||
{
|
||||
module->SetPosition( wxPoint( cursorPos.x, cursorPos.y ) );
|
||||
preview.ViewUpdate( KIGFX::VIEW_ITEM::GEOMETRY );
|
||||
}
|
||||
}
|
||||
|
||||
m_controls->ShowCursor( false );
|
||||
m_controls->SetSnapping( false );
|
||||
m_controls->SetAutoPan( false );
|
||||
m_controls->CaptureCursor( false );
|
||||
m_view->Remove( &preview );
|
||||
|
||||
setTransitions();
|
||||
m_frame->SetToolID( ID_NO_TOOL_SELECTED, wxCURSOR_DEFAULT, wxEmptyString );
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
int DRAWING_TOOL::PlaceDXF( const TOOL_EVENT& aEvent )
|
||||
{
|
||||
DIALOG_DXF_IMPORT dlg( m_frame );
|
||||
|
@ -1705,8 +1499,6 @@ void DRAWING_TOOL::setTransitions()
|
|||
Go( &DRAWING_TOOL::DrawZone, COMMON_ACTIONS::drawZone.MakeEvent() );
|
||||
Go( &DRAWING_TOOL::DrawKeepout, COMMON_ACTIONS::drawKeepout.MakeEvent() );
|
||||
Go( &DRAWING_TOOL::PlaceText, COMMON_ACTIONS::placeText.MakeEvent() );
|
||||
Go( &DRAWING_TOOL::PlaceTarget, COMMON_ACTIONS::placeTarget.MakeEvent() );
|
||||
Go( &DRAWING_TOOL::PlaceModule, COMMON_ACTIONS::placeModule.MakeEvent() );
|
||||
Go( &DRAWING_TOOL::PlaceDXF, COMMON_ACTIONS::placeDXF.MakeEvent() );
|
||||
Go( &DRAWING_TOOL::SetAnchor, COMMON_ACTIONS::setAnchor.MakeEvent() );
|
||||
}
|
||||
|
@ -1724,3 +1516,5 @@ int DRAWING_TOOL::getSegmentWidth( unsigned int aLayer ) const
|
|||
return m_board->GetDesignSettings().m_DrawSegmentWidth;
|
||||
}
|
||||
|
||||
|
||||
const int DRAWING_TOOL::WIDTH_STEP = 100000;
|
||||
|
|
|
@ -109,18 +109,6 @@ public:
|
|||
*/
|
||||
int DrawKeepout( const TOOL_EVENT& aEvent );
|
||||
|
||||
/**
|
||||
* Function PlaceTarget()
|
||||
* Allows user to place a layer alignment target.
|
||||
*/
|
||||
int PlaceTarget( const TOOL_EVENT& aEvent );
|
||||
|
||||
/**
|
||||
* Function PlaceModule()
|
||||
* Displays a dialog to select a module to be added and allows the user to set its position.
|
||||
*/
|
||||
int PlaceModule( const TOOL_EVENT& aEvent );
|
||||
|
||||
/**
|
||||
* Function PlaceDXF()
|
||||
* Places a drawing imported from a DXF file in module editor.
|
||||
|
@ -206,7 +194,7 @@ private:
|
|||
unsigned int m_lineWidth;
|
||||
|
||||
// How does line width change after one -/+ key press.
|
||||
static const int WIDTH_STEP = 100000;
|
||||
static const int WIDTH_STEP;
|
||||
};
|
||||
|
||||
#endif /* __DRAWING_TOOL_H */
|
||||
|
|
|
@ -22,15 +22,24 @@
|
|||
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
|
||||
*/
|
||||
|
||||
#include <boost/bind.hpp>
|
||||
|
||||
#include "pcb_editor_control.h"
|
||||
#include "common_actions.h"
|
||||
|
||||
#include "selection_tool.h"
|
||||
|
||||
#include <project.h>
|
||||
#include <pcbnew_id.h>
|
||||
#include <wxPcbStruct.h>
|
||||
#include <class_board.h>
|
||||
#include <class_zone.h>
|
||||
#include <class_draw_panel_gal.h>
|
||||
#include <class_module.h>
|
||||
#include <class_mire.h>
|
||||
|
||||
#include <view/view_group.h>
|
||||
#include <view/view_controls.h>
|
||||
|
||||
|
||||
class ZONE_CONTEXT_MENU : public CONTEXT_MENU
|
||||
|
@ -159,6 +168,214 @@ int PCB_EDITOR_CONTROL::ViaSizeDec( const TOOL_EVENT& aEvent )
|
|||
}
|
||||
|
||||
|
||||
int PCB_EDITOR_CONTROL::PlaceModule( const TOOL_EVENT& aEvent )
|
||||
{
|
||||
MODULE* module = NULL;
|
||||
KIGFX::VIEW* view = getView();
|
||||
KIGFX::VIEW_CONTROLS* controls = getViewControls();
|
||||
BOARD* board = getModel<BOARD>();
|
||||
|
||||
// Add a VIEW_GROUP that serves as a preview for the new item
|
||||
KIGFX::VIEW_GROUP preview( view );
|
||||
view->Add( &preview );
|
||||
|
||||
m_toolMgr->RunAction( COMMON_ACTIONS::selectionClear, true );
|
||||
controls->ShowCursor( true );
|
||||
controls->SetSnapping( true );
|
||||
controls->SetAutoPan( true );
|
||||
controls->CaptureCursor( true );
|
||||
|
||||
Activate();
|
||||
m_frame->SetToolID( ID_PCB_MODULE_BUTT, wxCURSOR_HAND, _( "Add module" ) );
|
||||
|
||||
// Main loop: keep receiving events
|
||||
while( OPT_TOOL_EVENT evt = Wait() )
|
||||
{
|
||||
VECTOR2I cursorPos = controls->GetCursorPosition();
|
||||
|
||||
if( evt->IsCancel() || evt->IsActivate() )
|
||||
{
|
||||
if( module )
|
||||
{
|
||||
board->Delete( module ); // it was added by LoadModuleFromLibrary()
|
||||
module = NULL;
|
||||
|
||||
preview.Clear();
|
||||
preview.ViewUpdate( KIGFX::VIEW_ITEM::GEOMETRY );
|
||||
controls->ShowCursor( true );
|
||||
}
|
||||
else
|
||||
break;
|
||||
|
||||
if( evt->IsActivate() ) // now finish unconditionally
|
||||
break;
|
||||
}
|
||||
|
||||
else if( module && evt->Category() == TC_COMMAND )
|
||||
{
|
||||
if( evt->IsAction( &COMMON_ACTIONS::rotate ) )
|
||||
{
|
||||
module->Rotate( module->GetPosition(), m_frame->GetRotationAngle() );
|
||||
preview.ViewUpdate( KIGFX::VIEW_ITEM::GEOMETRY );
|
||||
}
|
||||
else if( evt->IsAction( &COMMON_ACTIONS::flip ) )
|
||||
{
|
||||
module->Flip( module->GetPosition() );
|
||||
preview.ViewUpdate( KIGFX::VIEW_ITEM::GEOMETRY );
|
||||
}
|
||||
}
|
||||
|
||||
else if( evt->IsClick( BUT_LEFT ) )
|
||||
{
|
||||
if( !module )
|
||||
{
|
||||
// Init the new item attributes
|
||||
module = m_frame->LoadModuleFromLibrary( wxEmptyString,
|
||||
m_frame->Prj().PcbFootprintLibs(),
|
||||
true, NULL );
|
||||
if( module == NULL )
|
||||
continue;
|
||||
|
||||
controls->ShowCursor( false );
|
||||
module->SetPosition( wxPoint( cursorPos.x, cursorPos.y ) );
|
||||
|
||||
// Add all the drawable parts to preview
|
||||
preview.Add( module );
|
||||
module->RunOnChildren( boost::bind( &KIGFX::VIEW_GROUP::Add, &preview, _1 ) );
|
||||
|
||||
preview.ViewUpdate( KIGFX::VIEW_ITEM::GEOMETRY );
|
||||
}
|
||||
else
|
||||
{
|
||||
module->RunOnChildren( boost::bind( &KIGFX::VIEW::Add, view, _1 ) );
|
||||
view->Add( module );
|
||||
module->ViewUpdate( KIGFX::VIEW_ITEM::GEOMETRY );
|
||||
|
||||
m_frame->OnModify();
|
||||
m_frame->SaveCopyInUndoList( module, UR_NEW );
|
||||
|
||||
// Remove from preview
|
||||
preview.Remove( module );
|
||||
module->RunOnChildren( boost::bind( &KIGFX::VIEW_GROUP::Remove, &preview, _1 ) );
|
||||
module = NULL; // to indicate that there is no module that we currently modify
|
||||
|
||||
controls->ShowCursor( true );
|
||||
}
|
||||
}
|
||||
|
||||
else if( module && evt->IsMotion() )
|
||||
{
|
||||
module->SetPosition( wxPoint( cursorPos.x, cursorPos.y ) );
|
||||
preview.ViewUpdate( KIGFX::VIEW_ITEM::GEOMETRY );
|
||||
}
|
||||
}
|
||||
|
||||
controls->ShowCursor( false );
|
||||
controls->SetSnapping( false );
|
||||
controls->SetAutoPan( false );
|
||||
controls->CaptureCursor( false );
|
||||
view->Remove( &preview );
|
||||
|
||||
setTransitions();
|
||||
m_frame->SetToolID( ID_NO_TOOL_SELECTED, wxCURSOR_DEFAULT, wxEmptyString );
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
int PCB_EDITOR_CONTROL::PlaceTarget( const TOOL_EVENT& aEvent )
|
||||
{
|
||||
KIGFX::VIEW* view = getView();
|
||||
KIGFX::VIEW_CONTROLS* controls = getViewControls();
|
||||
BOARD* board = getModel<BOARD>();
|
||||
PCB_TARGET* target = new PCB_TARGET( board );
|
||||
|
||||
// Init the new item attributes
|
||||
target->SetLayer( Edge_Cuts );
|
||||
target->SetWidth( board->GetDesignSettings().m_EdgeSegmentWidth );
|
||||
target->SetSize( Millimeter2iu( 5 ) );
|
||||
VECTOR2I cursorPos = controls->GetCursorPosition();
|
||||
target->SetPosition( wxPoint( cursorPos.x, cursorPos.y ) );
|
||||
|
||||
// Add a VIEW_GROUP that serves as a preview for the new item
|
||||
KIGFX::VIEW_GROUP preview( view );
|
||||
preview.Add( target );
|
||||
view->Add( &preview );
|
||||
preview.ViewUpdate( KIGFX::VIEW_ITEM::GEOMETRY );
|
||||
|
||||
m_toolMgr->RunAction( COMMON_ACTIONS::selectionClear, true );
|
||||
controls->SetSnapping( true );
|
||||
controls->SetAutoPan( true );
|
||||
controls->CaptureCursor( true );
|
||||
|
||||
Activate();
|
||||
m_frame->SetToolID( ID_PCB_MIRE_BUTT, wxCURSOR_PENCIL, _( "Add layer alignment target" ) );
|
||||
|
||||
// Main loop: keep receiving events
|
||||
while( OPT_TOOL_EVENT evt = Wait() )
|
||||
{
|
||||
cursorPos = controls->GetCursorPosition();
|
||||
|
||||
if( evt->IsCancel() || evt->IsActivate() )
|
||||
break;
|
||||
|
||||
else if( evt->IsAction( &COMMON_ACTIONS::incWidth ) )
|
||||
{
|
||||
target->SetWidth( target->GetWidth() + WIDTH_STEP );
|
||||
preview.ViewUpdate( KIGFX::VIEW_ITEM::GEOMETRY );
|
||||
}
|
||||
|
||||
else if( evt->IsAction( &COMMON_ACTIONS::decWidth ) )
|
||||
{
|
||||
int width = target->GetWidth();
|
||||
|
||||
if( width > WIDTH_STEP )
|
||||
{
|
||||
target->SetWidth( width - WIDTH_STEP );
|
||||
preview.ViewUpdate( KIGFX::VIEW_ITEM::GEOMETRY );
|
||||
}
|
||||
}
|
||||
|
||||
else if( evt->IsClick( BUT_LEFT ) )
|
||||
{
|
||||
assert( target->GetSize() > 0 );
|
||||
assert( target->GetWidth() > 0 );
|
||||
|
||||
view->Add( target );
|
||||
board->Add( target );
|
||||
target->ViewUpdate( KIGFX::VIEW_ITEM::GEOMETRY );
|
||||
|
||||
m_frame->OnModify();
|
||||
m_frame->SaveCopyInUndoList( target, UR_NEW );
|
||||
|
||||
preview.Remove( target );
|
||||
|
||||
// Create next PCB_TARGET
|
||||
target = new PCB_TARGET( *target );
|
||||
preview.Add( target );
|
||||
}
|
||||
|
||||
else if( evt->IsMotion() )
|
||||
{
|
||||
target->SetPosition( wxPoint( cursorPos.x, cursorPos.y ) );
|
||||
preview.ViewUpdate( KIGFX::VIEW_ITEM::GEOMETRY );
|
||||
}
|
||||
}
|
||||
|
||||
delete target;
|
||||
|
||||
controls->SetSnapping( false );
|
||||
controls->SetAutoPan( false );
|
||||
controls->CaptureCursor( false );
|
||||
view->Remove( &preview );
|
||||
|
||||
setTransitions();
|
||||
m_frame->SetToolID( ID_NO_TOOL_SELECTED, wxCURSOR_DEFAULT, wxEmptyString );
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
// Zone actions
|
||||
int PCB_EDITOR_CONTROL::ZoneFill( const TOOL_EVENT& aEvent )
|
||||
{
|
||||
|
@ -266,5 +483,12 @@ void PCB_EDITOR_CONTROL::setTransitions()
|
|||
Go( &PCB_EDITOR_CONTROL::ZoneUnfill, COMMON_ACTIONS::zoneUnfill.MakeEvent() );
|
||||
Go( &PCB_EDITOR_CONTROL::ZoneUnfillAll, COMMON_ACTIONS::zoneUnfillAll.MakeEvent() );
|
||||
|
||||
// Placing tools
|
||||
Go( &PCB_EDITOR_CONTROL::PlaceTarget, COMMON_ACTIONS::placeTarget.MakeEvent() );
|
||||
Go( &PCB_EDITOR_CONTROL::PlaceModule, COMMON_ACTIONS::placeModule.MakeEvent() );
|
||||
|
||||
Go( &PCB_EDITOR_CONTROL::SelectionCrossProbe, SELECTION_TOOL::SelectedEvent );
|
||||
}
|
||||
|
||||
|
||||
const int PCB_EDITOR_CONTROL::WIDTH_STEP = 100000;
|
||||
|
|
|
@ -57,6 +57,18 @@ public:
|
|||
int ZoneUnfill( const TOOL_EVENT& aEvent );
|
||||
int ZoneUnfillAll( const TOOL_EVENT& aEvent );
|
||||
|
||||
/**
|
||||
* Function PlaceTarget()
|
||||
* Allows user to place a layer alignment target.
|
||||
*/
|
||||
int PlaceTarget( const TOOL_EVENT& aEvent );
|
||||
|
||||
/**
|
||||
* Function PlaceModule()
|
||||
* Displays a dialog to select a module to be added and allows the user to set its position.
|
||||
*/
|
||||
int PlaceModule( const TOOL_EVENT& aEvent );
|
||||
|
||||
///> Notifies eeschema about the selected item.
|
||||
int SelectionCrossProbe( const TOOL_EVENT& aEvent );
|
||||
|
||||
|
@ -66,6 +78,9 @@ private:
|
|||
|
||||
///> Pointer to the currently used edit frame.
|
||||
PCB_EDIT_FRAME* m_frame;
|
||||
|
||||
// How does line width change after one -/+ key press.
|
||||
static const int WIDTH_STEP;
|
||||
};
|
||||
|
||||
#endif
|
||||
|
|
Loading…
Reference in New Issue