@ -89,6 +89,7 @@ class PCB_ONE_LAYER_SELECTOR : public PCB_LAYER_SELECTOR,
public :
public :
PCB_ONE_LAYER_SELECTOR ( PCB_BASE_FRAME * aParent , BOARD * aBrd , PCB_LAYER_ID aDefaultLayer ,
PCB_ONE_LAYER_SELECTOR ( PCB_BASE_FRAME * aParent , BOARD * aBrd , PCB_LAYER_ID aDefaultLayer ,
LSET aNotAllowedLayersMask ) ;
LSET aNotAllowedLayersMask ) ;
~ PCB_ONE_LAYER_SELECTOR ( ) ;
LAYER_NUM GetLayerSelection ( ) { return m_layerSelected ; }
LAYER_NUM GetLayerSelection ( ) { return m_layerSelected ; }
@ -97,6 +98,9 @@ private:
void OnLeftGridCellClick ( wxGridEvent & event ) override ;
void OnLeftGridCellClick ( wxGridEvent & event ) override ;
void OnRightGridCellClick ( wxGridEvent & event ) override ;
void OnRightGridCellClick ( wxGridEvent & event ) override ;
// Will close the dialog on ESC key
void onCharHook ( wxKeyEvent & event ) ;
void buildList ( ) ;
void buildList ( ) ;
} ;
} ;
@ -119,12 +123,27 @@ PCB_ONE_LAYER_SELECTOR::PCB_ONE_LAYER_SELECTOR( PCB_BASE_FRAME* aParent, BOARD*
m_rightGridLayers - > SetColFormatBool ( SELECT_COLNUM ) ;
m_rightGridLayers - > SetColFormatBool ( SELECT_COLNUM ) ;
buildList ( ) ;
buildList ( ) ;
Connect ( wxEVT_CHAR_HOOK , wxKeyEventHandler ( PCB_ONE_LAYER_SELECTOR : : onCharHook ) ) ;
Layout ( ) ;
Layout ( ) ;
GetSizer ( ) - > SetSizeHints ( this ) ;
GetSizer ( ) - > SetSizeHints ( this ) ;
SetFocus ( ) ;
SetFocus ( ) ;
}
}
PCB_ONE_LAYER_SELECTOR : : ~ PCB_ONE_LAYER_SELECTOR ( )
{
Disconnect ( wxEVT_CHAR_HOOK , wxKeyEventHandler ( PCB_ONE_LAYER_SELECTOR : : onCharHook ) ) ;
}
void PCB_ONE_LAYER_SELECTOR : : onCharHook ( wxKeyEvent & event )
{
if ( event . GetKeyCode ( ) = = WXK_ESCAPE )
Close ( ) ;
}
void PCB_ONE_LAYER_SELECTOR : : buildList ( )
void PCB_ONE_LAYER_SELECTOR : : buildList ( )
{
{
wxColour bg = getLayerColor ( LAYER_PCB_BACKGROUND ) . ToColour ( ) ;
wxColour bg = getLayerColor ( LAYER_PCB_BACKGROUND ) . ToColour ( ) ;
@ -203,8 +222,9 @@ void PCB_ONE_LAYER_SELECTOR::OnRightGridCellClick( wxGridEvent& event )
}
}
PCB_LAYER_ID PCB_BASE_FRAME : : SelectLayer ( PCB_LAYER_ID aDefaultLayer , LSET aNotAllowedLayersMask ,
wxPoint aDlgPosition )
PCB_LAYER_ID PCB_BASE_FRAME : : SelectOneLayer ( PCB_LAYER_ID aDefaultLayer ,
LSET aNotAllowedLayersMask ,
wxPoint aDlgPosition )
{
{
PCB_ONE_LAYER_SELECTOR dlg ( this , GetBoard ( ) , aDefaultLayer , aNotAllowedLayersMask ) ;
PCB_ONE_LAYER_SELECTOR dlg ( this , GetBoard ( ) , aDefaultLayer , aNotAllowedLayersMask ) ;