pcbnew: code formatting, removed previous module editor copy/paste functions
This commit is contained in:
parent
adcda4a3e8
commit
c6a0ad895b
|
@ -129,7 +129,7 @@ public:
|
||||||
* Function GetLayer
|
* Function GetLayer
|
||||||
* returns the primary layer this item is on.
|
* returns the primary layer this item is on.
|
||||||
*/
|
*/
|
||||||
virtual PCB_LAYER_ID GetLayer() const { return m_Layer; }
|
virtual PCB_LAYER_ID GetLayer() const { return m_Layer; }
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Function GetLayerSet
|
* Function GetLayerSet
|
||||||
|
@ -265,7 +265,6 @@ public:
|
||||||
Rotate( wxPoint( aRotCentre.x, aRotCentre.y ), aAngle );
|
Rotate( wxPoint( aRotCentre.x, aRotCentre.y ), aAngle );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Function Flip
|
* Function Flip
|
||||||
* Flip this object, i.e. change the board side for this object
|
* Flip this object, i.e. change the board side for this object
|
||||||
|
|
|
@ -284,7 +284,7 @@ void BOARD_COMMIT::Push( const wxString& aMessage, bool aCreateUndoEntry )
|
||||||
|
|
||||||
if ( !m_editModules )
|
if ( !m_editModules )
|
||||||
{
|
{
|
||||||
auto panel = static_cast<PCB_DRAW_PANEL_GAL *>( frame->GetGalCanvas() );
|
auto panel = static_cast<PCB_DRAW_PANEL_GAL*>( frame->GetGalCanvas() );
|
||||||
connectivity->RecalculateRatsnest();
|
connectivity->RecalculateRatsnest();
|
||||||
panel->RedrawRatsnest();
|
panel->RedrawRatsnest();
|
||||||
}
|
}
|
||||||
|
|
|
@ -2908,9 +2908,10 @@ void BOARD::ClearAllNetCodes()
|
||||||
{
|
{
|
||||||
for ( auto zone : Zones() )
|
for ( auto zone : Zones() )
|
||||||
zone->SetNetCode( 0 );
|
zone->SetNetCode( 0 );
|
||||||
|
|
||||||
for ( auto mod : Modules() )
|
for ( auto mod : Modules() )
|
||||||
for ( auto pad : mod->Pads() )
|
for ( auto pad : mod->Pads() )
|
||||||
pad->SetNetCode( 0 );
|
pad->SetNetCode( 0 );
|
||||||
|
|
||||||
for ( auto track : Tracks() )
|
for ( auto track : Tracks() )
|
||||||
track->SetNetCode( 0 );
|
track->SetNetCode( 0 );
|
||||||
|
|
|
@ -1357,6 +1357,10 @@ public:
|
||||||
*/
|
*/
|
||||||
TRACK* CreateLockPoint( wxPoint& aPosition, TRACK* aSegment, PICKED_ITEMS_LIST* aList );
|
TRACK* CreateLockPoint( wxPoint& aPosition, TRACK* aSegment, PICKED_ITEMS_LIST* aList );
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Function ClearAllNetCodes()
|
||||||
|
* Resets all items' netcodes to 0 (no net).
|
||||||
|
*/
|
||||||
void ClearAllNetCodes();
|
void ClearAllNetCodes();
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -748,7 +748,11 @@ void CN_CONNECTIVITY_ALGO::propagateConnections()
|
||||||
{
|
{
|
||||||
for( auto cluster : m_connClusters )
|
for( auto cluster : m_connClusters )
|
||||||
{
|
{
|
||||||
if( cluster->IsOrphaned() )
|
if( cluster->IsConflicting() )
|
||||||
|
{
|
||||||
|
wxLogTrace( "CN", "Conflicting nets in cluster %p\n", cluster.get() );
|
||||||
|
}
|
||||||
|
else if( cluster->IsOrphaned() )
|
||||||
{
|
{
|
||||||
wxLogTrace( "CN", "Skipping orphaned cluster %p [net: %s]\n", cluster.get(),
|
wxLogTrace( "CN", "Skipping orphaned cluster %p [net: %s]\n", cluster.get(),
|
||||||
(const char*) cluster->OriginNetName().c_str() );
|
(const char*) cluster->OriginNetName().c_str() );
|
||||||
|
|
|
@ -529,7 +529,6 @@ void PCB_IO::formatLayer( const BOARD_ITEM* aItem ) const
|
||||||
|
|
||||||
void PCB_IO::formatSetup( BOARD* aBoard, int aNestLevel ) const
|
void PCB_IO::formatSetup( BOARD* aBoard, int aNestLevel ) const
|
||||||
{
|
{
|
||||||
|
|
||||||
const BOARD_DESIGN_SETTINGS& dsnSettings = aBoard->GetDesignSettings();
|
const BOARD_DESIGN_SETTINGS& dsnSettings = aBoard->GetDesignSettings();
|
||||||
|
|
||||||
m_out->Print( 0, "\n" );
|
m_out->Print( 0, "\n" );
|
||||||
|
@ -1709,15 +1708,15 @@ void PCB_IO::format( ZONE_CONTAINER* aZone, int aNestLevel ) const
|
||||||
aZone->GetIsKeepout() ? 0 : m_mapping->Translate( aZone->GetNetCode() ),
|
aZone->GetIsKeepout() ? 0 : m_mapping->Translate( aZone->GetNetCode() ),
|
||||||
m_out->Quotew( aZone->GetIsKeepout() ? wxT("") : aZone->GetNetname() ).c_str() );
|
m_out->Quotew( aZone->GetIsKeepout() ? wxT("") : aZone->GetNetname() ).c_str() );
|
||||||
|
|
||||||
// If a zone exists on multiple layers, format accordingly
|
// If a zone exists on multiple layers, format accordingly
|
||||||
if( aZone->GetLayerSet().count() > 1 )
|
if( aZone->GetLayerSet().count() > 1 )
|
||||||
{
|
{
|
||||||
formatLayers( aZone->GetLayerSet() );
|
formatLayers( aZone->GetLayerSet() );
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
formatLayer( aZone );
|
formatLayer( aZone );
|
||||||
}
|
}
|
||||||
|
|
||||||
m_out->Print( 0, " (tstamp %lX)", (unsigned long) aZone->GetTimeStamp() );
|
m_out->Print( 0, " (tstamp %lX)", (unsigned long) aZone->GetTimeStamp() );
|
||||||
|
|
||||||
|
@ -2123,7 +2122,7 @@ void PCB_IO::FootprintSave( const wxString& aLibraryPath, const MODULE* aFootpri
|
||||||
|
|
||||||
if( !fn.IsOk() )
|
if( !fn.IsOk() )
|
||||||
{
|
{
|
||||||
THROW_IO_ERROR( wxString::Format( _( "Footprint file name '%s' is not valid." ),
|
THROW_IO_ERROR( wxString::Format( _( "Footprint file name '%s' is not valid." ),
|
||||||
GetChars( fn.GetFullPath() ) ) );
|
GetChars( fn.GetFullPath() ) ) );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -326,5 +326,4 @@ public:
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
#endif // _PCBNEW_PARSER_H_
|
#endif // _PCBNEW_PARSER_H_
|
||||||
|
|
|
@ -777,7 +777,6 @@ void PCB_EDIT_FRAME::enableGALSpecificMenus()
|
||||||
if( GetMenuBar()->FindItem( id_list[ii] ) )
|
if( GetMenuBar()->FindItem( id_list[ii] ) )
|
||||||
GetMenuBar()->FindItem( id_list[ii] )->Enable( enbl );
|
GetMenuBar()->FindItem( id_list[ii] )->Enable( enbl );
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -423,7 +423,6 @@ int EDIT_TOOL::Main( const TOOL_EVENT& aEvent )
|
||||||
// Drag items to the current cursor position
|
// Drag items to the current cursor position
|
||||||
for( auto item : selection )
|
for( auto item : selection )
|
||||||
static_cast<BOARD_ITEM*>( item )->Move( movement );
|
static_cast<BOARD_ITEM*>( item )->Move( movement );
|
||||||
|
|
||||||
}
|
}
|
||||||
else if( !m_dragging ) // Prepare to start dragging
|
else if( !m_dragging ) // Prepare to start dragging
|
||||||
{
|
{
|
||||||
|
@ -1225,19 +1224,19 @@ void EDIT_TOOL::setTransitions()
|
||||||
Go( &EDIT_TOOL::Duplicate, PCB_ACTIONS::duplicateIncrement.MakeEvent() );
|
Go( &EDIT_TOOL::Duplicate, PCB_ACTIONS::duplicateIncrement.MakeEvent() );
|
||||||
Go( &EDIT_TOOL::CreateArray,PCB_ACTIONS::createArray.MakeEvent() );
|
Go( &EDIT_TOOL::CreateArray,PCB_ACTIONS::createArray.MakeEvent() );
|
||||||
Go( &EDIT_TOOL::Mirror, PCB_ACTIONS::mirror.MakeEvent() );
|
Go( &EDIT_TOOL::Mirror, PCB_ACTIONS::mirror.MakeEvent() );
|
||||||
|
|
||||||
Go( &EDIT_TOOL::editFootprintInFpEditor, PCB_ACTIONS::editFootprintInFpEditor.MakeEvent() );
|
Go( &EDIT_TOOL::editFootprintInFpEditor, PCB_ACTIONS::editFootprintInFpEditor.MakeEvent() );
|
||||||
Go( &EDIT_TOOL::ExchangeFootprints, PCB_ACTIONS::exchangeFootprints.MakeEvent() );
|
Go( &EDIT_TOOL::ExchangeFootprints, PCB_ACTIONS::exchangeFootprints.MakeEvent() );
|
||||||
Go( &EDIT_TOOL::MeasureTool, PCB_ACTIONS::measureTool.MakeEvent() );
|
Go( &EDIT_TOOL::MeasureTool, PCB_ACTIONS::measureTool.MakeEvent() );
|
||||||
|
Go( &EDIT_TOOL::copyToClipboard, PCB_ACTIONS::copyToClipboard.MakeEvent() );
|
||||||
Go( &EDIT_TOOL::copyToClipboard, PCB_ACTIONS::copyToClipboard.MakeEvent() );
|
Go( &EDIT_TOOL::cutToClipboard, PCB_ACTIONS::cutToClipboard.MakeEvent() );
|
||||||
Go( &EDIT_TOOL::cutToClipboard, PCB_ACTIONS::cutToClipboard.MakeEvent() );
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
bool EDIT_TOOL::updateModificationPoint( SELECTION& aSelection )
|
bool EDIT_TOOL::updateModificationPoint( SELECTION& aSelection )
|
||||||
{
|
{
|
||||||
if ( aSelection.HasReferencePoint() )
|
if( aSelection.HasReferencePoint() )
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
if( aSelection.Size() == 1 )
|
if( aSelection.Size() == 1 )
|
||||||
|
@ -1320,7 +1319,10 @@ int EDIT_TOOL::copyToClipboard( const TOOL_EVENT& aEvent )
|
||||||
|
|
||||||
Activate();
|
Activate();
|
||||||
|
|
||||||
auto item1 = MSG_PANEL_ITEM( _(""), _("Select reference point for the block being copied..."), COLOR4D::BLACK );
|
auto item1 = MSG_PANEL_ITEM( _(""),
|
||||||
|
_("Select reference point for the block being copied..."),
|
||||||
|
COLOR4D::BLACK );
|
||||||
|
|
||||||
std::vector<MSG_PANEL_ITEM> msgItems = { item1 };
|
std::vector<MSG_PANEL_ITEM> msgItems = { item1 };
|
||||||
|
|
||||||
SELECTION selection = m_selectionTool->RequestSelection();
|
SELECTION selection = m_selectionTool->RequestSelection();
|
||||||
|
|
|
@ -149,13 +149,12 @@ public:
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Function cutToClipboard()
|
* Function cutToClipboard()
|
||||||
* Sends the current selection to the clipboard by formatting it as a fake pcb
|
* Cuts the current selection to the clipboard by formatting it as a fake pcb
|
||||||
* see AppendBoardFromClipboard for importing
|
* see AppendBoardFromClipboard for importing
|
||||||
* @return True if it was sent succesfully
|
* @return True if it was sent succesfully
|
||||||
*/
|
*/
|
||||||
int cutToClipboard( const TOOL_EVENT& aEvent );
|
int cutToClipboard( const TOOL_EVENT& aEvent );
|
||||||
|
|
||||||
|
|
||||||
BOARD_COMMIT* GetCurrentCommit() const
|
BOARD_COMMIT* GetCurrentCommit() const
|
||||||
{
|
{
|
||||||
return m_commit.get();
|
return m_commit.get();
|
||||||
|
@ -174,7 +173,6 @@ private:
|
||||||
|
|
||||||
///> Returns the right modification point (e.g. for rotation), depending on the number of
|
///> Returns the right modification point (e.g. for rotation), depending on the number of
|
||||||
///> selected items.
|
///> selected items.
|
||||||
wxPoint getModificationPoint( const SELECTION& aSelection );
|
|
||||||
bool updateModificationPoint( SELECTION& aSelection );
|
bool updateModificationPoint( SELECTION& aSelection );
|
||||||
|
|
||||||
int editFootprintInFpEditor( const TOOL_EVENT& aEvent );
|
int editFootprintInFpEditor( const TOOL_EVENT& aEvent );
|
||||||
|
|
|
@ -63,14 +63,6 @@ TOOL_ACTION PCB_ACTIONS::enumeratePads( "pcbnew.ModuleEditor.enumeratePads",
|
||||||
AS_GLOBAL, 0,
|
AS_GLOBAL, 0,
|
||||||
_( "Enumerate Pads" ), _( "Enumerate pads" ), pad_enumerate_xpm, AF_ACTIVATE );
|
_( "Enumerate Pads" ), _( "Enumerate pads" ), pad_enumerate_xpm, AF_ACTIVATE );
|
||||||
|
|
||||||
TOOL_ACTION PCB_ACTIONS::copyItems( "pcbnew.ModuleEditor.copyItems",
|
|
||||||
AS_ACTIVE, 0,
|
|
||||||
_( "Copy" ), _( "Copy items" ), NULL, AF_ACTIVATE );
|
|
||||||
|
|
||||||
TOOL_ACTION PCB_ACTIONS::pasteItems( "pcbnew.ModuleEditor.pasteItems",
|
|
||||||
AS_GLOBAL, 0,
|
|
||||||
_( "Paste" ), _( "Paste items" ), NULL, AF_ACTIVATE );
|
|
||||||
|
|
||||||
TOOL_ACTION PCB_ACTIONS::moduleEdgeOutlines( "pcbnew.ModuleEditor.graphicOutlines",
|
TOOL_ACTION PCB_ACTIONS::moduleEdgeOutlines( "pcbnew.ModuleEditor.graphicOutlines",
|
||||||
AS_GLOBAL, 0,
|
AS_GLOBAL, 0,
|
||||||
"", "" );
|
"", "" );
|
||||||
|
@ -265,183 +257,6 @@ int MODULE_EDITOR_TOOLS::EnumeratePads( const TOOL_EVENT& aEvent )
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
int MODULE_EDITOR_TOOLS::CopyItems( const TOOL_EVENT& aEvent )
|
|
||||||
{
|
|
||||||
const SELECTION& selection = m_toolMgr->GetTool<SELECTION_TOOL>()->GetSelection();
|
|
||||||
|
|
||||||
Activate();
|
|
||||||
|
|
||||||
getViewControls()->SetSnapping( true );
|
|
||||||
getViewControls()->ShowCursor( true );
|
|
||||||
getViewControls()->SetAutoPan( true );
|
|
||||||
|
|
||||||
frame()->DisplayToolMsg( _( "Select reference point" ) );
|
|
||||||
|
|
||||||
bool cancelled = false;
|
|
||||||
VECTOR2I cursorPos = getViewControls()->GetCursorPosition();
|
|
||||||
|
|
||||||
while( OPT_TOOL_EVENT evt = Wait() )
|
|
||||||
{
|
|
||||||
if( evt->IsMotion() )
|
|
||||||
{
|
|
||||||
cursorPos = getViewControls()->GetCursorPosition();
|
|
||||||
}
|
|
||||||
else if( evt->IsClick( BUT_LEFT ) )
|
|
||||||
{
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
else if( evt->IsCancel() || evt->IsActivate() )
|
|
||||||
{
|
|
||||||
cancelled = true;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if( !cancelled )
|
|
||||||
{
|
|
||||||
PCB_IO io( CTL_FOR_CLIPBOARD );
|
|
||||||
|
|
||||||
// Create a temporary module that contains selected items to ease serialization
|
|
||||||
MODULE module( board() );
|
|
||||||
|
|
||||||
for( auto item : selection )
|
|
||||||
{
|
|
||||||
auto clone = static_cast<BOARD_ITEM*>( item->Clone() );
|
|
||||||
|
|
||||||
// Do not add reference/value - convert them to the common type
|
|
||||||
if( TEXTE_MODULE* text = dyn_cast<TEXTE_MODULE*>( clone ) )
|
|
||||||
text->SetType( TEXTE_MODULE::TEXT_is_DIVERS );
|
|
||||||
|
|
||||||
module.Add( clone );
|
|
||||||
}
|
|
||||||
|
|
||||||
// Set the new relative internal local coordinates of copied items
|
|
||||||
MODULE* editedModule = board()->m_Modules;
|
|
||||||
wxPoint moveVector = module.GetPosition() + editedModule->GetPosition() -
|
|
||||||
wxPoint( cursorPos.x, cursorPos.y );
|
|
||||||
module.MoveAnchorPosition( moveVector );
|
|
||||||
|
|
||||||
io.Format( &module, 0 );
|
|
||||||
std::string data = io.GetStringOutput( true );
|
|
||||||
m_toolMgr->SaveClipboard( data );
|
|
||||||
}
|
|
||||||
|
|
||||||
frame()->DisplayToolMsg( wxString::Format( _( "Copied %d item(s)" ), selection.Size() ) );
|
|
||||||
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
int MODULE_EDITOR_TOOLS::PasteItems( const TOOL_EVENT& aEvent )
|
|
||||||
{
|
|
||||||
|
|
||||||
MODULE* pastedModule = aEvent.Parameter<MODULE*>();
|
|
||||||
|
|
||||||
/* for( BOARD_ITEM* item = pastedModule->GraphicalItems().begin(); item; */
|
|
||||||
/* item = item->Next() ) */
|
|
||||||
/* { */
|
|
||||||
/* if( item->Type() == PCB_MODULE_TEXT_T ) */
|
|
||||||
/* std::cout << "Crashing on this" << std::endl; */
|
|
||||||
/* return 0; */
|
|
||||||
/* } */
|
|
||||||
|
|
||||||
// Placement tool part
|
|
||||||
VECTOR2I cursorPos = getViewControls()->GetCursorPosition();
|
|
||||||
|
|
||||||
// Add a VIEW_GROUP that serves as a preview for the new item
|
|
||||||
KIGFX::VIEW_GROUP preview( view() );
|
|
||||||
pastedModule->SetParent( board() );
|
|
||||||
pastedModule->SetPosition( wxPoint( cursorPos.x, cursorPos.y ) );
|
|
||||||
pastedModule->RunOnChildren( std::bind( &KIGFX::VIEW_GROUP::Add,
|
|
||||||
std::ref( preview ), _1 ) );
|
|
||||||
preview.Add( pastedModule );
|
|
||||||
view()->Add( &preview );
|
|
||||||
|
|
||||||
m_toolMgr->RunAction( PCB_ACTIONS::selectionClear, true );
|
|
||||||
getViewControls()->ShowCursor( true );
|
|
||||||
getViewControls()->SetSnapping( true );
|
|
||||||
getViewControls()->SetAutoPan( true );
|
|
||||||
|
|
||||||
Activate();
|
|
||||||
|
|
||||||
// Main loop: keep receiving events
|
|
||||||
while( OPT_TOOL_EVENT evt = Wait() )
|
|
||||||
{
|
|
||||||
cursorPos = getViewControls()->GetCursorPosition();
|
|
||||||
|
|
||||||
if( evt->IsMotion() )
|
|
||||||
{
|
|
||||||
pastedModule->SetPosition( wxPoint( cursorPos.x, cursorPos.y ) );
|
|
||||||
view()->Update( &preview );
|
|
||||||
}
|
|
||||||
|
|
||||||
else if( evt->Category() == TC_COMMAND )
|
|
||||||
{
|
|
||||||
if( TOOL_EVT_UTILS::IsRotateToolEvt( *evt ) )
|
|
||||||
{
|
|
||||||
const auto rotationAngle = TOOL_EVT_UTILS::GetEventRotationAngle(
|
|
||||||
*frame(), *evt );
|
|
||||||
pastedModule->Rotate( pastedModule->GetPosition(), rotationAngle );
|
|
||||||
view()->Update( &preview );
|
|
||||||
}
|
|
||||||
else if( evt->IsAction( &PCB_ACTIONS::flip ) )
|
|
||||||
{
|
|
||||||
pastedModule->Flip( pastedModule->GetPosition() );
|
|
||||||
view()->Update( &preview );
|
|
||||||
}
|
|
||||||
else if( evt->IsCancel() || evt->IsActivate() )
|
|
||||||
{
|
|
||||||
preview.Clear();
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
else if( evt->IsClick( BUT_LEFT ) )
|
|
||||||
{
|
|
||||||
BOARD_COMMIT commit( frame() );
|
|
||||||
|
|
||||||
board()->m_Status_Pcb = 0; // I have no clue why, but it is done in the legacy view
|
|
||||||
|
|
||||||
// MODULE::RunOnChildren is infeasible here: we need to create copies of items, do not
|
|
||||||
// directly modify them
|
|
||||||
|
|
||||||
for( auto pad : pastedModule->Pads() )
|
|
||||||
{
|
|
||||||
D_PAD* clone = static_cast<D_PAD*>( pad->Clone() );
|
|
||||||
commit.Add( clone );
|
|
||||||
}
|
|
||||||
|
|
||||||
for( auto drawing : pastedModule->GraphicalItems() )
|
|
||||||
{
|
|
||||||
BOARD_ITEM* clone = static_cast<BOARD_ITEM*>( drawing->Clone() );
|
|
||||||
|
|
||||||
if( TEXTE_MODULE* text = dyn_cast<TEXTE_MODULE*>( clone ) )
|
|
||||||
{
|
|
||||||
// Do not add reference/value - convert them to the common type
|
|
||||||
text->SetType( TEXTE_MODULE::TEXT_is_DIVERS );
|
|
||||||
|
|
||||||
// Whyyyyyyyyyyyyyyyyyyyyyy?! All other items conform to rotation performed
|
|
||||||
// on its parent module, but texts are so independent..
|
|
||||||
text->Rotate( text->GetPosition(), pastedModule->GetOrientation() );
|
|
||||||
}
|
|
||||||
|
|
||||||
commit.Add( clone );
|
|
||||||
}
|
|
||||||
|
|
||||||
commit.Push( _( "Paste clipboard contents" ) );
|
|
||||||
preview.Clear();
|
|
||||||
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
delete pastedModule;
|
|
||||||
view()->Remove( &preview );
|
|
||||||
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
int MODULE_EDITOR_TOOLS::ModuleTextOutlines( const TOOL_EVENT& aEvent )
|
int MODULE_EDITOR_TOOLS::ModuleTextOutlines( const TOOL_EVENT& aEvent )
|
||||||
{
|
{
|
||||||
KIGFX::VIEW* view = getView();
|
KIGFX::VIEW* view = getView();
|
||||||
|
@ -511,8 +326,6 @@ void MODULE_EDITOR_TOOLS::setTransitions()
|
||||||
{
|
{
|
||||||
Go( &MODULE_EDITOR_TOOLS::PlacePad, PCB_ACTIONS::placePad.MakeEvent() );
|
Go( &MODULE_EDITOR_TOOLS::PlacePad, PCB_ACTIONS::placePad.MakeEvent() );
|
||||||
Go( &MODULE_EDITOR_TOOLS::EnumeratePads, PCB_ACTIONS::enumeratePads.MakeEvent() );
|
Go( &MODULE_EDITOR_TOOLS::EnumeratePads, PCB_ACTIONS::enumeratePads.MakeEvent() );
|
||||||
Go( &MODULE_EDITOR_TOOLS::CopyItems, PCB_ACTIONS::copyItems.MakeEvent() );
|
|
||||||
Go( &MODULE_EDITOR_TOOLS::PasteItems, PCB_ACTIONS::pasteItems.MakeEvent() );
|
|
||||||
Go( &MODULE_EDITOR_TOOLS::ModuleTextOutlines, PCB_ACTIONS::moduleTextOutlines.MakeEvent() );
|
Go( &MODULE_EDITOR_TOOLS::ModuleTextOutlines, PCB_ACTIONS::moduleTextOutlines.MakeEvent() );
|
||||||
Go( &MODULE_EDITOR_TOOLS::ModuleEdgeOutlines, PCB_ACTIONS::moduleEdgeOutlines.MakeEvent() );
|
Go( &MODULE_EDITOR_TOOLS::ModuleEdgeOutlines, PCB_ACTIONS::moduleEdgeOutlines.MakeEvent() );
|
||||||
}
|
}
|
||||||
|
|
|
@ -61,20 +61,6 @@ public:
|
||||||
*/
|
*/
|
||||||
int EnumeratePads( const TOOL_EVENT& aEvent );
|
int EnumeratePads( const TOOL_EVENT& aEvent );
|
||||||
|
|
||||||
/**
|
|
||||||
* Function CopyItems()
|
|
||||||
*
|
|
||||||
* Copies selected items to the clipboard. Works only in "edit modules" mode.
|
|
||||||
*/
|
|
||||||
int CopyItems( const TOOL_EVENT& aEvent );
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Function PastePad()
|
|
||||||
*
|
|
||||||
* Pastes items from the clipboard. Works only in "edit modules" mode.
|
|
||||||
*/
|
|
||||||
int PasteItems( const TOOL_EVENT& aEvent );
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Function CreateArray
|
* Function CreateArray
|
||||||
*
|
*
|
||||||
|
|
|
@ -82,7 +82,6 @@ public:
|
||||||
/// Filters the items in the current selection (invokes dialog)
|
/// Filters the items in the current selection (invokes dialog)
|
||||||
static TOOL_ACTION filterSelection;
|
static TOOL_ACTION filterSelection;
|
||||||
|
|
||||||
|
|
||||||
// Edit Tool
|
// Edit Tool
|
||||||
/// Activation of the edit tool
|
/// Activation of the edit tool
|
||||||
static TOOL_ACTION editActivate;
|
static TOOL_ACTION editActivate;
|
||||||
|
@ -295,12 +294,6 @@ public:
|
||||||
/// Tool for creating an array of objects
|
/// Tool for creating an array of objects
|
||||||
static TOOL_ACTION createArray;
|
static TOOL_ACTION createArray;
|
||||||
|
|
||||||
/// Copying module items to clipboard
|
|
||||||
static TOOL_ACTION copyItems;
|
|
||||||
|
|
||||||
/// Pasting module items from clipboard
|
|
||||||
static TOOL_ACTION pasteItems;
|
|
||||||
|
|
||||||
/// Copy selected items to clipboard
|
/// Copy selected items to clipboard
|
||||||
static TOOL_ACTION copyToClipboard;
|
static TOOL_ACTION copyToClipboard;
|
||||||
|
|
||||||
|
|
|
@ -126,7 +126,6 @@ protected:
|
||||||
BOARD* board() const { return getModel<BOARD>(); }
|
BOARD* board() const { return getModel<BOARD>(); }
|
||||||
MODULE* module() const { return board()->m_Modules; }
|
MODULE* module() const { return board()->m_Modules; }
|
||||||
|
|
||||||
|
|
||||||
bool m_editModules;
|
bool m_editModules;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -743,12 +743,12 @@ int PCBNEW_CONTROL::PasteItemsFromClipboard( const TOOL_EVENT& aEvent )
|
||||||
BOARD tmpBoard;
|
BOARD tmpBoard;
|
||||||
BOARD_ITEM* clipItem = pi.Parse();
|
BOARD_ITEM* clipItem = pi.Parse();
|
||||||
|
|
||||||
if(!clipItem )
|
if( !clipItem )
|
||||||
{
|
{
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
if ( clipItem->Type() == PCB_T )
|
if( clipItem->Type() == PCB_T )
|
||||||
static_cast<BOARD*>(clipItem)->ClearAllNetCodes();
|
static_cast<BOARD*>(clipItem)->ClearAllNetCodes();
|
||||||
|
|
||||||
bool editModules = m_editModules || frame()->IsType( FRAME_PCB_MODULE_EDITOR );
|
bool editModules = m_editModules || frame()->IsType( FRAME_PCB_MODULE_EDITOR );
|
||||||
|
@ -756,7 +756,7 @@ int PCBNEW_CONTROL::PasteItemsFromClipboard( const TOOL_EVENT& aEvent )
|
||||||
// The clipboard can contain two different things, an entire kicad_pcb
|
// The clipboard can contain two different things, an entire kicad_pcb
|
||||||
// or a single module
|
// or a single module
|
||||||
|
|
||||||
if ( editModules && ( !board() || !module() ) )
|
if( editModules && ( !board() || !module() ) )
|
||||||
{
|
{
|
||||||
wxLogDebug( wxT( "Attempting to paste to empty module editor window\n") );
|
wxLogDebug( wxT( "Attempting to paste to empty module editor window\n") );
|
||||||
return 0;
|
return 0;
|
||||||
|
@ -787,12 +787,12 @@ int PCBNEW_CONTROL::PasteItemsFromClipboard( const TOOL_EVENT& aEvent )
|
||||||
{
|
{
|
||||||
auto mod = static_cast<MODULE *>( clipItem );
|
auto mod = static_cast<MODULE *>( clipItem );
|
||||||
|
|
||||||
for ( auto pad : mod->Pads() )
|
for( auto pad : mod->Pads() )
|
||||||
{
|
{
|
||||||
pad->SetParent ( board()->m_Modules.GetFirst() );
|
pad->SetParent ( board()->m_Modules.GetFirst() );
|
||||||
items.push_back( pad );
|
items.push_back( pad );
|
||||||
}
|
}
|
||||||
for ( auto item : mod->GraphicalItems() )
|
for( auto item : mod->GraphicalItems() )
|
||||||
{
|
{
|
||||||
item->SetParent ( board()->m_Modules.GetFirst() );
|
item->SetParent ( board()->m_Modules.GetFirst() );
|
||||||
items.push_back( item );
|
items.push_back( item );
|
||||||
|
@ -871,7 +871,7 @@ int PCBNEW_CONTROL::placeBoardItems( std::vector<BOARD_ITEM*>& aItems )
|
||||||
|
|
||||||
SELECTION& selection = selectionTool->GetSelection();
|
SELECTION& selection = selectionTool->GetSelection();
|
||||||
|
|
||||||
for ( auto item : aItems )
|
for( auto item : aItems )
|
||||||
{
|
{
|
||||||
item->SetSelected();
|
item->SetSelected();
|
||||||
selection.Add( item );
|
selection.Add( item );
|
||||||
|
@ -888,7 +888,6 @@ int PCBNEW_CONTROL::placeBoardItems( std::vector<BOARD_ITEM*>& aItems )
|
||||||
|
|
||||||
int PCBNEW_CONTROL::AppendBoard( PLUGIN& pi, wxString& fileName )
|
int PCBNEW_CONTROL::AppendBoard( PLUGIN& pi, wxString& fileName )
|
||||||
{
|
{
|
||||||
|
|
||||||
PCB_EDIT_FRAME* editFrame = dynamic_cast<PCB_EDIT_FRAME*>( m_frame );
|
PCB_EDIT_FRAME* editFrame = dynamic_cast<PCB_EDIT_FRAME*>( m_frame );
|
||||||
if( !editFrame )
|
if( !editFrame )
|
||||||
return 1;
|
return 1;
|
||||||
|
|
|
@ -91,7 +91,6 @@ public:
|
||||||
void setTransitions() override;
|
void setTransitions() override;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
|
||||||
int placeBoardItems( BOARD* aBoard );
|
int placeBoardItems( BOARD* aBoard );
|
||||||
int placeBoardItems( std::vector<BOARD_ITEM*>& aItems );
|
int placeBoardItems( std::vector<BOARD_ITEM*>& aItems );
|
||||||
|
|
||||||
|
|
|
@ -592,7 +592,7 @@ bool SELECTION_TOOL::selectMultiple()
|
||||||
m_multiple = false; // Multiple selection mode is inactive
|
m_multiple = false; // Multiple selection mode is inactive
|
||||||
getViewControls()->SetAutoPan( false );
|
getViewControls()->SetAutoPan( false );
|
||||||
|
|
||||||
if ( !cancelled )
|
if( !cancelled )
|
||||||
m_selection.ClearReferencePoint();
|
m_selection.ClearReferencePoint();
|
||||||
|
|
||||||
return cancelled;
|
return cancelled;
|
||||||
|
@ -615,13 +615,11 @@ void SELECTION_TOOL::setTransitions()
|
||||||
Go( &SELECTION_TOOL::selectCopper, PCB_ACTIONS::selectCopper.MakeEvent() );
|
Go( &SELECTION_TOOL::selectCopper, PCB_ACTIONS::selectCopper.MakeEvent() );
|
||||||
Go( &SELECTION_TOOL::selectNet, PCB_ACTIONS::selectNet.MakeEvent() );
|
Go( &SELECTION_TOOL::selectNet, PCB_ACTIONS::selectNet.MakeEvent() );
|
||||||
Go( &SELECTION_TOOL::selectSameSheet, PCB_ACTIONS::selectSameSheet.MakeEvent() );
|
Go( &SELECTION_TOOL::selectSameSheet, PCB_ACTIONS::selectSameSheet.MakeEvent() );
|
||||||
|
|
||||||
Go( &SELECTION_TOOL::selectOnSheetFromEeschema, PCB_ACTIONS::selectOnSheetFromEeschema.MakeEvent() );
|
Go( &SELECTION_TOOL::selectOnSheetFromEeschema, PCB_ACTIONS::selectOnSheetFromEeschema.MakeEvent() );
|
||||||
Go( &SELECTION_TOOL::updateSelection, PCB_ACTIONS::selectionModified.MakeEvent() );
|
Go( &SELECTION_TOOL::updateSelection, PCB_ACTIONS::selectionModified.MakeEvent() );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
SELECTION_LOCK_FLAGS SELECTION_TOOL::CheckLock()
|
SELECTION_LOCK_FLAGS SELECTION_TOOL::CheckLock()
|
||||||
{
|
{
|
||||||
if( !m_locked || m_editModules )
|
if( !m_locked || m_editModules )
|
||||||
|
|
Loading…
Reference in New Issue