Shortcut for fill all and unfill all zones for GAL.

This commit is contained in:
Nick Østergaard 2014-12-08 23:41:47 +01:00 committed by Maciej Suminski
parent 834d54415f
commit 1df31338a3
4 changed files with 27 additions and 1 deletions

View File

@ -308,13 +308,17 @@ TOOL_ACTION COMMON_ACTIONS::zoneFill( "pcbnew.EditorControl.zoneFill",
"Fill", "Fill zone(s)" );
TOOL_ACTION COMMON_ACTIONS::zoneFillAll( "pcbnew.EditorControl.zoneFillAll",
AS_GLOBAL, 0,
AS_GLOBAL, int( 'B' ),
"Fill all", "Fill all zones" );
TOOL_ACTION COMMON_ACTIONS::zoneUnfill( "pcbnew.EditorControl.zoneUnfill",
AS_GLOBAL, 0,
"Unfill", "Unfill zone(s)" );
TOOL_ACTION COMMON_ACTIONS::zoneUnfillAll( "pcbnew.EditorControl.zoneUnfillAll",
AS_GLOBAL, int( 'N' ),
"Unfill all", "Unfill all zones" );
// Module editor tools
TOOL_ACTION COMMON_ACTIONS::placePad( "pcbnew.ModuleEditor.placePad",

View File

@ -195,6 +195,7 @@ public:
static TOOL_ACTION zoneFill;
static TOOL_ACTION zoneFillAll;
static TOOL_ACTION zoneUnfill;
static TOOL_ACTION zoneUnfillAll;
// Module editor tools
/// Activation of the drawing tool (placing a PAD)

View File

@ -41,6 +41,7 @@ public:
Add( COMMON_ACTIONS::zoneFill );
Add( COMMON_ACTIONS::zoneFillAll );
Add( COMMON_ACTIONS::zoneUnfill );
Add( COMMON_ACTIONS::zoneUnfillAll );
}
};
@ -219,6 +220,24 @@ int PCB_EDITOR_CONTROL::ZoneUnfill( TOOL_EVENT& aEvent )
}
int PCB_EDITOR_CONTROL::ZoneUnfillAll( TOOL_EVENT& aEvent )
{
BOARD* board = getModel<BOARD>();
for( int i = 0; i < board->GetAreaCount(); ++i )
{
ZONE_CONTAINER* zone = board->GetArea( i );
zone->SetIsFilled( false );
zone->ClearFilledPolysList();
zone->ViewUpdate();
}
setTransitions();
return 0;
}
void PCB_EDITOR_CONTROL::setTransitions()
{
// Track & via size control
@ -231,4 +250,5 @@ void PCB_EDITOR_CONTROL::setTransitions()
Go( &PCB_EDITOR_CONTROL::ZoneFill, COMMON_ACTIONS::zoneFill.MakeEvent() );
Go( &PCB_EDITOR_CONTROL::ZoneFillAll, COMMON_ACTIONS::zoneFillAll.MakeEvent() );
Go( &PCB_EDITOR_CONTROL::ZoneUnfill, COMMON_ACTIONS::zoneUnfill.MakeEvent() );
Go( &PCB_EDITOR_CONTROL::ZoneUnfillAll, COMMON_ACTIONS::zoneUnfillAll.MakeEvent() );
}

View File

@ -55,6 +55,7 @@ public:
int ZoneFill( TOOL_EVENT& aEvent );
int ZoneFillAll( TOOL_EVENT& aEvent );
int ZoneUnfill( TOOL_EVENT& aEvent );
int ZoneUnfillAll( TOOL_EVENT& aEvent );
private:
///> Sets up handlers for various events.