Add zone duplication to pcbnew.
This commit is contained in:
parent
e936d3c13a
commit
e7817f3e84
|
@ -467,6 +467,24 @@ void PCB_EDIT_FRAME::Process_Special_Functions( wxCommandEvent& event )
|
||||||
SetCurItem( NULL ); // Outlines can have changed
|
SetCurItem( NULL ); // Outlines can have changed
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case ID_POPUP_PCB_ZONE_DUPLICATE:
|
||||||
|
{
|
||||||
|
ZONE_CONTAINER* zone = (ZONE_CONTAINER*) GetCurItem();
|
||||||
|
ZONE_CONTAINER* newZone = new ZONE_CONTAINER( m_Pcb );
|
||||||
|
newZone->Copy( zone );
|
||||||
|
ZONE_SETTINGS zoneSettings;
|
||||||
|
zoneSettings << *zone;
|
||||||
|
if( InvokeCopperZonesEditor( this, &zoneSettings ) )
|
||||||
|
{
|
||||||
|
zoneSettings.ExportSetting( *newZone );
|
||||||
|
m_Pcb->Add( newZone );
|
||||||
|
newZone->Draw( m_canvas, &dc, GR_OR );
|
||||||
|
}
|
||||||
|
else
|
||||||
|
delete newZone;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
|
||||||
case ID_POPUP_PCB_ZONE_ADD_SIMILAR_ZONE:
|
case ID_POPUP_PCB_ZONE_ADD_SIMILAR_ZONE:
|
||||||
m_canvas->MoveCursorToCrossHair();
|
m_canvas->MoveCursorToCrossHair();
|
||||||
m_canvas->SetAutoPanRequest( true );
|
m_canvas->SetAutoPanRequest( true );
|
||||||
|
|
|
@ -621,6 +621,9 @@ void PCB_EDIT_FRAME::createPopUpMenuForZones( ZONE_CONTAINER* edge_zone, wxMenu*
|
||||||
}
|
}
|
||||||
|
|
||||||
zones_menu->AppendSeparator();
|
zones_menu->AppendSeparator();
|
||||||
|
AddMenuItem( zones_menu, ID_POPUP_PCB_ZONE_DUPLICATE,
|
||||||
|
_( "Duplicate Zone" ), KiBitmap( add_zone_xpm ) );
|
||||||
|
|
||||||
AddMenuItem( zones_menu, ID_POPUP_PCB_ZONE_ADD_SIMILAR_ZONE,
|
AddMenuItem( zones_menu, ID_POPUP_PCB_ZONE_ADD_SIMILAR_ZONE,
|
||||||
_( "Add Similar Zone" ), KiBitmap( add_zone_xpm ) );
|
_( "Add Similar Zone" ), KiBitmap( add_zone_xpm ) );
|
||||||
|
|
||||||
|
|
|
@ -92,6 +92,7 @@ enum pcbnew_ids
|
||||||
ID_POPUP_PCB_FILL_ALL_ZONES,
|
ID_POPUP_PCB_FILL_ALL_ZONES,
|
||||||
ID_POPUP_PCB_FILL_ZONE,
|
ID_POPUP_PCB_FILL_ZONE,
|
||||||
ID_POPUP_PCB_DELETE_ZONE_CONTAINER,
|
ID_POPUP_PCB_DELETE_ZONE_CONTAINER,
|
||||||
|
ID_POPUP_PCB_ZONE_DUPLICATE,
|
||||||
ID_POPUP_PCB_ZONE_ADD_SIMILAR_ZONE,
|
ID_POPUP_PCB_ZONE_ADD_SIMILAR_ZONE,
|
||||||
ID_POPUP_PCB_ZONE_ADD_CUTOUT_ZONE,
|
ID_POPUP_PCB_ZONE_ADD_CUTOUT_ZONE,
|
||||||
ID_POPUP_PCB_DELETE_ZONE_CUTOUT,
|
ID_POPUP_PCB_DELETE_ZONE_CUTOUT,
|
||||||
|
|
Loading…
Reference in New Issue