UNIT_BINDERize and simplify Layers Setup dialog.

The colours don't add much in the way of comprehension and they
do add visual complexity.  Same for the labels at the top of
the layers list box.

Also improved the grouping to make the presets aciton more clear.

(cherry picked from commit 1a03e13)
This commit is contained in:
Jeff Young 2018-05-30 16:21:14 +01:00
parent a7b3fac7b5
commit cae249bbb8
4 changed files with 14368 additions and 19618 deletions

View File

@ -26,14 +26,12 @@
#include <fctsys.h>
#include <macros.h>
#include <confirm.h>
#include <pcbnew.h>
#include <pcb_edit_frame.h>
#include <view/view.h>
#include <widgets/unit_binder.h>
#include <invoke_pcb_dialog.h>
#include <class_board.h>
#include <collectors.h>
@ -52,19 +50,16 @@
*/
struct CTLs
{
CTLs( wxControl* aName, wxCheckBox* aCheckBox, wxControl* aChoiceOrDesc,
wxPanel* aPanel = NULL )
CTLs( wxControl* aName, wxCheckBox* aCheckBox, wxControl* aChoiceOrDesc )
{
name = aName;
checkbox = aCheckBox;
choice = aChoiceOrDesc;
panel = aPanel;
}
wxControl* name;
wxCheckBox* checkbox;
wxControl* choice;
wxPanel * panel;
};
@ -144,14 +139,11 @@ private:
BOARD* m_pcb;
wxStaticText* m_nameStaticText;
wxStaticText* m_enabledStaticText;
wxStaticText* m_typeStaticText;
UNIT_BINDER m_pcbThickness;
void setLayerCheckBox( LAYER_NUM layer, bool isChecked );
void setCopperLayerCheckBoxes( int copperCount );
// Force mandatory non copper layers enabled
void setStateMandatoryLayerCheckBoxes();
void setMandatoryLayerCheckBoxes();
void showCopperChoice( int copperCount );
void showBoardLayerNames();
@ -204,30 +196,6 @@ private:
{
return (wxChoice*) getCTLs( aLayer ).choice;
}
void moveTitles()
{
wxArrayInt widths = m_LayerListFlexGridSizer->GetColWidths();
int offset = 0;
wxSize txtz;
wxSize panel_sz = m_TitlePanel->GetSize();
int voffset = panel_sz.y/2 - VertPixelsFromDU( 4 );
txtz = m_nameStaticText->GetSize();
m_nameStaticText->Move( offset + (widths[0] - txtz.x)/2, voffset );
offset += widths[0];
txtz = m_enabledStaticText->GetSize();
m_enabledStaticText->Move( offset + (widths[1] - txtz.x)/2, voffset );
offset += widths[1];
txtz = m_typeStaticText->GetSize();
m_typeStaticText->Move( offset + (widths[2] - txtz.x)/2, voffset );
}
void OnSize( wxSizeEvent& event ) override;
};
@ -259,77 +227,79 @@ static const LSET presets[] =
CTLs DIALOG_LAYERS_SETUP::getCTLs( LAYER_NUM aLayerNumber )
{
#define RETCOP(x) return CTLs( x##Name, x##CheckBox, x##Choice, x##Panel );
#define RETAUX(x) return CTLs( x##Name, x##CheckBox, x##StaticText, x##Panel );
#define RETURN_COPPER(x) return CTLs( x##Name, x##CheckBox, x##Choice )
#define RETURN_AUX(x) return CTLs( x##Name, x##CheckBox, x##StaticText )
switch( aLayerNumber )
{
case F_CrtYd: RETAUX( m_CrtYdFront );
case F_Fab: RETAUX( m_FabFront );
case F_Adhes: RETAUX( m_AdhesFront );
case F_Paste: RETAUX( m_SoldPFront );
case F_SilkS: RETAUX( m_SilkSFront );
case F_Mask: RETAUX( m_MaskFront );
case F_Cu: RETCOP( m_Front );
case F_CrtYd: RETURN_AUX( m_CrtYdFront );
case F_Fab: RETURN_AUX( m_FabFront );
case F_Adhes: RETURN_AUX( m_AdhesFront );
case F_Paste: RETURN_AUX( m_SoldPFront );
case F_SilkS: RETURN_AUX( m_SilkSFront );
case F_Mask: RETURN_AUX( m_MaskFront );
case F_Cu: RETURN_COPPER( m_Front );
case In1_Cu: RETCOP( m_In1 );
case In2_Cu: RETCOP( m_In2 );
case In3_Cu: RETCOP( m_In3 );
case In4_Cu: RETCOP( m_In4 );
case In5_Cu: RETCOP( m_In5 );
case In6_Cu: RETCOP( m_In6 );
case In7_Cu: RETCOP( m_In7 );
case In8_Cu: RETCOP( m_In8 );
case In9_Cu: RETCOP( m_In9 );
case In10_Cu: RETCOP( m_In10 );
case In11_Cu: RETCOP( m_In11 );
case In12_Cu: RETCOP( m_In12 );
case In13_Cu: RETCOP( m_In13 );
case In14_Cu: RETCOP( m_In14 );
case In15_Cu: RETCOP( m_In15 );
case In1_Cu: RETURN_COPPER( m_In1 );
case In2_Cu: RETURN_COPPER( m_In2 );
case In3_Cu: RETURN_COPPER( m_In3 );
case In4_Cu: RETURN_COPPER( m_In4 );
case In5_Cu: RETURN_COPPER( m_In5 );
case In6_Cu: RETURN_COPPER( m_In6 );
case In7_Cu: RETURN_COPPER( m_In7 );
case In8_Cu: RETURN_COPPER( m_In8 );
case In9_Cu: RETURN_COPPER( m_In9 );
case In10_Cu: RETURN_COPPER( m_In10 );
case In11_Cu: RETURN_COPPER( m_In11 );
case In12_Cu: RETURN_COPPER( m_In12 );
case In13_Cu: RETURN_COPPER( m_In13 );
case In14_Cu: RETURN_COPPER( m_In14 );
case In15_Cu: RETURN_COPPER( m_In15 );
case In16_Cu: RETCOP( m_In16 );
case In17_Cu: RETCOP( m_In17 );
case In18_Cu: RETCOP( m_In18 );
case In19_Cu: RETCOP( m_In19 );
case In20_Cu: RETCOP( m_In20 );
case In21_Cu: RETCOP( m_In21 );
case In22_Cu: RETCOP( m_In22 );
case In23_Cu: RETCOP( m_In23 );
case In24_Cu: RETCOP( m_In24 );
case In25_Cu: RETCOP( m_In25 );
case In26_Cu: RETCOP( m_In26 );
case In27_Cu: RETCOP( m_In27 );
case In28_Cu: RETCOP( m_In28 );
case In29_Cu: RETCOP( m_In29 );
case In30_Cu: RETCOP( m_In30 );
case In16_Cu: RETURN_COPPER( m_In16 );
case In17_Cu: RETURN_COPPER( m_In17 );
case In18_Cu: RETURN_COPPER( m_In18 );
case In19_Cu: RETURN_COPPER( m_In19 );
case In20_Cu: RETURN_COPPER( m_In20 );
case In21_Cu: RETURN_COPPER( m_In21 );
case In22_Cu: RETURN_COPPER( m_In22 );
case In23_Cu: RETURN_COPPER( m_In23 );
case In24_Cu: RETURN_COPPER( m_In24 );
case In25_Cu: RETURN_COPPER( m_In25 );
case In26_Cu: RETURN_COPPER( m_In26 );
case In27_Cu: RETURN_COPPER( m_In27 );
case In28_Cu: RETURN_COPPER( m_In28 );
case In29_Cu: RETURN_COPPER( m_In29 );
case In30_Cu: RETURN_COPPER( m_In30 );
case B_Cu: RETCOP( m_Back );
case B_Mask: RETAUX( m_MaskBack );
case B_SilkS: RETAUX( m_SilkSBack );
case B_Paste: RETAUX( m_SoldPBack );
case B_Adhes: RETAUX( m_AdhesBack );
case B_Fab: RETAUX( m_FabBack );
case B_CrtYd: RETAUX( m_CrtYdBack );
case B_Cu: RETURN_COPPER( m_Back );
case B_Mask: RETURN_AUX( m_MaskBack );
case B_SilkS: RETURN_AUX( m_SilkSBack );
case B_Paste: RETURN_AUX( m_SoldPBack );
case B_Adhes: RETURN_AUX( m_AdhesBack );
case B_Fab: RETURN_AUX( m_FabBack );
case B_CrtYd: RETURN_AUX( m_CrtYdBack );
case Edge_Cuts: RETAUX( m_PCBEdges );
case Margin: RETAUX( m_Margin );
case Eco2_User: RETAUX( m_Eco2 );
case Eco1_User: RETAUX( m_Eco1 );
case Cmts_User: RETAUX( m_Comments );
case Dwgs_User: RETAUX( m_Drawings );
case Edge_Cuts: RETURN_AUX( m_PCBEdges );
case Margin: RETURN_AUX( m_Margin );
case Eco2_User: RETURN_AUX( m_Eco2 );
case Eco1_User: RETURN_AUX( m_Eco1 );
case Cmts_User: RETURN_AUX( m_Comments );
case Dwgs_User: RETURN_AUX( m_Drawings );
default:
wxASSERT_MSG( 0, wxT( "bad layer id" ) );
return CTLs( 0, 0, 0 );
return CTLs( nullptr, nullptr, nullptr );
}
#undef RETCOP
#undef RETAUX
#undef RETURN_COPPER
#undef RETURN_AUX
}
DIALOG_LAYERS_SETUP::DIALOG_LAYERS_SETUP( PCB_EDIT_FRAME* aParent, BOARD* aBoard ) :
DIALOG_LAYERS_SETUP_BASE( aParent )
DIALOG_LAYERS_SETUP_BASE( aParent ),
m_pcbThickness( aParent, m_thicknessLabel, m_thicknessCtrl, m_thicknessUnits, true,
Millimeter2iu( 0.1 ), Millimeter2iu( 10.0 ) )
{
m_pcb = aBoard;
@ -337,18 +307,6 @@ DIALOG_LAYERS_SETUP::DIALOG_LAYERS_SETUP( PCB_EDIT_FRAME* aParent, BOARD* aBoard
m_enabledLayers = m_pcb->GetEnabledLayers();
SetAutoLayout( true );
// these 3 controls are handled outside wxformbuilder so that we can add
// them without a sizer. Then we position them manually based on the column
// widths from m_LayerListFlexGridSizer->GetColWidths()
m_nameStaticText = new wxStaticText( m_TitlePanel, wxID_ANY, _( "Name" ),
wxDefaultPosition, wxDefaultSize, 0 );
m_enabledStaticText = new wxStaticText( m_TitlePanel, wxID_ANY, _( "Enabled" ),
wxDefaultPosition, wxDefaultSize, 0 );
m_typeStaticText = new wxStaticText( m_TitlePanel, wxID_ANY, _( "Type" ),
wxDefaultPosition, wxDefaultSize, 0 );
}
@ -356,19 +314,13 @@ void DIALOG_LAYERS_SETUP::OnInitDialog( wxInitDialogEvent& aEvent )
{
wxWindowBase::OnInitDialog( aEvent );
m_TitlePanel->SetMinSize( wxSize( -1, VertPixelsFromDU( 10 ) ) );
m_LayersListPanel->ShowScrollbars( wxSHOW_SB_ALWAYS, wxSHOW_SB_ALWAYS );
Layout();
SetSizeInDU( 240, 240 );
Center();
m_sdbSizerOK->SetFocus();
SetInitialFocus( m_PresetsChoice );
m_sdbSizerOK->SetDefault();
// OnSize() will fix the title spacing.
QueueEvent( new wxSizeEvent( GetSize() ) );
Layout();
FinishDialogSettings();
}
@ -379,15 +331,13 @@ bool DIALOG_LAYERS_SETUP::TransferDataToWindow()
showCopperChoice( m_copperLayerCount );
setCopperLayerCheckBoxes( m_copperLayerCount );
m_staticTextBrdThicknessUnit->SetLabel( GetAbbreviatedUnitsLabel( g_UserUnit ) );
PutValueInLocalUnits( *m_textCtrlBrdThickness,
m_pcb->GetDesignSettings().GetBoardThickness() );
m_pcbThickness.SetValue( m_pcb->GetDesignSettings().GetBoardThickness() );
showBoardLayerNames();
showSelectedLayerCheckBoxes( m_enabledLayers );
showPresets( m_enabledLayers );
showLayerTypes();
setStateMandatoryLayerCheckBoxes();
setMandatoryLayerCheckBoxes();
// All widgets are now initialized. Fix the min sizes:
GetSizer()->SetSizeHints( this );
@ -396,26 +346,10 @@ bool DIALOG_LAYERS_SETUP::TransferDataToWindow()
}
void DIALOG_LAYERS_SETUP::setStateMandatoryLayerCheckBoxes()
void DIALOG_LAYERS_SETUP::setMandatoryLayerCheckBoxes()
{
int layerList[4] =
{
F_CrtYd, B_CrtYd, Edge_Cuts, Margin
};
for( int ii = 0; ii < 4; ii++ )
{
setLayerCheckBox( layerList[ii], true );
getCheckBox( layerList[ii] )->Enable( false ); // do not allow changes
}
}
void DIALOG_LAYERS_SETUP::OnSize( wxSizeEvent& event )
{
moveTitles();
event.Skip();
Refresh();
for( int layer : { F_CrtYd, B_CrtYd, Edge_Cuts, Margin } )
setLayerCheckBox( layer, true );
}
@ -442,26 +376,22 @@ void DIALOG_LAYERS_SETUP::showCopperChoice( int copperCount )
void DIALOG_LAYERS_SETUP::showBoardLayerNames()
{
// Establish all the board's layer names into the dialog presentation, by
// obtaining them from BOARD::GetLayerName() which calls
// BOARD::GetStandardLayerName() for non-coppers.
// Set all the board's layer names into the dialog by calling BOARD::GetLayerName(),
// which will call BOARD::GetStandardLayerName() for non-coppers.
for( LSEQ seq = dlg_layers(); seq; ++seq )
{
PCB_LAYER_ID layer = *seq;
wxControl* ctl = getName( layer );
wxASSERT( ctl );
wxControl* ctl = getName( layer );
if( ctl )
{
wxString lname = m_pcb->GetLayerName( layer );
if( ctl->IsKindOf( CLASSINFO( wxTextCtrl ) ) )
((wxTextCtrl*)ctl)->SetValue( lname ); // wxTextCtrl
if( dynamic_cast<wxTextCtrl*>( ctl ) )
dynamic_cast<wxTextCtrl*>( ctl )->SetValue( lname ); // wxTextCtrl
else
ctl->SetLabel( lname ); // wxStaticText
ctl->SetLabel( lname ); // wxStaticText
}
}
}
@ -513,13 +443,11 @@ LSET DIALOG_LAYERS_SETUP::getUILayerMask()
for( LSEQ seq = dlg_layers(); seq; ++seq )
{
PCB_LAYER_ID layer = *seq;
wxCheckBox* ctl = getCheckBox( layer );
PCB_LAYER_ID layer = *seq;
wxCheckBox* ctl = getCheckBox( layer );
if( ctl->GetValue() )
{
layerMaskResult.set( layer );
}
}
return layerMaskResult;
@ -528,8 +456,8 @@ LSET DIALOG_LAYERS_SETUP::getUILayerMask()
void DIALOG_LAYERS_SETUP::setLayerCheckBox( LAYER_NUM aLayer, bool isChecked )
{
wxCheckBox* ctl = getCheckBox( aLayer );
ctl->SetValue( isChecked );
wxCheckBox* ctl = getCheckBox( aLayer );
ctl->SetValue( isChecked );
}
@ -560,9 +488,6 @@ void DIALOG_LAYERS_SETUP::setCopperLayerCheckBoxes( int copperCount )
ctl.name->Show( state );
ctl.checkbox->Show( state );
ctl.choice->Show( state );
if( ctl.panel )
ctl.panel->Show( state );
#endif
setLayerCheckBox( layer, state );
@ -587,13 +512,39 @@ void DIALOG_LAYERS_SETUP::OnCheckBox( wxCommandEvent& event )
void DIALOG_LAYERS_SETUP::DenyChangeCheckBox( wxCommandEvent& event )
{
// user may not change copper layer checkboxes from anything other than
// either presets choice or the copper layer choice controls.
wxObject* source = event.GetEventObject();
if( dynamic_cast<wxCheckBox*>( source ) )
{
wxCheckBox* cb = dynamic_cast<wxCheckBox*>( source );
// I tried to simply disable the copper CheckBoxes but they look like crap,
// so leave them enabled and reverse the user's attempt to toggle them.
for( LSEQ seq = LSET::AllCuMask().Seq(); seq; ++seq )
{
wxCheckBox* candidate = getCheckBox( *seq );
setCopperLayerCheckBoxes( m_copperLayerCount );
if( candidate == cb )
{
wxString ctrlLabel = m_staticTextCopperLayers->GetLabel();
DisplayError( this, wxString::Format( _( "Use the \"%s\" control to change \n"
"the number of copper layers." ),
ctrlLabel.substr( 0, ctrlLabel.size() - 1 ) ) );
cb->SetValue( true );
return;
}
}
for( int layer : { F_CrtYd, B_CrtYd, Edge_Cuts, Margin } )
{
wxCheckBox* candidate = getCheckBox( layer );
if( candidate == cb )
{
DisplayError( this, wxString::Format( _( "The %s layer is mandatory." ),
getLayerName( layer ) ) );
cb->SetValue( true );
return;
}
}
}
}
@ -617,7 +568,7 @@ void DIALOG_LAYERS_SETUP::OnPresetsChoice( wxCommandEvent& event )
}
// Ensure mandatory layers are activated
setStateMandatoryLayerCheckBoxes();
setMandatoryLayerCheckBoxes();
}
@ -635,18 +586,12 @@ bool DIALOG_LAYERS_SETUP::TransferDataFromWindow()
if( !wxWindow::TransferDataFromWindow() || !testLayerNames() )
return false;
if( !m_pcbThickness.Validate( true ) )
return false;
wxString msg;
// Make sure the board thickness is sane.
int thickness = ValueFromTextCtrl( *m_textCtrlBrdThickness );
if( thickness < Millimeter2iu( 0.1 ) || thickness > Millimeter2iu( 10.0 ) )
{
msg.Printf( _( "Board thickness %s is out of range." ),
StringFromValue( g_UserUnit, thickness, true ) );
DisplayError( this, msg );
return false;
}
int thickness = m_pcbThickness.GetValue();
// Check for removed layers with items which will get deleted from the board.
LSEQ removedLayers = getRemovedLayersWithItems();
@ -750,12 +695,12 @@ int DIALOG_LAYERS_SETUP::getLayerTypeIndex( LAYER_NUM aLayer )
wxString DIALOG_LAYERS_SETUP::getLayerName( LAYER_NUM aLayer )
{
wxString ret;
wxASSERT( IsCopperLayer( aLayer ) );
wxTextCtrl* ctl = (wxTextCtrl*) getName( aLayer );
ret = ctl->GetValue().Trim();
wxControl* control = getName( aLayer );
return ret;
if( dynamic_cast<wxTextCtrl*>( control ) )
return dynamic_cast<wxTextCtrl*>( control )->GetValue().Trim();
else
return dynamic_cast<wxStaticText*>( control )->GetLabel();
}

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -1,5 +1,5 @@
///////////////////////////////////////////////////////////////////////////
// C++ code generated with wxFormBuilder (version Apr 19 2018)
// C++ code generated with wxFormBuilder (version Dec 30 2017)
// http://www.wxformbuilder.org/
//
// PLEASE DO *NOT* EDIT THIS FILE!
@ -20,8 +20,8 @@
#include <wx/settings.h>
#include <wx/choice.h>
#include <wx/sizer.h>
#include <wx/statline.h>
#include <wx/textctrl.h>
#include <wx/panel.h>
#include <wx/checkbox.h>
#include <wx/scrolwin.h>
#include <wx/button.h>
@ -29,153 +29,153 @@
///////////////////////////////////////////////////////////////////////////
#define ID_CRTYDFRONTNAME 1000
#define ID_CRTYDFRONTCHECKBOX 1001
#define ID_CRTYDFRONTCHECKBOX 1000
#define ID_CRTYDFRONTNAME 1001
#define ID_CRTYDFRONTCHOICE 1002
#define ID_FABFRONTNAME 1003
#define ID_FABFRONTCHECKBOX 1004
#define ID_FABFRONTCHECKBOX 1003
#define ID_FABFRONTNAME 1004
#define ID_FABFRONTCHOICE 1005
#define ID_ADHESFRONTNAME 1006
#define ID_ADHESFRONTCHECKBOX 1007
#define ID_ADHESFRONTCHECKBOX 1006
#define ID_ADHESFRONTNAME 1007
#define ID_ADHESFRONTCHOICE 1008
#define ID_SOLDPFRONTNAME 1009
#define ID_SOLDPFRONTCHECKBOX 1010
#define ID_SOLDPFRONTCHECKBOX 1009
#define ID_SOLDPFRONTNAME 1010
#define ID_SOLDPFRONTCHOICE 1011
#define ID_SILKSFRONTNAME 1012
#define ID_SILKSFRONTCHECKBOX 1013
#define ID_SILKSFRONTCHECKBOX 1012
#define ID_SILKSFRONTNAME 1013
#define ID_SILKSFRONTCHOICE 1014
#define ID_MASKFRONTNAME 1015
#define ID_MASKFRONTCHECKBOX 1016
#define ID_MASKFRONTCHECKBOX 1015
#define ID_MASKFRONTNAME 1016
#define ID_MASKFRONTCHOICE 1017
#define ID_FRONTNAME 1018
#define ID_FRONTCHECKBOX 1019
#define ID_FRONTCHECKBOX 1018
#define ID_FRONTNAME 1019
#define ID_FRONTCHOICE 1020
#define ID_IN1NAME 1021
#define ID_IN1CHECKBOX 1022
#define ID_IN1CHECKBOX 1021
#define ID_IN1NAME 1022
#define ID_IN1CHOICE 1023
#define ID_IN2NAME 1024
#define ID_IN2CHECKBOX 1025
#define ID_IN2CHECKBOX 1024
#define ID_IN2NAME 1025
#define ID_IN2CHOICE 1026
#define ID_IN3NAME 1027
#define ID_IN3CHECKBOX 1028
#define ID_IN3CHECKBOX 1027
#define ID_IN3NAME 1028
#define ID_IN3CHOICE 1029
#define ID_IN4NAME 1030
#define ID_IN4CHECKBOX 1031
#define ID_IN4CHECKBOX 1030
#define ID_IN4NAME 1031
#define ID_IN4CHOICE 1032
#define ID_IN5NAME 1033
#define ID_IN5CHECKBOX 1034
#define ID_IN5CHECKBOX 1033
#define ID_IN5NAME 1034
#define ID_IN5CHOICE 1035
#define ID_IN6NAME 1036
#define ID_IN6CHECKBOX 1037
#define ID_IN6CHECKBOX 1036
#define ID_IN6NAME 1037
#define ID_IN6CHOICE 1038
#define ID_IN7NAME 1039
#define ID_IN7CHECKBOX 1040
#define ID_IN7CHECKBOX 1039
#define ID_IN7NAME 1040
#define ID_IN7CHOICE 1041
#define ID_IN8NAME 1042
#define ID_IN8CHECKBOX 1043
#define ID_IN8CHECKBOX 1042
#define ID_IN8NAME 1043
#define ID_IN8CHOICE 1044
#define ID_IN9NAME 1045
#define ID_IN9CHECKBOX 1046
#define ID_IN9CHECKBOX 1045
#define ID_IN9NAME 1046
#define ID_IN9CHOICE 1047
#define ID_IN10NAME 1048
#define ID_IN10CHECKBOX 1049
#define ID_IN10CHECKBOX 1048
#define ID_IN10NAME 1049
#define ID_IN10CHOICE 1050
#define ID_IN11NAME 1051
#define ID_IN11CHECKBOX 1052
#define ID_IN11CHECKBOX 1051
#define ID_IN11NAME 1052
#define ID_IN11CHOICE 1053
#define ID_IN12NAME 1054
#define ID_IN12CHECKBOX 1055
#define ID_IN12CHECKBOX 1054
#define ID_IN12NAME 1055
#define ID_IN12CHOICE 1056
#define ID_IN13NAME 1057
#define ID_IN13CHECKBOX 1058
#define ID_IN13CHECKBOX 1057
#define ID_IN13NAME 1058
#define ID_IN13CHOICE 1059
#define ID_IN14NAME 1060
#define ID_IN14CHECKBOX 1061
#define ID_IN14CHECKBOX 1060
#define ID_IN14NAME 1061
#define ID_IN14CHOICE 1062
#define ID_IN15NAME 1063
#define ID_IN15CHECKBOX 1064
#define ID_IN15CHECKBOX 1063
#define ID_IN15NAME 1064
#define ID_IN15CHOICE 1065
#define ID_IN16NAME 1066
#define ID_IN16CHECKBOX 1067
#define ID_IN16CHECKBOX 1066
#define ID_IN16NAME 1067
#define ID_IN16CHOICE 1068
#define ID_IN17NAME 1069
#define ID_IN17CHECKBOX 1070
#define ID_IN17CHECKBOX 1069
#define ID_IN17NAME 1070
#define ID_IN17CHOICE 1071
#define ID_IN18NAME 1072
#define ID_IN18CHECKBOX 1073
#define ID_IN18CHECKBOX 1072
#define ID_IN18NAME 1073
#define ID_IN18CHOICE 1074
#define ID_IN19NAME 1075
#define ID_IN19CHECKBOX 1076
#define ID_IN19CHECKBOX 1075
#define ID_IN19NAME 1076
#define ID_IN19CHOICE 1077
#define ID_IN20NAME 1078
#define ID_IN20CHECKBOX 1079
#define ID_IN20CHECKBOX 1078
#define ID_IN20NAME 1079
#define ID_IN20CHOICE 1080
#define ID_IN21NAME 1081
#define ID_IN21CHECKBOX 1082
#define ID_IN21CHECKBOX 1081
#define ID_IN21NAME 1082
#define ID_IN21CHOICE 1083
#define ID_IN22NAME 1084
#define ID_IN22CHECKBOX 1085
#define ID_IN22CHECKBOX 1084
#define ID_IN22NAME 1085
#define ID_IN22CHOICE 1086
#define ID_IN23NAME 1087
#define ID_IN23CHECKBOX 1088
#define ID_IN24NAME 1089
#define ID_IN24CHECKBOX 1090
#define ID_IN23CHECKBOX 1087
#define ID_IN23NAME 1088
#define ID_IN24CHECKBOX 1089
#define ID_IN24NAME 1090
#define ID_IN24CHOICE 1091
#define ID_IN25NAME 1092
#define ID_IN25CHECKBOX 1093
#define ID_IN25CHECKBOX 1092
#define ID_IN25NAME 1093
#define ID_IN25CHOICE 1094
#define ID_IN26NAME 1095
#define ID_IN26CHECKBOX 1096
#define ID_IN26CHECKBOX 1095
#define ID_IN26NAME 1096
#define ID_IN26CHOICE 1097
#define ID_IN27NAME 1098
#define ID_IN27CHECKBOX 1099
#define ID_IN27CHECKBOX 1098
#define ID_IN27NAME 1099
#define ID_IN27CHOICE 1100
#define ID_IN28NAME 1101
#define ID_IN28CHECKBOX 1102
#define ID_IN28CHECKBOX 1101
#define ID_IN28NAME 1102
#define ID_IN28CHOICE 1103
#define ID_IN29NAME 1104
#define ID_IN29CHECKBOX 1105
#define ID_IN29CHECKBOX 1104
#define ID_IN29NAME 1105
#define ID_IN29CHOICE 1106
#define ID_IN30NAME 1107
#define ID_IN30CHECKBOX 1108
#define ID_IN30CHECKBOX 1107
#define ID_IN30NAME 1108
#define ID_IN30CHOICE 1109
#define ID_BACKNAME 1110
#define ID_BACKCHECKBOX 1111
#define ID_BACKCHECKBOX 1110
#define ID_BACKNAME 1111
#define ID_BACKCHOICE 1112
#define ID_MASKBACKNAME 1113
#define ID_MASKBACKCHECKBOX 1114
#define ID_MASKBACKCHECKBOX 1113
#define ID_MASKBACKNAME 1114
#define ID_MASKBACKCHOICE 1115
#define ID_SILKSBACKNAME 1116
#define ID_SILKSBACKCHECKBOX 1117
#define ID_SILKSBACKCHECKBOX 1116
#define ID_SILKSBACKNAME 1117
#define ID_SILKSBACKCHOICE 1118
#define ID_SOLDPBACKNAME 1119
#define ID_SOLDPBACKCHECKBOX 1120
#define ID_SOLDPBACKCHECKBOX 1119
#define ID_SOLDPBACKNAME 1120
#define ID_SOLDPBACKCHOICE 1121
#define ID_ADHESBACKNAME 1122
#define ID_ADHESBACKCHECKBOX 1123
#define ID_ADHESBACKCHECKBOX 1122
#define ID_ADHESBACKNAME 1123
#define ID_ADHESBACKCHOICE 1124
#define ID_FABBACKNAME 1125
#define ID_FABBACKCHECKBOX 1126
#define ID_FABBACKCHECKBOX 1125
#define ID_FABBACKNAME 1126
#define ID_FABBACKCHOICE 1127
#define ID_CRTYDBACKNAME 1128
#define ID_CRTYDBACKCHECKBOX 1129
#define ID_CRTYDBACKCHECKBOX 1128
#define ID_CRTYDBACKNAME 1129
#define ID_CRTYDBACKCHOICE 1130
#define ID_PCBEDGESNAME 1131
#define ID_PCBEDGESCHECKBOX 1132
#define ID_PCBEDGESCHECKBOX 1131
#define ID_PCBEDGESNAME 1132
#define ID_PCBEDGESCHOICE 1133
#define ID_MARGINNAME 1134
#define ID_MARGINCHECKBOX 1135
#define ID_MARGINCHECKBOX 1134
#define ID_MARGINNAME 1135
#define ID_ECO2CHOICE 1136
#define ID_ECO2NAME 1137
#define ID_ECO2CHECKBOX 1138
#define ID_ECO1NAME 1139
#define ID_ECO1CHECKBOX 1140
#define ID_ECO2CHECKBOX 1137
#define ID_ECO2NAME 1138
#define ID_ECO1CHECKBOX 1139
#define ID_ECO1NAME 1140
#define ID_ECO1CHOICE 1141
#define ID_COMMENTSNAME 1142
#define ID_COMMENTSCHECKBOX 1143
#define ID_COMMENTSCHECKBOX 1142
#define ID_COMMENTSNAME 1143
#define ID_COMMENTSCHOICE 1144
#define ID_DRAWINGSNAME 1145
#define ID_DRAWINGSCHECKBOX 1146
#define ID_DRAWINGSCHECKBOX 1145
#define ID_DRAWINGSNAME 1146
#define ID_DRAWINGSCHOICE 1147
///////////////////////////////////////////////////////////////////////////////
@ -188,214 +188,163 @@ class DIALOG_LAYERS_SETUP_BASE : public DIALOG_SHIM
protected:
wxStaticText* m_staticTextGrouping;
wxChoice* m_PresetsChoice;
wxStaticLine* m_staticline1;
wxStaticText* m_staticTextCopperLayers;
wxChoice* m_CopperLayersChoice;
wxStaticText* m_staticTextBrdThickness;
wxTextCtrl* m_textCtrlBrdThickness;
wxStaticText* m_staticTextBrdThicknessUnit;
wxStaticText* m_staticTextLayers;
wxPanel* m_TitlePanel;
wxStaticText* m_thicknessLabel;
wxTextCtrl* m_thicknessCtrl;
wxStaticText* m_thicknessUnits;
wxScrolledWindow* m_LayersListPanel;
wxFlexGridSizer* m_LayerListFlexGridSizer;
wxStaticText* m_CrtYdFrontName;
wxPanel* m_CrtYdFrontPanel;
wxCheckBox* m_CrtYdFrontCheckBox;
wxStaticText* m_CrtYdFrontName;
wxStaticText* m_CrtYdFrontStaticText;
wxStaticText* m_FabFrontName;
wxPanel* m_FabFrontPanel;
wxCheckBox* m_FabFrontCheckBox;
wxStaticText* m_FabFrontName;
wxStaticText* m_FabFrontStaticText;
wxStaticText* m_AdhesFrontName;
wxPanel* m_AdhesFrontPanel;
wxCheckBox* m_AdhesFrontCheckBox;
wxStaticText* m_AdhesFrontName;
wxStaticText* m_AdhesFrontStaticText;
wxStaticText* m_SoldPFrontName;
wxPanel* m_SoldPFrontPanel;
wxCheckBox* m_SoldPFrontCheckBox;
wxStaticText* m_SoldPFrontName;
wxStaticText* m_SoldPFrontStaticText;
wxStaticText* m_SilkSFrontName;
wxPanel* m_SilkSFrontPanel;
wxCheckBox* m_SilkSFrontCheckBox;
wxStaticText* m_SilkSFrontName;
wxStaticText* m_SilkSFrontStaticText;
wxStaticText* m_MaskFrontName;
wxPanel* m_MaskFrontPanel;
wxCheckBox* m_MaskFrontCheckBox;
wxStaticText* m_MaskFrontName;
wxStaticText* m_MaskFrontStaticText;
wxTextCtrl* m_FrontName;
wxPanel* m_FrontPanel;
wxCheckBox* m_FrontCheckBox;
wxTextCtrl* m_FrontName;
wxChoice* m_FrontChoice;
wxTextCtrl* m_In1Name;
wxPanel* m_In1Panel;
wxCheckBox* m_In1CheckBox;
wxTextCtrl* m_In1Name;
wxChoice* m_In1Choice;
wxTextCtrl* m_In2Name;
wxPanel* m_In2Panel;
wxCheckBox* m_In2CheckBox;
wxTextCtrl* m_In2Name;
wxChoice* m_In2Choice;
wxTextCtrl* m_In3Name;
wxPanel* m_In3Panel;
wxCheckBox* m_In3CheckBox;
wxTextCtrl* m_In3Name;
wxChoice* m_In3Choice;
wxTextCtrl* m_In4Name;
wxPanel* m_In4Panel;
wxCheckBox* m_In4CheckBox;
wxTextCtrl* m_In4Name;
wxChoice* m_In4Choice;
wxTextCtrl* m_In5Name;
wxPanel* m_In5Panel;
wxCheckBox* m_In5CheckBox;
wxTextCtrl* m_In5Name;
wxChoice* m_In5Choice;
wxTextCtrl* m_In6Name;
wxPanel* m_In6Panel;
wxCheckBox* m_In6CheckBox;
wxTextCtrl* m_In6Name;
wxChoice* m_In6Choice;
wxTextCtrl* m_In7Name;
wxPanel* m_In7Panel;
wxCheckBox* m_In7CheckBox;
wxTextCtrl* m_In7Name;
wxChoice* m_In7Choice;
wxTextCtrl* m_In8Name;
wxPanel* m_In8Panel;
wxCheckBox* m_In8CheckBox;
wxTextCtrl* m_In8Name;
wxChoice* m_In8Choice;
wxTextCtrl* m_In9Name;
wxPanel* m_In9Panel;
wxCheckBox* m_In9CheckBox;
wxTextCtrl* m_In9Name;
wxChoice* m_In9Choice;
wxTextCtrl* m_In10Name;
wxPanel* m_In10Panel;
wxCheckBox* m_In10CheckBox;
wxTextCtrl* m_In10Name;
wxChoice* m_In10Choice;
wxTextCtrl* m_In11Name;
wxPanel* m_In11Panel;
wxCheckBox* m_In11CheckBox;
wxTextCtrl* m_In11Name;
wxChoice* m_In11Choice;
wxTextCtrl* m_In12Name;
wxPanel* m_In12Panel;
wxCheckBox* m_In12CheckBox;
wxTextCtrl* m_In12Name;
wxChoice* m_In12Choice;
wxTextCtrl* m_In13Name;
wxPanel* m_In13Panel;
wxCheckBox* m_In13CheckBox;
wxTextCtrl* m_In13Name;
wxChoice* m_In13Choice;
wxTextCtrl* m_In14Name;
wxPanel* m_In14Panel;
wxCheckBox* m_In14CheckBox;
wxTextCtrl* m_In14Name;
wxChoice* m_In14Choice;
wxTextCtrl* m_In15Name;
wxPanel* m_In15Panel;
wxCheckBox* m_In15CheckBox;
wxTextCtrl* m_In15Name;
wxChoice* m_In15Choice;
wxTextCtrl* m_In16Name;
wxPanel* m_In16Panel;
wxCheckBox* m_In16CheckBox;
wxTextCtrl* m_In16Name;
wxChoice* m_In16Choice;
wxTextCtrl* m_In17Name;
wxPanel* m_In17Panel;
wxCheckBox* m_In17CheckBox;
wxTextCtrl* m_In17Name;
wxChoice* m_In17Choice;
wxTextCtrl* m_In18Name;
wxPanel* m_In18Panel;
wxCheckBox* m_In18CheckBox;
wxTextCtrl* m_In18Name;
wxChoice* m_In18Choice;
wxTextCtrl* m_In19Name;
wxPanel* m_In19Panel;
wxCheckBox* m_In19CheckBox;
wxTextCtrl* m_In19Name;
wxChoice* m_In19Choice;
wxTextCtrl* m_In20Name;
wxPanel* m_In20Panel;
wxCheckBox* m_In20CheckBox;
wxTextCtrl* m_In20Name;
wxChoice* m_In20Choice;
wxTextCtrl* m_In21Name;
wxPanel* m_In21Panel;
wxCheckBox* m_In21CheckBox;
wxTextCtrl* m_In21Name;
wxChoice* m_In21Choice;
wxTextCtrl* m_In22Name;
wxPanel* m_In22Panel;
wxCheckBox* m_In22CheckBox;
wxTextCtrl* m_In22Name;
wxChoice* m_In22Choice;
wxTextCtrl* m_In23Name;
wxPanel* m_In23Panel;
wxCheckBox* m_In23CheckBox;
wxTextCtrl* m_In23Name;
wxChoice* m_In23Choice;
wxTextCtrl* m_In24Name;
wxPanel* m_In24Panel;
wxCheckBox* m_In24CheckBox;
wxTextCtrl* m_In24Name;
wxChoice* m_In24Choice;
wxTextCtrl* m_In25Name;
wxPanel* m_In25Panel;
wxCheckBox* m_In25CheckBox;
wxTextCtrl* m_In25Name;
wxChoice* m_In25Choice;
wxTextCtrl* m_In26Name;
wxPanel* m_In26Panel;
wxCheckBox* m_In26CheckBox;
wxTextCtrl* m_In26Name;
wxChoice* m_In26Choice;
wxTextCtrl* m_In27Name;
wxPanel* m_In27Panel;
wxCheckBox* m_In27CheckBox;
wxTextCtrl* m_In27Name;
wxChoice* m_In27Choice;
wxTextCtrl* m_In28Name;
wxPanel* m_In28Panel;
wxCheckBox* m_In28CheckBox;
wxTextCtrl* m_In28Name;
wxChoice* m_In28Choice;
wxTextCtrl* m_In29Name;
wxPanel* m_In29Panel;
wxCheckBox* m_In29CheckBox;
wxTextCtrl* m_In29Name;
wxChoice* m_In29Choice;
wxTextCtrl* m_In30Name;
wxPanel* m_In30Panel;
wxCheckBox* m_In30CheckBox;
wxTextCtrl* m_In30Name;
wxChoice* m_In30Choice;
wxTextCtrl* m_BackName;
wxPanel* m_BackPanel;
wxCheckBox* m_BackCheckBox;
wxTextCtrl* m_BackName;
wxChoice* m_BackChoice;
wxStaticText* m_MaskBackName;
wxPanel* m_MaskBackPanel;
wxCheckBox* m_MaskBackCheckBox;
wxStaticText* m_MaskBackName;
wxStaticText* m_MaskBackStaticText;
wxStaticText* m_SilkSBackName;
wxPanel* m_SilkSBackPanel;
wxCheckBox* m_SilkSBackCheckBox;
wxStaticText* m_SilkSBackName;
wxStaticText* m_SilkSBackStaticText;
wxStaticText* m_SoldPBackName;
wxPanel* m_SoldPBackPanel;
wxCheckBox* m_SoldPBackCheckBox;
wxStaticText* m_SoldPBackName;
wxStaticText* m_SoldPBackStaticText;
wxStaticText* m_AdhesBackName;
wxPanel* m_AdhesBackPanel;
wxCheckBox* m_AdhesBackCheckBox;
wxStaticText* m_AdhesBackName;
wxStaticText* m_AdhesBackStaticText;
wxStaticText* m_FabBackName;
wxPanel* m_FabBackPanel;
wxCheckBox* m_FabBackCheckBox;
wxStaticText* m_FabBackName;
wxStaticText* m_FabBackStaticText;
wxStaticText* m_CrtYdBackName;
wxPanel* m_CrtYdBackPanel;
wxCheckBox* m_CrtYdBackCheckBox;
wxStaticText* m_CrtYdBackName;
wxStaticText* m_CrtYdBackStaticText;
wxStaticText* m_PCBEdgesName;
wxPanel* m_PCBEdgesPanel;
wxCheckBox* m_PCBEdgesCheckBox;
wxStaticText* m_PCBEdgesName;
wxStaticText* m_PCBEdgesStaticText;
wxStaticText* m_MarginName;
wxPanel* m_MarginPanel;
wxCheckBox* m_MarginCheckBox;
wxStaticText* m_MarginName;
wxStaticText* m_MarginStaticText;
wxStaticText* m_Eco1Name;
wxPanel* m_Eco1Panel;
wxCheckBox* m_Eco1CheckBox;
wxStaticText* m_Eco1Name;
wxStaticText* m_Eco1StaticText;
wxStaticText* m_Eco2Name;
wxPanel* m_Eco2Panel;
wxCheckBox* m_Eco2CheckBox;
wxStaticText* m_Eco2Name;
wxStaticText* m_Eco2StaticText;
wxStaticText* m_CommentsName;
wxPanel* m_CommentsPanel;
wxCheckBox* m_CommentsCheckBox;
wxStaticText* m_CommentsName;
wxStaticText* m_CommentsStaticText;
wxStaticText* m_DrawingsName;
wxPanel* m_DrawingsPanel;
wxCheckBox* m_DrawingsCheckBox;
wxStaticText* m_DrawingsName;
wxStaticText* m_DrawingsStaticText;
wxStdDialogButtonSizer* m_sdbSizer;
wxButton* m_sdbSizerOK;
@ -403,11 +352,10 @@ class DIALOG_LAYERS_SETUP_BASE : public DIALOG_SHIM
// Virtual event handlers, overide them in your derived class
virtual void OnInitDialog( wxInitDialogEvent& event ) { event.Skip(); }
virtual void OnSize( wxSizeEvent& event ) { event.Skip(); }
virtual void OnPresetsChoice( wxCommandEvent& event ) { event.Skip(); }
virtual void OnCopperLayersChoice( wxCommandEvent& event ) { event.Skip(); }
virtual void OnCheckBox( wxCommandEvent& event ) { event.Skip(); }
virtual void DenyChangeCheckBox( wxCommandEvent& event ) { event.Skip(); }
virtual void OnCheckBox( wxCommandEvent& event ) { event.Skip(); }
public: