Index: common/layer_id.cpp =================================================================== --- common/layer_id.cpp (revision 1068) +++ common/layer_id.cpp (working copy) @@ -62,9 +62,43 @@ case In27_Cu: return wxT( "In27.Cu" ); case In28_Cu: return wxT( "In28.Cu" ); case In29_Cu: return wxT( "In29.Cu" ); + case In30_Cu: return wxT( "In30.Cu" ); case In31_Cu: return wxT( "In31.Cu" ); case In32_Cu: return wxT( "In32.Cu" ); + case In33_Cu: return wxT( "In33.Cu" ); + case In34_Cu: return wxT( "In34.Cu" ); + case In35_Cu: return wxT( "In35.Cu" ); + case In36_Cu: return wxT( "In36.Cu" ); + case In37_Cu: return wxT( "In37.Cu" ); + case In38_Cu: return wxT( "In38.Cu" ); + case In39_Cu: return wxT( "In39.Cu" ); + + case In40_Cu: return wxT( "In40.Cu" ); + case In41_Cu: return wxT( "In41.Cu" ); + case In42_Cu: return wxT( "In42.Cu" ); + case In43_Cu: return wxT( "In43.Cu" ); + case In44_Cu: return wxT( "In44.Cu" ); + case In45_Cu: return wxT( "In45.Cu" ); + case In46_Cu: return wxT( "In46.Cu" ); + case In47_Cu: return wxT( "In47.Cu" ); + case In48_Cu: return wxT( "In48.Cu" ); + case In49_Cu: return wxT( "In49.Cu" ); + + case In50_Cu: return wxT( "In50.Cu" ); + case In51_Cu: return wxT( "In51.Cu" ); + case In52_Cu: return wxT( "In52.Cu" ); + case In53_Cu: return wxT( "In53.Cu" ); + case In54_Cu: return wxT( "In54.Cu" ); + case In55_Cu: return wxT( "In55.Cu" ); + case In56_Cu: return wxT( "In56.Cu" ); + case In57_Cu: return wxT( "In57.Cu" ); + case In58_Cu: return wxT( "In58.Cu" ); + case In59_Cu: return wxT( "In59.Cu" ); + + case In60_Cu: return wxT( "In60.Cu" ); + case In61_Cu: return wxT( "In61.Cu" ); + case In62_Cu: return wxT( "In62.Cu" ); case B_Cu: return wxT( "B.Cu" ); // Technicals Index: common/lset.cpp =================================================================== --- common/lset.cpp (revision 1068) +++ common/lset.cpp (working copy) @@ -116,9 +116,43 @@ case In27_Cu: txt = wxT( "In27.Cu" ); break; case In28_Cu: txt = wxT( "In28.Cu" ); break; case In29_Cu: txt = wxT( "In29.Cu" ); break; + case In30_Cu: txt = wxT( "In30.Cu" ); break; case In31_Cu: txt = wxT( "In31.Cu" ); break; case In32_Cu: txt = wxT( "In32.Cu" ); break; + case In33_Cu: txt = wxT( "In33.Cu" ); break; + case In34_Cu: txt = wxT( "In34.Cu" ); break; + case In35_Cu: txt = wxT( "In35.Cu" ); break; + case In36_Cu: txt = wxT( "In36.Cu" ); break; + case In37_Cu: txt = wxT( "In37.Cu" ); break; + case In38_Cu: txt = wxT( "In38.Cu" ); break; + case In39_Cu: txt = wxT( "In39.Cu" ); break; + + case In40_Cu: txt = wxT( "In40.Cu" ); break; + case In41_Cu: txt = wxT( "In41.Cu" ); break; + case In42_Cu: txt = wxT( "In42.Cu" ); break; + case In43_Cu: txt = wxT( "In43.Cu" ); break; + case In44_Cu: txt = wxT( "In44.Cu" ); break; + case In45_Cu: txt = wxT( "In45.Cu" ); break; + case In46_Cu: txt = wxT( "In46.Cu" ); break; + case In47_Cu: txt = wxT( "In47.Cu" ); break; + case In48_Cu: txt = wxT( "In48.Cu" ); break; + case In49_Cu: txt = wxT( "In49.Cu" ); break; + + case In50_Cu: txt = wxT( "In50.Cu" ); break; + case In51_Cu: txt = wxT( "In51.Cu" ); break; + case In52_Cu: txt = wxT( "In52.Cu" ); break; + case In53_Cu: txt = wxT( "In53.Cu" ); break; + case In54_Cu: txt = wxT( "In54.Cu" ); break; + case In55_Cu: txt = wxT( "In55.Cu" ); break; + case In56_Cu: txt = wxT( "In56.Cu" ); break; + case In57_Cu: txt = wxT( "In57.Cu" ); break; + case In58_Cu: txt = wxT( "In58.Cu" ); break; + case In59_Cu: txt = wxT( "In59.Cu" ); break; + + case In60_Cu: txt = wxT( "In60.Cu" ); break; + case In61_Cu: txt = wxT( "In61.Cu" ); break; + case In62_Cu: txt = wxT( "In62.Cu" ); break; case B_Cu: txt = wxT( "B.Cu" ); break; // Technicals @@ -203,9 +237,43 @@ In27_Cu, In28_Cu, In29_Cu, + In30_Cu, - In31_Cu, - In32_Cu, + In31_Cu, + In32_Cu, + In33_Cu, + In34_Cu, + In35_Cu, + In36_Cu, + In37_Cu, + In38_Cu, + In39_Cu, + + In40_Cu, + In41_Cu, + In42_Cu, + In43_Cu, + In44_Cu, + In45_Cu, + In46_Cu, + In47_Cu, + In48_Cu, + In49_Cu, + + In50_Cu, + In51_Cu, + In52_Cu, + In53_Cu, + In54_Cu, + In55_Cu, + In56_Cu, + In57_Cu, + In58_Cu, + In59_Cu, + + In60_Cu, + In61_Cu, + In62_Cu, B_Cu, // 31 }; @@ -482,9 +550,43 @@ B_Paste, B_Mask, B_Cu, - In32_Cu, - In31_Cu, + In62_Cu, + In61_Cu, + In60_Cu, + + In59_Cu, + In58_Cu, + In57_Cu, + In56_Cu, + In55_Cu, + In54_Cu, + In53_Cu, + In52_Cu, + In51_Cu, + In50_Cu, + + In49_Cu, + In48_Cu, + In47_Cu, + In46_Cu, + In45_Cu, + In44_Cu, + In43_Cu, + In42_Cu, + In41_Cu, + In40_Cu, + + In39_Cu, + In38_Cu, + In37_Cu, + In36_Cu, + In35_Cu, + In34_Cu, + In33_Cu, + In32_Cu, + In31_Cu, In30_Cu, + In29_Cu, In28_Cu, In27_Cu, @@ -754,9 +856,43 @@ In27_Cu, In28_Cu, In29_Cu, + In30_Cu, - In31_Cu, - In32_Cu, + In31_Cu, + In32_Cu, + In33_Cu, + In34_Cu, + In35_Cu, + In36_Cu, + In37_Cu, + In38_Cu, + In39_Cu, + + In40_Cu, + In41_Cu, + In42_Cu, + In43_Cu, + In44_Cu, + In45_Cu, + In46_Cu, + In47_Cu, + In48_Cu, + In49_Cu, + + In50_Cu, + In51_Cu, + In52_Cu, + In53_Cu, + In54_Cu, + In55_Cu, + In56_Cu, + In57_Cu, + In58_Cu, + In59_Cu, + + In60_Cu, + In61_Cu, + In62_Cu, }; static const LSET saved( cu_internals, arrayDim( cu_internals ) ); @@ -778,7 +914,7 @@ clear_count = Clamp( 0, clear_count, MAX_CU_LAYERS - 2 ); - for( LAYER_NUM elem=In32_Cu; clear_count; --elem, --clear_count ) + for( LAYER_NUM elem=LAST_CU_LAYER; clear_count; --elem, --clear_count ) { ret.set( elem, false ); } Index: common/settings/builtin_color_themes.h =================================================================== --- common/settings/builtin_color_themes.h (revision 1068) +++ common/settings/builtin_color_themes.h (working copy) @@ -127,9 +127,39 @@ { In27_Cu, CSS_COLOR( 167, 165, 198, 1 ) }, { In28_Cu, CSS_COLOR( 40, 204, 217, 1 ) }, { In29_Cu, CSS_COLOR( 232, 178, 167, 1 ) }, - { In30_Cu, CSS_COLOR( 242, 237, 161, 1 ) }, - { In31_Cu, CSS_COLOR( 242, 237, 161, 1 ) }, - { In32_Cu, CSS_COLOR( 242, 237, 161, 1 ) }, + { In30_Cu, CSS_COLOR( 167, 165, 198, 1 ) }, + { In31_Cu, CSS_COLOR( 40, 204, 217, 1 ) }, + { In32_Cu, CSS_COLOR( 232, 178, 167, 1 ) }, + { In33_Cu, CSS_COLOR( 242, 237, 161, 1 ) }, + { In34_Cu, CSS_COLOR( 237, 124, 51, 1 ) }, + { In35_Cu, CSS_COLOR( 91, 195, 235, 1 ) }, + { In36_Cu, CSS_COLOR( 247, 111, 142, 1 ) }, + { In37_Cu, CSS_COLOR( 167, 165, 198, 1 ) }, + { In38_Cu, CSS_COLOR( 40, 204, 217, 1 ) }, + { In39_Cu, CSS_COLOR( 232, 178, 167, 1 ) }, + { In40_Cu, CSS_COLOR( 167, 165, 198, 1 ) }, + { In41_Cu, CSS_COLOR( 40, 204, 217, 1 ) }, + { In42_Cu, CSS_COLOR( 232, 178, 167, 1 ) }, + { In43_Cu, CSS_COLOR( 242, 237, 161, 1 ) }, + { In44_Cu, CSS_COLOR( 237, 124, 51, 1 ) }, + { In45_Cu, CSS_COLOR( 91, 195, 235, 1 ) }, + { In46_Cu, CSS_COLOR( 247, 111, 142, 1 ) }, + { In47_Cu, CSS_COLOR( 167, 165, 198, 1 ) }, + { In48_Cu, CSS_COLOR( 40, 204, 217, 1 ) }, + { In49_Cu, CSS_COLOR( 232, 178, 167, 1 ) }, + { In50_Cu, CSS_COLOR( 167, 165, 198, 1 ) }, + { In51_Cu, CSS_COLOR( 40, 204, 217, 1 ) }, + { In52_Cu, CSS_COLOR( 232, 178, 167, 1 ) }, + { In53_Cu, CSS_COLOR( 242, 237, 161, 1 ) }, + { In54_Cu, CSS_COLOR( 237, 124, 51, 1 ) }, + { In55_Cu, CSS_COLOR( 91, 195, 235, 1 ) }, + { In56_Cu, CSS_COLOR( 247, 111, 142, 1 ) }, + { In57_Cu, CSS_COLOR( 167, 165, 198, 1 ) }, + { In58_Cu, CSS_COLOR( 40, 204, 217, 1 ) }, + { In59_Cu, CSS_COLOR( 232, 178, 167, 1 ) }, + { In60_Cu, CSS_COLOR( 232, 178, 167, 1 ) }, + { In61_Cu, CSS_COLOR( 232, 178, 167, 1 ) }, + { In62_Cu, CSS_COLOR( 232, 178, 167, 1 ) }, { B_Cu, CSS_COLOR( 77, 127, 196, 1 ) }, { B_Adhes, CSS_COLOR( 0, 0, 132, 1 ) }, @@ -274,9 +304,39 @@ { In27_Cu, COLOR4D( RED ) }, { In28_Cu, COLOR4D( BROWN ) }, { In29_Cu, COLOR4D( LIGHTGRAY ) }, - { In30_Cu, COLOR4D( BLUE ) }, - { In31_Cu, COLOR4D( BLUE ) }, - { In32_Cu, COLOR4D( BLUE ) }, + { In30_Cu, COLOR4D( CYAN ) }, + { In31_Cu, COLOR4D( GREEN ) }, + { In32_Cu, COLOR4D( BLUE ) }, + { In33_Cu, COLOR4D( DARKGRAY ) }, + { In34_Cu, COLOR4D( MAGENTA ) }, + { In35_Cu, COLOR4D( LIGHTGRAY ) }, + { In36_Cu, COLOR4D( MAGENTA ) }, + { In37_Cu, COLOR4D( RED ) }, + { In38_Cu, COLOR4D( BROWN ) }, + { In39_Cu, COLOR4D( LIGHTGRAY ) }, + { In40_Cu, COLOR4D( CYAN ) }, + { In41_Cu, COLOR4D( GREEN ) }, + { In42_Cu, COLOR4D( BLUE ) }, + { In43_Cu, COLOR4D( DARKGRAY ) }, + { In44_Cu, COLOR4D( MAGENTA ) }, + { In45_Cu, COLOR4D( LIGHTGRAY ) }, + { In46_Cu, COLOR4D( MAGENTA ) }, + { In47_Cu, COLOR4D( RED ) }, + { In48_Cu, COLOR4D( BROWN ) }, + { In49_Cu, COLOR4D( LIGHTGRAY ) }, + { In50_Cu, COLOR4D( CYAN ) }, + { In51_Cu, COLOR4D( GREEN ) }, + { In52_Cu, COLOR4D( BLUE ) }, + { In53_Cu, COLOR4D( DARKGRAY ) }, + { In54_Cu, COLOR4D( MAGENTA ) }, + { In55_Cu, COLOR4D( LIGHTGRAY ) }, + { In56_Cu, COLOR4D( MAGENTA ) }, + { In57_Cu, COLOR4D( RED ) }, + { In58_Cu, COLOR4D( BROWN ) }, + { In59_Cu, COLOR4D( LIGHTGRAY ) }, + { In60_Cu, COLOR4D( BLUE ) }, + { In61_Cu, COLOR4D( BLUE ) }, + { In62_Cu, COLOR4D( BLUE ) }, { B_Cu, COLOR4D( GREEN ) }, { B_Adhes, COLOR4D( BLUE ) }, Index: common/settings/color_settings.cpp =================================================================== --- common/settings/color_settings.cpp (revision 1068) +++ common/settings/color_settings.cpp (working copy) @@ -180,9 +180,43 @@ CLR( "board.copper.in27", In27_Cu ); CLR( "board.copper.in28", In28_Cu ); CLR( "board.copper.in29", In29_Cu ); + CLR( "board.copper.in30", In30_Cu ); CLR( "board.copper.in31", In31_Cu ); CLR( "board.copper.in32", In32_Cu ); + CLR( "board.copper.in33", In33_Cu ); + CLR( "board.copper.in34", In34_Cu ); + CLR( "board.copper.in35", In35_Cu ); + CLR( "board.copper.in36", In36_Cu ); + CLR( "board.copper.in37", In37_Cu ); + CLR( "board.copper.in38", In38_Cu ); + CLR( "board.copper.in39", In39_Cu ); + + CLR( "board.copper.in40", In40_Cu ); + CLR( "board.copper.in41", In41_Cu ); + CLR( "board.copper.in42", In42_Cu ); + CLR( "board.copper.in43", In43_Cu ); + CLR( "board.copper.in44", In44_Cu ); + CLR( "board.copper.in45", In45_Cu ); + CLR( "board.copper.in46", In46_Cu ); + CLR( "board.copper.in47", In47_Cu ); + CLR( "board.copper.in48", In48_Cu ); + CLR( "board.copper.in49", In49_Cu ); + + CLR( "board.copper.in50", In50_Cu ); + CLR( "board.copper.in51", In51_Cu ); + CLR( "board.copper.in52", In52_Cu ); + CLR( "board.copper.in53", In53_Cu ); + CLR( "board.copper.in54", In54_Cu ); + CLR( "board.copper.in55", In55_Cu ); + CLR( "board.copper.in56", In56_Cu ); + CLR( "board.copper.in57", In57_Cu ); + CLR( "board.copper.in58", In58_Cu ); + CLR( "board.copper.in59", In59_Cu ); + + CLR( "board.copper.in60", In60_Cu ); + CLR( "board.copper.in61", In61_Cu ); + CLR( "board.copper.in62", In62_Cu ); CLR( "board.copper.b", B_Cu ); CLR( "board.b_adhes", B_Adhes ); Index: gerbview/dialogs/dialog_layers_select_to_pcb.cpp =================================================================== --- gerbview/dialogs/dialog_layers_select_to_pcb.cpp (revision 1068) +++ gerbview/dialogs/dialog_layers_select_to_pcb.cpp (working copy) @@ -500,9 +500,43 @@ { wxT( "G27" ), In27_Cu }, { wxT( "G28" ), In28_Cu }, { wxT( "G29" ), In29_Cu }, + { wxT( "G30" ), In30_Cu }, - { wxT( "G31" ), In31_Cu }, - { wxT( "G32" ), In32_Cu }, + { wxT( "G31" ), In31_Cu }, + { wxT( "G32" ), In32_Cu }, + { wxT( "G33" ), In33_Cu }, + { wxT( "G34" ), In34_Cu }, + { wxT( "G35" ), In35_Cu }, + { wxT( "G36" ), In36_Cu }, + { wxT( "G37" ), In37_Cu }, + { wxT( "G38" ), In38_Cu }, + { wxT( "G39" ), In39_Cu }, + + { wxT( "G40" ), In40_Cu }, + { wxT( "G41" ), In41_Cu }, + { wxT( "G42" ), In42_Cu }, + { wxT( "G43" ), In43_Cu }, + { wxT( "G44" ), In44_Cu }, + { wxT( "G45" ), In45_Cu }, + { wxT( "G46" ), In46_Cu }, + { wxT( "G47" ), In47_Cu }, + { wxT( "G48" ), In48_Cu }, + { wxT( "G49" ), In49_Cu }, + + { wxT( "G50" ), In50_Cu }, + { wxT( "G51" ), In51_Cu }, + { wxT( "G52" ), In52_Cu }, + { wxT( "G53" ), In53_Cu }, + { wxT( "G54" ), In54_Cu }, + { wxT( "G55" ), In55_Cu }, + { wxT( "G56" ), In56_Cu }, + { wxT( "G57" ), In57_Cu }, + { wxT( "G58" ), In58_Cu }, + { wxT( "G59" ), In59_Cu }, + + { wxT( "G60" ), In60_Cu }, + { wxT( "G61" ), In61_Cu }, + { wxT( "G62" ), In62_Cu }, { wxT( "GBL" ), B_Cu }, // Bottom copper { wxT( "GTP" ), F_Paste }, // Paste top { wxT( "GBP" ), B_Paste }, // Paste bottom @@ -610,9 +644,43 @@ { "-In27_Cu", In27_Cu }, { "-In28_Cu", In28_Cu }, { "-In29_Cu", In29_Cu }, + { "-In30_Cu", In30_Cu }, - { "-In31_Cu", In31_Cu }, - { "-In32_Cu", In32_Cu }, + { "-In31_Cu", In31_Cu }, + { "-In32_Cu", In32_Cu }, + { "-In33_Cu", In33_Cu }, + { "-In34_Cu", In34_Cu }, + { "-In35_Cu", In35_Cu }, + { "-In36_Cu", In36_Cu }, + { "-In37_Cu", In37_Cu }, + { "-In38_Cu", In38_Cu }, + { "-In39_Cu", In39_Cu }, + + { "-In40_Cu", In40_Cu }, + { "-In41_Cu", In41_Cu }, + { "-In42_Cu", In42_Cu }, + { "-In43_Cu", In43_Cu }, + { "-In44_Cu", In44_Cu }, + { "-In45_Cu", In45_Cu }, + { "-In46_Cu", In46_Cu }, + { "-In47_Cu", In47_Cu }, + { "-In48_Cu", In48_Cu }, + { "-In49_Cu", In49_Cu }, + + { "-In50_Cu", In50_Cu }, + { "-In51_Cu", In51_Cu }, + { "-In52_Cu", In52_Cu }, + { "-In53_Cu", In53_Cu }, + { "-In54_Cu", In54_Cu }, + { "-In55_Cu", In55_Cu }, + { "-In56_Cu", In56_Cu }, + { "-In57_Cu", In57_Cu }, + { "-In58_Cu", In58_Cu }, + { "-In59_Cu", In59_Cu }, + + { "-In60_Cu", In60_Cu }, + { "-In61_Cu", In61_Cu }, + { "-In62_Cu", In62_Cu }, { "-B_Cu", B_Cu }, { "-B_Adhes", B_Adhes }, { "-F_Adhes", F_Adhes }, Index: gerbview/dialogs/dialog_select_one_pcb_layer.cpp =================================================================== --- gerbview/dialogs/dialog_select_one_pcb_layer.cpp (revision 1068) +++ gerbview/dialogs/dialog_select_one_pcb_layer.cpp (working copy) @@ -239,6 +239,39 @@ case In30_Cu: txt = wxT( "In30.Cu" ); break; case In31_Cu: txt = wxT( "In31.Cu" ); break; case In32_Cu: txt = wxT( "In32.Cu" ); break; + case In33_Cu: txt = wxT( "In33.Cu" ); break; + case In34_Cu: txt = wxT( "In34.Cu" ); break; + case In35_Cu: txt = wxT( "In35.Cu" ); break; + case In36_Cu: txt = wxT( "In36.Cu" ); break; + case In37_Cu: txt = wxT( "In37.Cu" ); break; + case In38_Cu: txt = wxT( "In38.Cu" ); break; + case In39_Cu: txt = wxT( "In39.Cu" ); break; + + case In40_Cu: txt = wxT( "In40.Cu" ); break; + case In41_Cu: txt = wxT( "In41.Cu" ); break; + case In42_Cu: txt = wxT( "In42.Cu" ); break; + case In43_Cu: txt = wxT( "In43.Cu" ); break; + case In44_Cu: txt = wxT( "In44.Cu" ); break; + case In45_Cu: txt = wxT( "In45.Cu" ); break; + case In46_Cu: txt = wxT( "In46.Cu" ); break; + case In47_Cu: txt = wxT( "In47.Cu" ); break; + case In48_Cu: txt = wxT( "In48.Cu" ); break; + case In49_Cu: txt = wxT( "In49.Cu" ); break; + + case In50_Cu: txt = wxT( "In50.Cu" ); break; + case In51_Cu: txt = wxT( "In51.Cu" ); break; + case In52_Cu: txt = wxT( "In52.Cu" ); break; + case In53_Cu: txt = wxT( "In53.Cu" ); break; + case In54_Cu: txt = wxT( "In54.Cu" ); break; + case In55_Cu: txt = wxT( "In55.Cu" ); break; + case In56_Cu: txt = wxT( "In56.Cu" ); break; + case In57_Cu: txt = wxT( "In57.Cu" ); break; + case In58_Cu: txt = wxT( "In58.Cu" ); break; + case In59_Cu: txt = wxT( "In59.Cu" ); break; + + case In60_Cu: txt = wxT( "In60.Cu" ); break; + case In61_Cu: txt = wxT( "In61.Cu" ); break; + case In62_Cu: txt = wxT( "In62.Cu" ); break; case B_Cu: txt = wxT( "B.Cu" ); break; // Technicals Index: include/layer_ids.h =================================================================== --- include/layer_ids.h (revision 1068) +++ include/layer_ids.h (working copy) @@ -99,8 +99,38 @@ In28_Cu, In29_Cu, In30_Cu, - In31_Cu, - In32_Cu, + In31_Cu, + In32_Cu, + In33_Cu, + In34_Cu, + In35_Cu, + In36_Cu, + In37_Cu, + In38_Cu, + In39_Cu, + In40_Cu, + In41_Cu, + In42_Cu, + In43_Cu, + In44_Cu, + In45_Cu, + In46_Cu, + In47_Cu, + In48_Cu, + In49_Cu, + In50_Cu, + In51_Cu, + In52_Cu, + In53_Cu, + In54_Cu, + In55_Cu, + In56_Cu, + In57_Cu, + In58_Cu, + In59_Cu, + In60_Cu, + In61_Cu, + In62_Cu, B_Cu, // 32? B_Adhes, @@ -148,6 +178,8 @@ #define MAX_CU_LAYERS (B_Cu - F_Cu + 1) +#define LAST_CU_LAYER (In62_Cu) + /** * Enum used during connectivity building to ensure we do not query connectivity while building * the database Index: pcbnew/board_stackup_manager/panel_board_stackup.cpp =================================================================== --- pcbnew/board_stackup_manager/panel_board_stackup.cpp (revision 1059) +++ pcbnew/board_stackup_manager/panel_board_stackup.cpp (working copy) @@ -471,6 +471,7 @@ int PANEL_SETUP_BOARD_STACKUP::GetCopperLayerCount() const { + //TODO need refine, change method, use index --> text --> layer count return ( m_choiceCopperLayers->GetSelection() + 1 ) * 2; } Index: pcbnew/board_stackup_manager/panel_board_stackup_base.cpp =================================================================== --- pcbnew/board_stackup_manager/panel_board_stackup_base.cpp (revision 1068) +++ pcbnew/board_stackup_manager/panel_board_stackup_base.cpp (working copy) @@ -23,7 +23,7 @@ bTopSizer->Add( m_lblCopperLayers, 0, wxALIGN_CENTER_VERTICAL|wxTOP|wxBOTTOM, 5 ); - wxString m_choiceCopperLayersChoices[] = { _("2"), _("4"), _("6"), _("8"), _("10"), _("12"), _("14"), _("16"), _("18"), _("20"), _("22"), _("24"), _("26"), _("28"), _("30"), _("32"), _("34") }; + wxString m_choiceCopperLayersChoices[] = { _("2"), _("4"), _("6"), _("8"), _("10"), _("12"), _("14"), _("16"), _("18"), _("20"), _("22"), _("24"), _("26"), _("28"), _("30"), _("32"), _("36"), _("62"), _("38"), _("40"), _("42"), _("44"), _("46"), _("48"), _("50"), _("52"), _("54"), _("56"), _("58"), _("60"), _("62"), wxEmptyString }; int m_choiceCopperLayersNChoices = sizeof( m_choiceCopperLayersChoices ) / sizeof( wxString ); m_choiceCopperLayers = new wxChoice( this, wxID_ANY, wxDefaultPosition, wxDefaultSize, m_choiceCopperLayersNChoices, m_choiceCopperLayersChoices, 0 ); m_choiceCopperLayers->SetSelection( 16 ); Index: pcbnew/board_stackup_manager/panel_board_stackup_base.fbp =================================================================== --- pcbnew/board_stackup_manager/panel_board_stackup_base.fbp (revision 1068) +++ pcbnew/board_stackup_manager/panel_board_stackup_base.fbp (working copy) @@ -145,7 +145,7 @@ 1 0 - "2" "4" "6" "8" "10" "12" "14" "16" "18" "20" "22" "24" "26" "28" "30" "32" "34" + "2" "4" "6" "8" "10" "12" "14" "16" "18" "20" "22" "24" "26" "28" "30" "32" "36" "62" "38" "40" "42" "44" "46" "48" "50" "52" "54" "56" "58" "60" "62" "" 1 1 @@ -502,7 +502,7 @@ 5 wxEXPAND|wxLEFT 1 - + 9 wxHORIZONTAL Index: pcbnew/dialogs/panel_setup_layers.cpp =================================================================== --- pcbnew/dialogs/panel_setup_layers.cpp (revision 1068) +++ pcbnew/dialogs/panel_setup_layers.cpp (working copy) @@ -89,10 +89,44 @@ In27_Cu, In28_Cu, In29_Cu, + In30_Cu, - In31_Cu, - In32_Cu, + In31_Cu, + In32_Cu, + In33_Cu, + In34_Cu, + In35_Cu, + In36_Cu, + In37_Cu, + In38_Cu, + In39_Cu, + In40_Cu, + In41_Cu, + In42_Cu, + In43_Cu, + In44_Cu, + In45_Cu, + In46_Cu, + In47_Cu, + In48_Cu, + In49_Cu, + + In50_Cu, + In51_Cu, + In52_Cu, + In53_Cu, + In54_Cu, + In55_Cu, + In56_Cu, + In57_Cu, + In58_Cu, + In59_Cu, + + In60_Cu, + In61_Cu, + In62_Cu, + B_Cu, B_Mask, B_SilkS, @@ -179,10 +213,44 @@ 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 In31_Cu: RETURN_COPPER( m_In31 ); case In32_Cu: RETURN_COPPER( m_In32 ); + case In33_Cu: RETURN_COPPER( m_In33 ); + case In34_Cu: RETURN_COPPER( m_In34 ); + case In35_Cu: RETURN_COPPER( m_In35 ); + case In36_Cu: RETURN_COPPER( m_In36 ); + case In37_Cu: RETURN_COPPER( m_In37 ); + case In38_Cu: RETURN_COPPER( m_In38 ); + case In39_Cu: RETURN_COPPER( m_In39 ); + case In40_Cu: RETURN_COPPER( m_In40 ); + case In41_Cu: RETURN_COPPER( m_In41 ); + case In42_Cu: RETURN_COPPER( m_In42 ); + case In43_Cu: RETURN_COPPER( m_In43 ); + case In44_Cu: RETURN_COPPER( m_In44 ); + case In45_Cu: RETURN_COPPER( m_In45 ); + case In46_Cu: RETURN_COPPER( m_In46 ); + case In47_Cu: RETURN_COPPER( m_In47 ); + case In48_Cu: RETURN_COPPER( m_In48 ); + case In49_Cu: RETURN_COPPER( m_In49 ); + + case In50_Cu: RETURN_COPPER( m_In50 ); + case In51_Cu: RETURN_COPPER( m_In51 ); + case In52_Cu: RETURN_COPPER( m_In52 ); + case In53_Cu: RETURN_COPPER( m_In53 ); + case In54_Cu: RETURN_COPPER( m_In54 ); + case In55_Cu: RETURN_COPPER( m_In55 ); + case In56_Cu: RETURN_COPPER( m_In56 ); + case In57_Cu: RETURN_COPPER( m_In57 ); + case In58_Cu: RETURN_COPPER( m_In58 ); + case In59_Cu: RETURN_COPPER( m_In59 ); + + case In60_Cu: RETURN_COPPER( m_In60 ); + case In61_Cu: RETURN_COPPER( m_In61 ); + case In62_Cu: RETURN_COPPER( m_In62 ); + case B_Cu: RETURN_COPPER( m_Back ); case B_Mask: RETURN_AUX( m_MaskBack ); case B_SilkS: RETURN_AUX( m_SilkSBack ); Index: pcbnew/dialogs/panel_setup_layers_base.cpp =================================================================== --- pcbnew/dialogs/panel_setup_layers_base.cpp (revision 1068) +++ pcbnew/dialogs/panel_setup_layers_base.cpp (working copy) @@ -555,7 +555,7 @@ m_In31CheckBox = new wxCheckBox( m_LayersListPanel, ID_IN31CHECKBOX, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 ); m_LayerListFlexGridSizer->Add( m_In31CheckBox, 0, wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL|wxLEFT, 5 ); - m_In31Name = new wxTextCtrl( m_LayersListPanel, ID_IN31NAME, _("In30"), wxDefaultPosition, wxDefaultSize, 0 ); + m_In31Name = new wxTextCtrl( m_LayersListPanel, ID_IN31NAME, _("In31"), wxDefaultPosition, wxDefaultSize, 0 ); m_LayerListFlexGridSizer->Add( m_In31Name, 0, wxEXPAND|wxRIGHT, 5 ); wxString m_In31ChoiceChoices[] = { _("signal"), _("power plane"), _("mixed"), _("jumper") }; @@ -569,7 +569,7 @@ m_In32CheckBox = new wxCheckBox( m_LayersListPanel, ID_IN32CHECKBOX, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 ); m_LayerListFlexGridSizer->Add( m_In32CheckBox, 0, wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL|wxLEFT, 5 ); - m_In32Name = new wxTextCtrl( m_LayersListPanel, ID_IN32NAME, _("In30"), wxDefaultPosition, wxDefaultSize, 0 ); + m_In32Name = new wxTextCtrl( m_LayersListPanel, ID_IN32NAME, _("In32"), wxDefaultPosition, wxDefaultSize, 0 ); m_LayerListFlexGridSizer->Add( m_In32Name, 0, wxEXPAND|wxRIGHT, 5 ); wxString m_In32ChoiceChoices[] = { _("signal"), _("power plane"), _("mixed"), _("jumper") }; @@ -580,6 +580,426 @@ m_LayerListFlexGridSizer->Add( m_In32Choice, 0, wxEXPAND|wxLEFT|wxRIGHT, 5 ); + m_In33CheckBox = new wxCheckBox( m_LayersListPanel, ID_IN33CHECKBOX, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 ); + m_LayerListFlexGridSizer->Add( m_In33CheckBox, 0, wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL|wxLEFT, 5 ); + + m_In33Name = new wxTextCtrl( m_LayersListPanel, ID_IN33NAME, _("In33"), wxDefaultPosition, wxDefaultSize, 0 ); + m_LayerListFlexGridSizer->Add( m_In33Name, 0, wxEXPAND|wxRIGHT, 5 ); + + wxString m_In33ChoiceChoices[] = { _("signal"), _("power plane"), _("mixed"), _("jumper") }; + int m_In33ChoiceNChoices = sizeof( m_In33ChoiceChoices ) / sizeof( wxString ); + m_In33Choice = new wxChoice( m_LayersListPanel, ID_IN33CHOICE, wxDefaultPosition, wxDefaultSize, m_In33ChoiceNChoices, m_In33ChoiceChoices, 0 ); + m_In33Choice->SetSelection( 0 ); + m_In33Choice->SetToolTip( _("Copper layer type for Freerouter and other external routers.\nPower plane layers are removed from Freerouter's layer menus.") ); + + m_LayerListFlexGridSizer->Add( m_In33Choice, 0, wxEXPAND|wxLEFT|wxRIGHT, 5 ); + + m_In34CheckBox = new wxCheckBox( m_LayersListPanel, ID_IN34CHECKBOX, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 ); + m_LayerListFlexGridSizer->Add( m_In34CheckBox, 0, wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL|wxLEFT, 5 ); + + m_In34Name = new wxTextCtrl( m_LayersListPanel, ID_IN34NAME, _("In34"), wxDefaultPosition, wxDefaultSize, 0 ); + m_LayerListFlexGridSizer->Add( m_In34Name, 0, wxEXPAND|wxRIGHT, 5 ); + + wxString m_In34ChoiceChoices[] = { _("signal"), _("power plane"), _("mixed"), _("jumper") }; + int m_In34ChoiceNChoices = sizeof( m_In34ChoiceChoices ) / sizeof( wxString ); + m_In34Choice = new wxChoice( m_LayersListPanel, ID_IN34CHOICE, wxDefaultPosition, wxDefaultSize, m_In34ChoiceNChoices, m_In34ChoiceChoices, 0 ); + m_In34Choice->SetSelection( 0 ); + m_In34Choice->SetToolTip( _("Copper layer type for Freerouter and other external routers.\nPower plane layers are removed from Freerouter's layer menus.") ); + + m_LayerListFlexGridSizer->Add( m_In34Choice, 0, wxEXPAND|wxLEFT|wxRIGHT, 5 ); + + m_In35CheckBox = new wxCheckBox( m_LayersListPanel, ID_IN35CHECKBOX, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 ); + m_LayerListFlexGridSizer->Add( m_In35CheckBox, 0, wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL|wxLEFT, 5 ); + + m_In35Name = new wxTextCtrl( m_LayersListPanel, ID_IN35NAME, _("In35"), wxDefaultPosition, wxDefaultSize, 0 ); + m_LayerListFlexGridSizer->Add( m_In35Name, 0, wxEXPAND|wxRIGHT, 5 ); + + wxString m_In35ChoiceChoices[] = { _("signal"), _("power plane"), _("mixed"), _("jumper") }; + int m_In35ChoiceNChoices = sizeof( m_In35ChoiceChoices ) / sizeof( wxString ); + m_In35Choice = new wxChoice( m_LayersListPanel, ID_IN35CHOICE, wxDefaultPosition, wxDefaultSize, m_In35ChoiceNChoices, m_In35ChoiceChoices, 0 ); + m_In35Choice->SetSelection( 0 ); + m_In35Choice->SetToolTip( _("Copper layer type for Freerouter and other external routers.\nPower plane layers are removed from Freerouter's layer menus.") ); + + m_LayerListFlexGridSizer->Add( m_In35Choice, 0, wxEXPAND|wxLEFT|wxRIGHT, 5 ); + + m_In36CheckBox = new wxCheckBox( m_LayersListPanel, ID_IN36CHECKBOX, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 ); + m_LayerListFlexGridSizer->Add( m_In36CheckBox, 0, wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL|wxLEFT, 5 ); + + m_In36Name = new wxTextCtrl( m_LayersListPanel, ID_IN36NAME, _("In36"), wxDefaultPosition, wxDefaultSize, 0 ); + m_LayerListFlexGridSizer->Add( m_In36Name, 0, wxEXPAND|wxRIGHT, 5 ); + + wxString m_In36ChoiceChoices[] = { _("signal"), _("power plane"), _("mixed"), _("jumper") }; + int m_In36ChoiceNChoices = sizeof( m_In36ChoiceChoices ) / sizeof( wxString ); + m_In36Choice = new wxChoice( m_LayersListPanel, ID_IN36CHOICE, wxDefaultPosition, wxDefaultSize, m_In36ChoiceNChoices, m_In36ChoiceChoices, 0 ); + m_In36Choice->SetSelection( 0 ); + m_In36Choice->SetToolTip( _("Copper layer type for Freerouter and other external routers.\nPower plane layers are removed from Freerouter's layer menus.") ); + + m_LayerListFlexGridSizer->Add( m_In36Choice, 0, wxEXPAND|wxLEFT|wxRIGHT, 5 ); + + m_In37CheckBox = new wxCheckBox( m_LayersListPanel, ID_IN37CHECKBOX, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 ); + m_LayerListFlexGridSizer->Add( m_In37CheckBox, 0, wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL|wxLEFT, 5 ); + + m_In37Name = new wxTextCtrl( m_LayersListPanel, ID_IN37NAME, _("In37"), wxDefaultPosition, wxDefaultSize, 0 ); + m_LayerListFlexGridSizer->Add( m_In37Name, 0, wxEXPAND|wxRIGHT, 5 ); + + wxString m_In37ChoiceChoices[] = { _("signal"), _("power plane"), _("mixed"), _("jumper") }; + int m_In37ChoiceNChoices = sizeof( m_In37ChoiceChoices ) / sizeof( wxString ); + m_In37Choice = new wxChoice( m_LayersListPanel, ID_IN37CHOICE, wxDefaultPosition, wxDefaultSize, m_In37ChoiceNChoices, m_In37ChoiceChoices, 0 ); + m_In37Choice->SetSelection( 0 ); + m_In37Choice->SetToolTip( _("Copper layer type for Freerouter and other external routers.\nPower plane layers are removed from Freerouter's layer menus.") ); + + m_LayerListFlexGridSizer->Add( m_In37Choice, 0, wxEXPAND|wxLEFT|wxRIGHT, 5 ); + + m_In38CheckBox = new wxCheckBox( m_LayersListPanel, ID_IN38CHECKBOX, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 ); + m_LayerListFlexGridSizer->Add( m_In38CheckBox, 0, wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL|wxLEFT, 5 ); + + m_In38Name = new wxTextCtrl( m_LayersListPanel, ID_IN38NAME, _("In38"), wxDefaultPosition, wxDefaultSize, 0 ); + m_LayerListFlexGridSizer->Add( m_In38Name, 0, wxEXPAND|wxRIGHT, 5 ); + + wxString m_In38ChoiceChoices[] = { _("signal"), _("power plane"), _("mixed"), _("jumper") }; + int m_In38ChoiceNChoices = sizeof( m_In38ChoiceChoices ) / sizeof( wxString ); + m_In38Choice = new wxChoice( m_LayersListPanel, ID_IN38CHOICE, wxDefaultPosition, wxDefaultSize, m_In38ChoiceNChoices, m_In38ChoiceChoices, 0 ); + m_In38Choice->SetSelection( 0 ); + m_In38Choice->SetToolTip( _("Copper layer type for Freerouter and other external routers.\nPower plane layers are removed from Freerouter's layer menus.") ); + + m_LayerListFlexGridSizer->Add( m_In38Choice, 0, wxEXPAND|wxLEFT|wxRIGHT, 5 ); + + m_In39CheckBox = new wxCheckBox( m_LayersListPanel, ID_IN39CHECKBOX, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 ); + m_LayerListFlexGridSizer->Add( m_In39CheckBox, 0, wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL|wxLEFT, 5 ); + + m_In39Name = new wxTextCtrl( m_LayersListPanel, ID_IN39NAME, _("In39"), wxDefaultPosition, wxDefaultSize, 0 ); + m_LayerListFlexGridSizer->Add( m_In39Name, 0, wxEXPAND|wxRIGHT, 5 ); + + wxString m_In39ChoiceChoices[] = { _("signal"), _("power plane"), _("mixed"), _("jumper") }; + int m_In39ChoiceNChoices = sizeof( m_In39ChoiceChoices ) / sizeof( wxString ); + m_In39Choice = new wxChoice( m_LayersListPanel, ID_IN39CHOICE, wxDefaultPosition, wxDefaultSize, m_In39ChoiceNChoices, m_In39ChoiceChoices, 0 ); + m_In39Choice->SetSelection( 0 ); + m_In39Choice->SetToolTip( _("Copper layer type for Freerouter and other external routers.\nPower plane layers are removed from Freerouter's layer menus.") ); + + m_LayerListFlexGridSizer->Add( m_In39Choice, 0, wxEXPAND|wxLEFT|wxRIGHT, 5 ); + + m_In40CheckBox = new wxCheckBox( m_LayersListPanel, ID_IN40CHECKBOX, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 ); + m_LayerListFlexGridSizer->Add( m_In40CheckBox, 0, wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL|wxLEFT, 5 ); + + m_In40Name = new wxTextCtrl( m_LayersListPanel, ID_IN40NAME, _("In40"), wxDefaultPosition, wxDefaultSize, 0 ); + m_LayerListFlexGridSizer->Add( m_In40Name, 0, wxEXPAND|wxRIGHT, 5 ); + + wxString m_In40ChoiceChoices[] = { _("signal"), _("power plane"), _("mixed"), _("jumper") }; + int m_In40ChoiceNChoices = sizeof( m_In40ChoiceChoices ) / sizeof( wxString ); + m_In40Choice = new wxChoice( m_LayersListPanel, ID_IN40CHOICE, wxDefaultPosition, wxDefaultSize, m_In40ChoiceNChoices, m_In40ChoiceChoices, 0 ); + m_In40Choice->SetSelection( 0 ); + m_In40Choice->SetToolTip( _("Copper layer type for Freerouter and other external routers.\nPower plane layers are removed from Freerouter's layer menus.") ); + + m_LayerListFlexGridSizer->Add( m_In40Choice, 0, wxEXPAND|wxLEFT|wxRIGHT, 5 ); + + m_In41CheckBox = new wxCheckBox( m_LayersListPanel, ID_IN41CHECKBOX, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 ); + m_LayerListFlexGridSizer->Add( m_In41CheckBox, 0, wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL|wxLEFT, 5 ); + + m_In41Name = new wxTextCtrl( m_LayersListPanel, ID_IN41NAME, _("In41"), wxDefaultPosition, wxDefaultSize, 0 ); + m_LayerListFlexGridSizer->Add( m_In41Name, 0, wxEXPAND|wxRIGHT, 5 ); + + wxString m_In41ChoiceChoices[] = { _("signal"), _("power plane"), _("mixed"), _("jumper") }; + int m_In41ChoiceNChoices = sizeof( m_In41ChoiceChoices ) / sizeof( wxString ); + m_In41Choice = new wxChoice( m_LayersListPanel, ID_IN41CHOICE, wxDefaultPosition, wxDefaultSize, m_In41ChoiceNChoices, m_In41ChoiceChoices, 0 ); + m_In41Choice->SetSelection( 0 ); + m_In41Choice->SetToolTip( _("Copper layer type for Freerouter and other external routers.\nPower plane layers are removed from Freerouter's layer menus.") ); + + m_LayerListFlexGridSizer->Add( m_In41Choice, 0, wxEXPAND|wxLEFT|wxRIGHT, 5 ); + + m_In42CheckBox = new wxCheckBox( m_LayersListPanel, ID_IN42CHECKBOX, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 ); + m_LayerListFlexGridSizer->Add( m_In42CheckBox, 0, wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL|wxLEFT, 5 ); + + m_In42Name = new wxTextCtrl( m_LayersListPanel, ID_IN42NAME, _("In42"), wxDefaultPosition, wxDefaultSize, 0 ); + m_LayerListFlexGridSizer->Add( m_In42Name, 0, wxEXPAND|wxRIGHT, 5 ); + + wxString m_In42ChoiceChoices[] = { _("signal"), _("power plane"), _("mixed"), _("jumper") }; + int m_In42ChoiceNChoices = sizeof( m_In42ChoiceChoices ) / sizeof( wxString ); + m_In42Choice = new wxChoice( m_LayersListPanel, ID_IN42CHOICE, wxDefaultPosition, wxDefaultSize, m_In42ChoiceNChoices, m_In42ChoiceChoices, 0 ); + m_In42Choice->SetSelection( 0 ); + m_In42Choice->SetToolTip( _("Copper layer type for Freerouter and other external routers.\nPower plane layers are removed from Freerouter's layer menus.") ); + + m_LayerListFlexGridSizer->Add( m_In42Choice, 0, wxEXPAND|wxLEFT|wxRIGHT, 5 ); + + m_In43CheckBox = new wxCheckBox( m_LayersListPanel, ID_IN43CHECKBOX, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 ); + m_LayerListFlexGridSizer->Add( m_In43CheckBox, 0, wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL|wxLEFT, 5 ); + + m_In43Name = new wxTextCtrl( m_LayersListPanel, ID_IN43NAME, _("In43"), wxDefaultPosition, wxDefaultSize, 0 ); + m_LayerListFlexGridSizer->Add( m_In43Name, 0, wxEXPAND|wxRIGHT, 5 ); + + wxString m_In43ChoiceChoices[] = { _("signal"), _("power plane"), _("mixed"), _("jumper") }; + int m_In43ChoiceNChoices = sizeof( m_In43ChoiceChoices ) / sizeof( wxString ); + m_In43Choice = new wxChoice( m_LayersListPanel, ID_IN43CHOICE, wxDefaultPosition, wxDefaultSize, m_In43ChoiceNChoices, m_In43ChoiceChoices, 0 ); + m_In43Choice->SetSelection( 0 ); + m_In43Choice->SetToolTip( _("Copper layer type for Freerouter and other external routers.\nPower plane layers are removed from Freerouter's layer menus.") ); + + m_LayerListFlexGridSizer->Add( m_In43Choice, 0, wxEXPAND|wxLEFT|wxRIGHT, 5 ); + + m_In44CheckBox = new wxCheckBox( m_LayersListPanel, ID_IN44CHECKBOX, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 ); + m_LayerListFlexGridSizer->Add( m_In44CheckBox, 0, wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL|wxLEFT, 5 ); + + m_In44Name = new wxTextCtrl( m_LayersListPanel, ID_IN44NAME, _("In44"), wxDefaultPosition, wxDefaultSize, 0 ); + m_LayerListFlexGridSizer->Add( m_In44Name, 0, wxEXPAND|wxRIGHT, 5 ); + + wxString m_In44ChoiceChoices[] = { _("signal"), _("power plane"), _("mixed"), _("jumper") }; + int m_In44ChoiceNChoices = sizeof( m_In44ChoiceChoices ) / sizeof( wxString ); + m_In44Choice = new wxChoice( m_LayersListPanel, ID_IN44CHOICE, wxDefaultPosition, wxDefaultSize, m_In44ChoiceNChoices, m_In44ChoiceChoices, 0 ); + m_In44Choice->SetSelection( 0 ); + m_In44Choice->SetToolTip( _("Copper layer type for Freerouter and other external routers.\nPower plane layers are removed from Freerouter's layer menus.") ); + + m_LayerListFlexGridSizer->Add( m_In44Choice, 0, wxEXPAND|wxLEFT|wxRIGHT, 5 ); + + m_In45CheckBox = new wxCheckBox( m_LayersListPanel, ID_IN45CHECKBOX, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 ); + m_LayerListFlexGridSizer->Add( m_In45CheckBox, 0, wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL|wxLEFT, 5 ); + + m_In45Name = new wxTextCtrl( m_LayersListPanel, ID_IN45NAME, _("In45"), wxDefaultPosition, wxDefaultSize, 0 ); + m_LayerListFlexGridSizer->Add( m_In45Name, 0, wxEXPAND|wxRIGHT, 5 ); + + wxString m_In45ChoiceChoices[] = { _("signal"), _("power plane"), _("mixed"), _("jumper") }; + int m_In45ChoiceNChoices = sizeof( m_In45ChoiceChoices ) / sizeof( wxString ); + m_In45Choice = new wxChoice( m_LayersListPanel, ID_IN45CHOICE, wxDefaultPosition, wxDefaultSize, m_In45ChoiceNChoices, m_In45ChoiceChoices, 0 ); + m_In45Choice->SetSelection( 0 ); + m_In45Choice->SetToolTip( _("Copper layer type for Freerouter and other external routers.\nPower plane layers are removed from Freerouter's layer menus.") ); + + m_LayerListFlexGridSizer->Add( m_In45Choice, 0, wxEXPAND|wxLEFT|wxRIGHT, 5 ); + + m_In46CheckBox = new wxCheckBox( m_LayersListPanel, ID_IN46CHECKBOX, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 ); + m_LayerListFlexGridSizer->Add( m_In46CheckBox, 0, wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL|wxLEFT, 5 ); + + m_In46Name = new wxTextCtrl( m_LayersListPanel, ID_IN46NAME, _("In46"), wxDefaultPosition, wxDefaultSize, 0 ); + m_LayerListFlexGridSizer->Add( m_In46Name, 0, wxEXPAND|wxRIGHT, 5 ); + + wxString m_In46ChoiceChoices[] = { _("signal"), _("power plane"), _("mixed"), _("jumper") }; + int m_In46ChoiceNChoices = sizeof( m_In46ChoiceChoices ) / sizeof( wxString ); + m_In46Choice = new wxChoice( m_LayersListPanel, ID_IN46CHOICE, wxDefaultPosition, wxDefaultSize, m_In46ChoiceNChoices, m_In46ChoiceChoices, 0 ); + m_In46Choice->SetSelection( 0 ); + m_In46Choice->SetToolTip( _("Copper layer type for Freerouter and other external routers.\nPower plane layers are removed from Freerouter's layer menus.") ); + + m_LayerListFlexGridSizer->Add( m_In46Choice, 0, wxEXPAND|wxLEFT|wxRIGHT, 5 ); + + m_In47CheckBox = new wxCheckBox( m_LayersListPanel, ID_IN47CHECKBOX, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 ); + m_LayerListFlexGridSizer->Add( m_In47CheckBox, 0, wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL|wxLEFT, 5 ); + + m_In47Name = new wxTextCtrl( m_LayersListPanel, ID_IN47NAME, _("In47"), wxDefaultPosition, wxDefaultSize, 0 ); + m_LayerListFlexGridSizer->Add( m_In47Name, 0, wxEXPAND|wxRIGHT, 5 ); + + wxString m_In47ChoiceChoices[] = { _("signal"), _("power plane"), _("mixed"), _("jumper") }; + int m_In47ChoiceNChoices = sizeof( m_In47ChoiceChoices ) / sizeof( wxString ); + m_In47Choice = new wxChoice( m_LayersListPanel, ID_IN47CHOICE, wxDefaultPosition, wxDefaultSize, m_In47ChoiceNChoices, m_In47ChoiceChoices, 0 ); + m_In47Choice->SetSelection( 0 ); + m_In47Choice->SetToolTip( _("Copper layer type for Freerouter and other external routers.\nPower plane layers are removed from Freerouter's layer menus.") ); + + m_LayerListFlexGridSizer->Add( m_In47Choice, 0, wxEXPAND|wxLEFT|wxRIGHT, 5 ); + + m_In48CheckBox = new wxCheckBox( m_LayersListPanel, ID_IN48CHECKBOX, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 ); + m_LayerListFlexGridSizer->Add( m_In48CheckBox, 0, wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL|wxLEFT, 5 ); + + m_In48Name = new wxTextCtrl( m_LayersListPanel, ID_IN48NAME, _("In48"), wxDefaultPosition, wxDefaultSize, 0 ); + m_LayerListFlexGridSizer->Add( m_In48Name, 0, wxEXPAND|wxRIGHT, 5 ); + + wxString m_In48ChoiceChoices[] = { _("signal"), _("power plane"), _("mixed"), _("jumper") }; + int m_In48ChoiceNChoices = sizeof( m_In48ChoiceChoices ) / sizeof( wxString ); + m_In48Choice = new wxChoice( m_LayersListPanel, ID_IN48CHOICE, wxDefaultPosition, wxDefaultSize, m_In48ChoiceNChoices, m_In48ChoiceChoices, 0 ); + m_In48Choice->SetSelection( 0 ); + m_In48Choice->SetToolTip( _("Copper layer type for Freerouter and other external routers.\nPower plane layers are removed from Freerouter's layer menus.") ); + + m_LayerListFlexGridSizer->Add( m_In48Choice, 0, wxEXPAND|wxLEFT|wxRIGHT, 5 ); + + m_In49CheckBox = new wxCheckBox( m_LayersListPanel, ID_IN49CHECKBOX, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 ); + m_LayerListFlexGridSizer->Add( m_In49CheckBox, 0, wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL|wxLEFT, 5 ); + + m_In49Name = new wxTextCtrl( m_LayersListPanel, ID_IN49NAME, _("In49"), wxDefaultPosition, wxDefaultSize, 0 ); + m_LayerListFlexGridSizer->Add( m_In49Name, 0, wxEXPAND|wxRIGHT, 5 ); + + wxString m_In49ChoiceChoices[] = { _("signal"), _("power plane"), _("mixed"), _("jumper") }; + int m_In49ChoiceNChoices = sizeof( m_In49ChoiceChoices ) / sizeof( wxString ); + m_In49Choice = new wxChoice( m_LayersListPanel, ID_IN49CHOICE, wxDefaultPosition, wxDefaultSize, m_In49ChoiceNChoices, m_In49ChoiceChoices, 0 ); + m_In49Choice->SetSelection( 0 ); + m_In49Choice->SetToolTip( _("Copper layer type for Freerouter and other external routers.\nPower plane layers are removed from Freerouter's layer menus.") ); + + m_LayerListFlexGridSizer->Add( m_In49Choice, 0, wxEXPAND|wxLEFT|wxRIGHT, 5 ); + + m_In50CheckBox = new wxCheckBox( m_LayersListPanel, ID_IN50CHECKBOX, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 ); + m_LayerListFlexGridSizer->Add( m_In50CheckBox, 0, wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL|wxLEFT, 5 ); + + m_In50Name = new wxTextCtrl( m_LayersListPanel, ID_IN50NAME, _("In50"), wxDefaultPosition, wxDefaultSize, 0 ); + m_LayerListFlexGridSizer->Add( m_In50Name, 0, wxEXPAND|wxRIGHT, 5 ); + + wxString m_In50ChoiceChoices[] = { _("signal"), _("power plane"), _("mixed"), _("jumper") }; + int m_In50ChoiceNChoices = sizeof( m_In50ChoiceChoices ) / sizeof( wxString ); + m_In50Choice = new wxChoice( m_LayersListPanel, ID_IN50CHOICE, wxDefaultPosition, wxDefaultSize, m_In50ChoiceNChoices, m_In50ChoiceChoices, 0 ); + m_In50Choice->SetSelection( 0 ); + m_In50Choice->SetToolTip( _("Copper layer type for Freerouter and other external routers.\nPower plane layers are removed from Freerouter's layer menus.") ); + + m_LayerListFlexGridSizer->Add( m_In50Choice, 0, wxEXPAND|wxLEFT|wxRIGHT, 5 ); + + m_In51CheckBox = new wxCheckBox( m_LayersListPanel, ID_IN51CHECKBOX, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 ); + m_LayerListFlexGridSizer->Add( m_In51CheckBox, 0, wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL|wxLEFT, 5 ); + + m_In51Name = new wxTextCtrl( m_LayersListPanel, ID_IN51NAME, _("In51"), wxDefaultPosition, wxDefaultSize, 0 ); + m_LayerListFlexGridSizer->Add( m_In51Name, 0, wxEXPAND|wxRIGHT, 5 ); + + wxString m_In51ChoiceChoices[] = { _("signal"), _("power plane"), _("mixed"), _("jumper") }; + int m_In51ChoiceNChoices = sizeof( m_In51ChoiceChoices ) / sizeof( wxString ); + m_In51Choice = new wxChoice( m_LayersListPanel, ID_IN51CHOICE, wxDefaultPosition, wxDefaultSize, m_In51ChoiceNChoices, m_In51ChoiceChoices, 0 ); + m_In51Choice->SetSelection( 0 ); + m_In51Choice->SetToolTip( _("Copper layer type for Freerouter and other external routers.\nPower plane layers are removed from Freerouter's layer menus.") ); + + m_LayerListFlexGridSizer->Add( m_In51Choice, 0, wxEXPAND|wxLEFT|wxRIGHT, 5 ); + + m_In52CheckBox = new wxCheckBox( m_LayersListPanel, ID_IN52CHECKBOX, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 ); + m_LayerListFlexGridSizer->Add( m_In52CheckBox, 0, wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL|wxLEFT, 5 ); + + m_In52Name = new wxTextCtrl( m_LayersListPanel, ID_IN52NAME, _("In52"), wxDefaultPosition, wxDefaultSize, 0 ); + m_LayerListFlexGridSizer->Add( m_In52Name, 0, wxEXPAND|wxRIGHT, 5 ); + + wxString m_In52ChoiceChoices[] = { _("signal"), _("power plane"), _("mixed"), _("jumper") }; + int m_In52ChoiceNChoices = sizeof( m_In52ChoiceChoices ) / sizeof( wxString ); + m_In52Choice = new wxChoice( m_LayersListPanel, ID_IN52CHOICE, wxDefaultPosition, wxDefaultSize, m_In52ChoiceNChoices, m_In52ChoiceChoices, 0 ); + m_In52Choice->SetSelection( 0 ); + m_In52Choice->SetToolTip( _("Copper layer type for Freerouter and other external routers.\nPower plane layers are removed from Freerouter's layer menus.") ); + + m_LayerListFlexGridSizer->Add( m_In52Choice, 0, wxEXPAND|wxLEFT|wxRIGHT, 5 ); + + m_In53CheckBox = new wxCheckBox( m_LayersListPanel, ID_IN53CHECKBOX, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 ); + m_LayerListFlexGridSizer->Add( m_In53CheckBox, 0, wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL|wxLEFT, 5 ); + + m_In53Name = new wxTextCtrl( m_LayersListPanel, ID_IN53NAME, _("In53"), wxDefaultPosition, wxDefaultSize, 0 ); + m_LayerListFlexGridSizer->Add( m_In53Name, 0, wxEXPAND|wxRIGHT, 5 ); + + wxString m_In53ChoiceChoices[] = { _("signal"), _("power plane"), _("mixed"), _("jumper") }; + int m_In53ChoiceNChoices = sizeof( m_In53ChoiceChoices ) / sizeof( wxString ); + m_In53Choice = new wxChoice( m_LayersListPanel, ID_IN53CHOICE, wxDefaultPosition, wxDefaultSize, m_In53ChoiceNChoices, m_In53ChoiceChoices, 0 ); + m_In53Choice->SetSelection( 0 ); + m_In53Choice->SetToolTip( _("Copper layer type for Freerouter and other external routers.\nPower plane layers are removed from Freerouter's layer menus.") ); + + m_LayerListFlexGridSizer->Add( m_In53Choice, 0, wxEXPAND|wxLEFT|wxRIGHT, 5 ); + + m_In54CheckBox = new wxCheckBox( m_LayersListPanel, ID_IN54CHECKBOX, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 ); + m_LayerListFlexGridSizer->Add( m_In54CheckBox, 0, wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL|wxLEFT, 5 ); + + m_In54Name = new wxTextCtrl( m_LayersListPanel, ID_IN54NAME, _("In54"), wxDefaultPosition, wxDefaultSize, 0 ); + m_LayerListFlexGridSizer->Add( m_In54Name, 0, wxEXPAND|wxRIGHT, 5 ); + + wxString m_In54ChoiceChoices[] = { _("signal"), _("power plane"), _("mixed"), _("jumper") }; + int m_In54ChoiceNChoices = sizeof( m_In54ChoiceChoices ) / sizeof( wxString ); + m_In54Choice = new wxChoice( m_LayersListPanel, ID_IN54CHOICE, wxDefaultPosition, wxDefaultSize, m_In54ChoiceNChoices, m_In54ChoiceChoices, 0 ); + m_In54Choice->SetSelection( 0 ); + m_In54Choice->SetToolTip( _("Copper layer type for Freerouter and other external routers.\nPower plane layers are removed from Freerouter's layer menus.") ); + + m_LayerListFlexGridSizer->Add( m_In54Choice, 0, wxEXPAND|wxLEFT|wxRIGHT, 5 ); + + m_In55CheckBox = new wxCheckBox( m_LayersListPanel, ID_IN55CHECKBOX, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 ); + m_LayerListFlexGridSizer->Add( m_In55CheckBox, 0, wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL|wxLEFT, 5 ); + + m_In55Name = new wxTextCtrl( m_LayersListPanel, ID_IN55NAME, _("In55"), wxDefaultPosition, wxDefaultSize, 0 ); + m_LayerListFlexGridSizer->Add( m_In55Name, 0, wxEXPAND|wxRIGHT, 5 ); + + wxString m_In55ChoiceChoices[] = { _("signal"), _("power plane"), _("mixed"), _("jumper") }; + int m_In55ChoiceNChoices = sizeof( m_In55ChoiceChoices ) / sizeof( wxString ); + m_In55Choice = new wxChoice( m_LayersListPanel, ID_IN55CHOICE, wxDefaultPosition, wxDefaultSize, m_In55ChoiceNChoices, m_In55ChoiceChoices, 0 ); + m_In55Choice->SetSelection( 0 ); + m_In55Choice->SetToolTip( _("Copper layer type for Freerouter and other external routers.\nPower plane layers are removed from Freerouter's layer menus.") ); + + m_LayerListFlexGridSizer->Add( m_In55Choice, 0, wxEXPAND|wxLEFT|wxRIGHT, 5 ); + + m_In56CheckBox = new wxCheckBox( m_LayersListPanel, ID_IN56CHECKBOX, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 ); + m_LayerListFlexGridSizer->Add( m_In56CheckBox, 0, wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL|wxLEFT, 5 ); + + m_In56Name = new wxTextCtrl( m_LayersListPanel, ID_IN56NAME, _("In56"), wxDefaultPosition, wxDefaultSize, 0 ); + m_LayerListFlexGridSizer->Add( m_In56Name, 0, wxEXPAND|wxRIGHT, 5 ); + + wxString m_In56ChoiceChoices[] = { _("signal"), _("power plane"), _("mixed"), _("jumper") }; + int m_In56ChoiceNChoices = sizeof( m_In56ChoiceChoices ) / sizeof( wxString ); + m_In56Choice = new wxChoice( m_LayersListPanel, ID_IN56CHOICE, wxDefaultPosition, wxDefaultSize, m_In56ChoiceNChoices, m_In56ChoiceChoices, 0 ); + m_In56Choice->SetSelection( 0 ); + m_In56Choice->SetToolTip( _("Copper layer type for Freerouter and other external routers.\nPower plane layers are removed from Freerouter's layer menus.") ); + + m_LayerListFlexGridSizer->Add( m_In56Choice, 0, wxEXPAND|wxLEFT|wxRIGHT, 5 ); + + m_In57CheckBox = new wxCheckBox( m_LayersListPanel, ID_IN57CHECKBOX, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 ); + m_LayerListFlexGridSizer->Add( m_In57CheckBox, 0, wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL|wxLEFT, 5 ); + + m_In57Name = new wxTextCtrl( m_LayersListPanel, ID_IN57NAME, _("In57"), wxDefaultPosition, wxDefaultSize, 0 ); + m_LayerListFlexGridSizer->Add( m_In57Name, 0, wxEXPAND|wxRIGHT, 5 ); + + wxString m_In57ChoiceChoices[] = { _("signal"), _("power plane"), _("mixed"), _("jumper") }; + int m_In57ChoiceNChoices = sizeof( m_In57ChoiceChoices ) / sizeof( wxString ); + m_In57Choice = new wxChoice( m_LayersListPanel, ID_IN57CHOICE, wxDefaultPosition, wxDefaultSize, m_In57ChoiceNChoices, m_In57ChoiceChoices, 0 ); + m_In57Choice->SetSelection( 0 ); + m_In57Choice->SetToolTip( _("Copper layer type for Freerouter and other external routers.\nPower plane layers are removed from Freerouter's layer menus.") ); + + m_LayerListFlexGridSizer->Add( m_In57Choice, 0, wxEXPAND|wxLEFT|wxRIGHT, 5 ); + + m_In58CheckBox = new wxCheckBox( m_LayersListPanel, ID_IN58CHECKBOX, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 ); + m_LayerListFlexGridSizer->Add( m_In58CheckBox, 0, wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL|wxLEFT, 5 ); + + m_In58Name = new wxTextCtrl( m_LayersListPanel, ID_IN58NAME, _("In58"), wxDefaultPosition, wxDefaultSize, 0 ); + m_LayerListFlexGridSizer->Add( m_In58Name, 0, wxEXPAND|wxRIGHT, 5 ); + + wxString m_In58ChoiceChoices[] = { _("signal"), _("power plane"), _("mixed"), _("jumper") }; + int m_In58ChoiceNChoices = sizeof( m_In58ChoiceChoices ) / sizeof( wxString ); + m_In58Choice = new wxChoice( m_LayersListPanel, ID_IN58CHOICE, wxDefaultPosition, wxDefaultSize, m_In58ChoiceNChoices, m_In58ChoiceChoices, 0 ); + m_In58Choice->SetSelection( 0 ); + m_In58Choice->SetToolTip( _("Copper layer type for Freerouter and other external routers.\nPower plane layers are removed from Freerouter's layer menus.") ); + + m_LayerListFlexGridSizer->Add( m_In58Choice, 0, wxEXPAND|wxLEFT|wxRIGHT, 5 ); + + m_In59CheckBox = new wxCheckBox( m_LayersListPanel, ID_IN59CHECKBOX, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 ); + m_LayerListFlexGridSizer->Add( m_In59CheckBox, 0, wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL|wxLEFT, 5 ); + + m_In59Name = new wxTextCtrl( m_LayersListPanel, ID_IN59NAME, _("In59"), wxDefaultPosition, wxDefaultSize, 0 ); + m_LayerListFlexGridSizer->Add( m_In59Name, 0, wxEXPAND|wxRIGHT, 5 ); + + wxString m_In59ChoiceChoices[] = { _("signal"), _("power plane"), _("mixed"), _("jumper") }; + int m_In59ChoiceNChoices = sizeof( m_In59ChoiceChoices ) / sizeof( wxString ); + m_In59Choice = new wxChoice( m_LayersListPanel, ID_IN59CHOICE, wxDefaultPosition, wxDefaultSize, m_In59ChoiceNChoices, m_In59ChoiceChoices, 0 ); + m_In59Choice->SetSelection( 0 ); + m_In59Choice->SetToolTip( _("Copper layer type for Freerouter and other external routers.\nPower plane layers are removed from Freerouter's layer menus.") ); + + m_LayerListFlexGridSizer->Add( m_In59Choice, 0, wxEXPAND|wxLEFT|wxRIGHT, 5 ); + + m_In60CheckBox = new wxCheckBox( m_LayersListPanel, ID_IN60CHECKBOX, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 ); + m_LayerListFlexGridSizer->Add( m_In60CheckBox, 0, wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL|wxLEFT, 5 ); + + m_In60Name = new wxTextCtrl( m_LayersListPanel, ID_IN60NAME, _("In60"), wxDefaultPosition, wxDefaultSize, 0 ); + m_LayerListFlexGridSizer->Add( m_In60Name, 0, wxEXPAND|wxRIGHT, 5 ); + + wxString m_In60ChoiceChoices[] = { _("signal"), _("power plane"), _("mixed"), _("jumper") }; + int m_In60ChoiceNChoices = sizeof( m_In60ChoiceChoices ) / sizeof( wxString ); + m_In60Choice = new wxChoice( m_LayersListPanel, ID_IN60CHOICE, wxDefaultPosition, wxDefaultSize, m_In60ChoiceNChoices, m_In60ChoiceChoices, 0 ); + m_In60Choice->SetSelection( 0 ); + m_In60Choice->SetToolTip( _("Copper layer type for Freerouter and other external routers.\nPower plane layers are removed from Freerouter's layer menus.") ); + + m_LayerListFlexGridSizer->Add( m_In60Choice, 0, wxEXPAND|wxLEFT|wxRIGHT, 5 ); + + m_In61CheckBox = new wxCheckBox( m_LayersListPanel, ID_IN61CHECKBOX, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 ); + m_LayerListFlexGridSizer->Add( m_In61CheckBox, 0, wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL|wxLEFT, 5 ); + + m_In61Name = new wxTextCtrl( m_LayersListPanel, ID_IN61NAME, _("In61"), wxDefaultPosition, wxDefaultSize, 0 ); + m_LayerListFlexGridSizer->Add( m_In61Name, 0, wxEXPAND|wxRIGHT, 5 ); + + wxString m_In61ChoiceChoices[] = { _("signal"), _("power plane"), _("mixed"), _("jumper") }; + int m_In61ChoiceNChoices = sizeof( m_In61ChoiceChoices ) / sizeof( wxString ); + m_In61Choice = new wxChoice( m_LayersListPanel, ID_IN61CHOICE, wxDefaultPosition, wxDefaultSize, m_In61ChoiceNChoices, m_In61ChoiceChoices, 0 ); + m_In61Choice->SetSelection( 0 ); + m_In61Choice->SetToolTip( _("Copper layer type for Freerouter and other external routers.\nPower plane layers are removed from Freerouter's layer menus.") ); + + m_LayerListFlexGridSizer->Add( m_In61Choice, 0, wxEXPAND|wxLEFT|wxRIGHT, 5 ); + + m_In62CheckBox = new wxCheckBox( m_LayersListPanel, ID_IN62CHECKBOX, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 ); + m_LayerListFlexGridSizer->Add( m_In62CheckBox, 0, wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL|wxLEFT, 5 ); + + m_In62Name = new wxTextCtrl( m_LayersListPanel, ID_IN62NAME, _("In62"), wxDefaultPosition, wxDefaultSize, 0 ); + m_LayerListFlexGridSizer->Add( m_In62Name, 0, wxEXPAND|wxRIGHT, 5 ); + + wxString m_In62ChoiceChoices[] = { _("signal"), _("power plane"), _("mixed"), _("jumper") }; + int m_In62ChoiceNChoices = sizeof( m_In62ChoiceChoices ) / sizeof( wxString ); + m_In62Choice = new wxChoice( m_LayersListPanel, ID_IN62CHOICE, wxDefaultPosition, wxDefaultSize, m_In62ChoiceNChoices, m_In62ChoiceChoices, 0 ); + m_In62Choice->SetSelection( 0 ); + m_In62Choice->SetToolTip( _("Copper layer type for Freerouter and other external routers.\nPower plane layers are removed from Freerouter's layer menus.") ); + + m_LayerListFlexGridSizer->Add( m_In62Choice, 0, wxEXPAND|wxLEFT|wxRIGHT, 5 ); + m_BackCheckBox = new wxCheckBox( m_LayersListPanel, ID_BACKCHECKBOX, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 ); m_BackCheckBox->SetToolTip( _("If you want a back copper layer") ); @@ -876,6 +1296,36 @@ m_In30CheckBox->Connect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( PANEL_SETUP_LAYERS_BASE::DenyChangeCheckBox ), NULL, this ); m_In31CheckBox->Connect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( PANEL_SETUP_LAYERS_BASE::DenyChangeCheckBox ), NULL, this ); m_In32CheckBox->Connect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( PANEL_SETUP_LAYERS_BASE::DenyChangeCheckBox ), NULL, this ); + m_In33CheckBox->Connect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( PANEL_SETUP_LAYERS_BASE::DenyChangeCheckBox ), NULL, this ); + m_In34CheckBox->Connect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( PANEL_SETUP_LAYERS_BASE::DenyChangeCheckBox ), NULL, this ); + m_In35CheckBox->Connect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( PANEL_SETUP_LAYERS_BASE::DenyChangeCheckBox ), NULL, this ); + m_In36CheckBox->Connect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( PANEL_SETUP_LAYERS_BASE::DenyChangeCheckBox ), NULL, this ); + m_In37CheckBox->Connect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( PANEL_SETUP_LAYERS_BASE::DenyChangeCheckBox ), NULL, this ); + m_In38CheckBox->Connect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( PANEL_SETUP_LAYERS_BASE::DenyChangeCheckBox ), NULL, this ); + m_In39CheckBox->Connect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( PANEL_SETUP_LAYERS_BASE::DenyChangeCheckBox ), NULL, this ); + m_In40CheckBox->Connect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( PANEL_SETUP_LAYERS_BASE::DenyChangeCheckBox ), NULL, this ); + m_In41CheckBox->Connect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( PANEL_SETUP_LAYERS_BASE::DenyChangeCheckBox ), NULL, this ); + m_In42CheckBox->Connect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( PANEL_SETUP_LAYERS_BASE::DenyChangeCheckBox ), NULL, this ); + m_In43CheckBox->Connect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( PANEL_SETUP_LAYERS_BASE::DenyChangeCheckBox ), NULL, this ); + m_In44CheckBox->Connect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( PANEL_SETUP_LAYERS_BASE::DenyChangeCheckBox ), NULL, this ); + m_In45CheckBox->Connect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( PANEL_SETUP_LAYERS_BASE::DenyChangeCheckBox ), NULL, this ); + m_In46CheckBox->Connect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( PANEL_SETUP_LAYERS_BASE::DenyChangeCheckBox ), NULL, this ); + m_In47CheckBox->Connect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( PANEL_SETUP_LAYERS_BASE::DenyChangeCheckBox ), NULL, this ); + m_In48CheckBox->Connect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( PANEL_SETUP_LAYERS_BASE::DenyChangeCheckBox ), NULL, this ); + m_In49CheckBox->Connect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( PANEL_SETUP_LAYERS_BASE::DenyChangeCheckBox ), NULL, this ); + m_In50CheckBox->Connect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( PANEL_SETUP_LAYERS_BASE::DenyChangeCheckBox ), NULL, this ); + m_In51CheckBox->Connect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( PANEL_SETUP_LAYERS_BASE::DenyChangeCheckBox ), NULL, this ); + m_In52CheckBox->Connect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( PANEL_SETUP_LAYERS_BASE::DenyChangeCheckBox ), NULL, this ); + m_In53CheckBox->Connect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( PANEL_SETUP_LAYERS_BASE::DenyChangeCheckBox ), NULL, this ); + m_In54CheckBox->Connect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( PANEL_SETUP_LAYERS_BASE::DenyChangeCheckBox ), NULL, this ); + m_In55CheckBox->Connect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( PANEL_SETUP_LAYERS_BASE::DenyChangeCheckBox ), NULL, this ); + m_In56CheckBox->Connect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( PANEL_SETUP_LAYERS_BASE::DenyChangeCheckBox ), NULL, this ); + m_In57CheckBox->Connect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( PANEL_SETUP_LAYERS_BASE::DenyChangeCheckBox ), NULL, this ); + m_In58CheckBox->Connect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( PANEL_SETUP_LAYERS_BASE::DenyChangeCheckBox ), NULL, this ); + m_In59CheckBox->Connect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( PANEL_SETUP_LAYERS_BASE::DenyChangeCheckBox ), NULL, this ); + m_In60CheckBox->Connect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( PANEL_SETUP_LAYERS_BASE::DenyChangeCheckBox ), NULL, this ); + m_In61CheckBox->Connect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( PANEL_SETUP_LAYERS_BASE::DenyChangeCheckBox ), NULL, this ); + m_In62CheckBox->Connect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( PANEL_SETUP_LAYERS_BASE::DenyChangeCheckBox ), NULL, this ); m_BackCheckBox->Connect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( PANEL_SETUP_LAYERS_BASE::DenyChangeCheckBox ), NULL, this ); m_MaskBackCheckBox->Connect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( PANEL_SETUP_LAYERS_BASE::OnCheckBox ), NULL, this ); m_SilkSBackCheckBox->Connect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( PANEL_SETUP_LAYERS_BASE::OnCheckBox ), NULL, this ); @@ -939,6 +1389,36 @@ m_In30CheckBox->Disconnect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( PANEL_SETUP_LAYERS_BASE::DenyChangeCheckBox ), NULL, this ); m_In31CheckBox->Disconnect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( PANEL_SETUP_LAYERS_BASE::DenyChangeCheckBox ), NULL, this ); m_In32CheckBox->Disconnect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( PANEL_SETUP_LAYERS_BASE::DenyChangeCheckBox ), NULL, this ); + m_In33CheckBox->Disconnect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( PANEL_SETUP_LAYERS_BASE::DenyChangeCheckBox ), NULL, this ); + m_In34CheckBox->Disconnect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( PANEL_SETUP_LAYERS_BASE::DenyChangeCheckBox ), NULL, this ); + m_In35CheckBox->Disconnect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( PANEL_SETUP_LAYERS_BASE::DenyChangeCheckBox ), NULL, this ); + m_In36CheckBox->Disconnect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( PANEL_SETUP_LAYERS_BASE::DenyChangeCheckBox ), NULL, this ); + m_In37CheckBox->Disconnect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( PANEL_SETUP_LAYERS_BASE::DenyChangeCheckBox ), NULL, this ); + m_In38CheckBox->Disconnect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( PANEL_SETUP_LAYERS_BASE::DenyChangeCheckBox ), NULL, this ); + m_In39CheckBox->Disconnect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( PANEL_SETUP_LAYERS_BASE::DenyChangeCheckBox ), NULL, this ); + m_In40CheckBox->Disconnect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( PANEL_SETUP_LAYERS_BASE::DenyChangeCheckBox ), NULL, this ); + m_In41CheckBox->Disconnect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( PANEL_SETUP_LAYERS_BASE::DenyChangeCheckBox ), NULL, this ); + m_In42CheckBox->Disconnect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( PANEL_SETUP_LAYERS_BASE::DenyChangeCheckBox ), NULL, this ); + m_In43CheckBox->Disconnect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( PANEL_SETUP_LAYERS_BASE::DenyChangeCheckBox ), NULL, this ); + m_In44CheckBox->Disconnect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( PANEL_SETUP_LAYERS_BASE::DenyChangeCheckBox ), NULL, this ); + m_In45CheckBox->Disconnect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( PANEL_SETUP_LAYERS_BASE::DenyChangeCheckBox ), NULL, this ); + m_In46CheckBox->Disconnect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( PANEL_SETUP_LAYERS_BASE::DenyChangeCheckBox ), NULL, this ); + m_In47CheckBox->Disconnect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( PANEL_SETUP_LAYERS_BASE::DenyChangeCheckBox ), NULL, this ); + m_In48CheckBox->Disconnect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( PANEL_SETUP_LAYERS_BASE::DenyChangeCheckBox ), NULL, this ); + m_In49CheckBox->Disconnect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( PANEL_SETUP_LAYERS_BASE::DenyChangeCheckBox ), NULL, this ); + m_In50CheckBox->Disconnect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( PANEL_SETUP_LAYERS_BASE::DenyChangeCheckBox ), NULL, this ); + m_In51CheckBox->Disconnect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( PANEL_SETUP_LAYERS_BASE::DenyChangeCheckBox ), NULL, this ); + m_In52CheckBox->Disconnect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( PANEL_SETUP_LAYERS_BASE::DenyChangeCheckBox ), NULL, this ); + m_In53CheckBox->Disconnect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( PANEL_SETUP_LAYERS_BASE::DenyChangeCheckBox ), NULL, this ); + m_In54CheckBox->Disconnect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( PANEL_SETUP_LAYERS_BASE::DenyChangeCheckBox ), NULL, this ); + m_In55CheckBox->Disconnect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( PANEL_SETUP_LAYERS_BASE::DenyChangeCheckBox ), NULL, this ); + m_In56CheckBox->Disconnect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( PANEL_SETUP_LAYERS_BASE::DenyChangeCheckBox ), NULL, this ); + m_In57CheckBox->Disconnect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( PANEL_SETUP_LAYERS_BASE::DenyChangeCheckBox ), NULL, this ); + m_In58CheckBox->Disconnect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( PANEL_SETUP_LAYERS_BASE::DenyChangeCheckBox ), NULL, this ); + m_In59CheckBox->Disconnect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( PANEL_SETUP_LAYERS_BASE::DenyChangeCheckBox ), NULL, this ); + m_In60CheckBox->Disconnect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( PANEL_SETUP_LAYERS_BASE::DenyChangeCheckBox ), NULL, this ); + m_In61CheckBox->Disconnect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( PANEL_SETUP_LAYERS_BASE::DenyChangeCheckBox ), NULL, this ); + m_In62CheckBox->Disconnect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( PANEL_SETUP_LAYERS_BASE::DenyChangeCheckBox ), NULL, this ); m_BackCheckBox->Disconnect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( PANEL_SETUP_LAYERS_BASE::DenyChangeCheckBox ), NULL, this ); m_MaskBackCheckBox->Disconnect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( PANEL_SETUP_LAYERS_BASE::OnCheckBox ), NULL, this ); m_SilkSBackCheckBox->Disconnect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( PANEL_SETUP_LAYERS_BASE::OnCheckBox ), NULL, this ); Index: pcbnew/dialogs/panel_setup_layers_base.fbp =================================================================== --- pcbnew/dialogs/panel_setup_layers_base.fbp (revision 1068) +++ pcbnew/dialogs/panel_setup_layers_base.fbp (working copy) @@ -7479,7 +7479,7 @@ wxFILTER_NONE wxDefaultValidator - In30 + In31 @@ -7672,7 +7672,7 @@ wxFILTER_NONE wxDefaultValidator - In30 + In32 @@ -7742,6 +7742,5829 @@ + + + 5 + wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL|wxLEFT + 0 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 1 + + 1 + + 0 + 0 + ID_IN33CHECKBOX + + + 0 + + + 0 + + 1 + m_In33CheckBox + 1 + + + protected + 1 + + Resizable + 1 + + + + 0 + + + wxFILTER_NONE + wxDefaultValidator + + + + + DenyChangeCheckBox + + + + 5 + wxEXPAND|wxRIGHT + 0 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 1 + + 1 + + 0 + 0 + ID_IN33NAME + + 0 + + + + 0 + + 1 + m_In33Name + 1 + + + protected + 1 + + Resizable + 1 + + + + 0 + + + wxFILTER_NONE + wxDefaultValidator + + In33 + + + + + + + 5 + wxEXPAND|wxLEFT|wxRIGHT + 0 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + "signal" "power plane" "mixed" "jumper" + 1 + + 1 + 0 + Dock + 0 + Left + 1 + + 1 + + 0 + 0 + ID_IN33CHOICE + + 0 + + + 0 + + 1 + m_In33Choice + 1 + + + protected + 1 + + Resizable + 0 + 1 + + + + 0 + Copper layer type for Freerouter and other external routers. Power plane layers are removed from Freerouter's layer menus. + + wxFILTER_NONE + wxDefaultValidator + + + + + + + + + 5 + wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL|wxLEFT + 0 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 1 + + 1 + + 0 + 0 + ID_IN34CHECKBOX + + + 0 + + + 0 + + 1 + m_In34CheckBox + 1 + + + protected + 1 + + Resizable + 1 + + + + 0 + + + wxFILTER_NONE + wxDefaultValidator + + + + + DenyChangeCheckBox + + + + 5 + wxEXPAND|wxRIGHT + 0 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 1 + + 1 + + 0 + 0 + ID_IN34NAME + + 0 + + + + 0 + + 1 + m_In34Name + 1 + + + protected + 1 + + Resizable + 1 + + + + 0 + + + wxFILTER_NONE + wxDefaultValidator + + In34 + + + + + + + 5 + wxEXPAND|wxLEFT|wxRIGHT + 0 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + "signal" "power plane" "mixed" "jumper" + 1 + + 1 + 0 + Dock + 0 + Left + 1 + + 1 + + 0 + 0 + ID_IN34CHOICE + + 0 + + + 0 + + 1 + m_In34Choice + 1 + + + protected + 1 + + Resizable + 0 + 1 + + + + 0 + Copper layer type for Freerouter and other external routers. Power plane layers are removed from Freerouter's layer menus. + + wxFILTER_NONE + wxDefaultValidator + + + + + + + + + 5 + wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL|wxLEFT + 0 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 1 + + 1 + + 0 + 0 + ID_IN35CHECKBOX + + + 0 + + + 0 + + 1 + m_In35CheckBox + 1 + + + protected + 1 + + Resizable + 1 + + + + 0 + + + wxFILTER_NONE + wxDefaultValidator + + + + + DenyChangeCheckBox + + + + 5 + wxEXPAND|wxRIGHT + 0 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 1 + + 1 + + 0 + 0 + ID_IN35NAME + + 0 + + + + 0 + + 1 + m_In35Name + 1 + + + protected + 1 + + Resizable + 1 + + + + 0 + + + wxFILTER_NONE + wxDefaultValidator + + In35 + + + + + + + 5 + wxEXPAND|wxLEFT|wxRIGHT + 0 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + "signal" "power plane" "mixed" "jumper" + 1 + + 1 + 0 + Dock + 0 + Left + 1 + + 1 + + 0 + 0 + ID_IN35CHOICE + + 0 + + + 0 + + 1 + m_In35Choice + 1 + + + protected + 1 + + Resizable + 0 + 1 + + + + 0 + Copper layer type for Freerouter and other external routers. Power plane layers are removed from Freerouter's layer menus. + + wxFILTER_NONE + wxDefaultValidator + + + + + + + + + 5 + wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL|wxLEFT + 0 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 1 + + 1 + + 0 + 0 + ID_IN36CHECKBOX + + + 0 + + + 0 + + 1 + m_In36CheckBox + 1 + + + protected + 1 + + Resizable + 1 + + + + 0 + + + wxFILTER_NONE + wxDefaultValidator + + + + + DenyChangeCheckBox + + + + 5 + wxEXPAND|wxRIGHT + 0 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 1 + + 1 + + 0 + 0 + ID_IN36NAME + + 0 + + + + 0 + + 1 + m_In36Name + 1 + + + protected + 1 + + Resizable + 1 + + + + 0 + + + wxFILTER_NONE + wxDefaultValidator + + In36 + + + + + + + 5 + wxEXPAND|wxLEFT|wxRIGHT + 0 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + "signal" "power plane" "mixed" "jumper" + 1 + + 1 + 0 + Dock + 0 + Left + 1 + + 1 + + 0 + 0 + ID_IN36CHOICE + + 0 + + + 0 + + 1 + m_In36Choice + 1 + + + protected + 1 + + Resizable + 0 + 1 + + + + 0 + Copper layer type for Freerouter and other external routers. Power plane layers are removed from Freerouter's layer menus. + + wxFILTER_NONE + wxDefaultValidator + + + + + + + + + 5 + wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL|wxLEFT + 0 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 1 + + 1 + + 0 + 0 + ID_IN37CHECKBOX + + + 0 + + + 0 + + 1 + m_In37CheckBox + 1 + + + protected + 1 + + Resizable + 1 + + + + 0 + + + wxFILTER_NONE + wxDefaultValidator + + + + + DenyChangeCheckBox + + + + 5 + wxEXPAND|wxRIGHT + 0 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 1 + + 1 + + 0 + 0 + ID_IN37NAME + + 0 + + + + 0 + + 1 + m_In37Name + 1 + + + protected + 1 + + Resizable + 1 + + + + 0 + + + wxFILTER_NONE + wxDefaultValidator + + In37 + + + + + + + 5 + wxEXPAND|wxLEFT|wxRIGHT + 0 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + "signal" "power plane" "mixed" "jumper" + 1 + + 1 + 0 + Dock + 0 + Left + 1 + + 1 + + 0 + 0 + ID_IN37CHOICE + + 0 + + + 0 + + 1 + m_In37Choice + 1 + + + protected + 1 + + Resizable + 0 + 1 + + + + 0 + Copper layer type for Freerouter and other external routers. Power plane layers are removed from Freerouter's layer menus. + + wxFILTER_NONE + wxDefaultValidator + + + + + + + + + 5 + wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL|wxLEFT + 0 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 1 + + 1 + + 0 + 0 + ID_IN38CHECKBOX + + + 0 + + + 0 + + 1 + m_In38CheckBox + 1 + + + protected + 1 + + Resizable + 1 + + + + 0 + + + wxFILTER_NONE + wxDefaultValidator + + + + + DenyChangeCheckBox + + + + 5 + wxEXPAND|wxRIGHT + 0 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 1 + + 1 + + 0 + 0 + ID_IN38NAME + + 0 + + + + 0 + + 1 + m_In38Name + 1 + + + protected + 1 + + Resizable + 1 + + + + 0 + + + wxFILTER_NONE + wxDefaultValidator + + In38 + + + + + + + 5 + wxEXPAND|wxLEFT|wxRIGHT + 0 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + "signal" "power plane" "mixed" "jumper" + 1 + + 1 + 0 + Dock + 0 + Left + 1 + + 1 + + 0 + 0 + ID_IN38CHOICE + + 0 + + + 0 + + 1 + m_In38Choice + 1 + + + protected + 1 + + Resizable + 0 + 1 + + + + 0 + Copper layer type for Freerouter and other external routers. Power plane layers are removed from Freerouter's layer menus. + + wxFILTER_NONE + wxDefaultValidator + + + + + + + + + 5 + wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL|wxLEFT + 0 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 1 + + 1 + + 0 + 0 + ID_IN39CHECKBOX + + + 0 + + + 0 + + 1 + m_In39CheckBox + 1 + + + protected + 1 + + Resizable + 1 + + + + 0 + + + wxFILTER_NONE + wxDefaultValidator + + + + + DenyChangeCheckBox + + + + 5 + wxEXPAND|wxRIGHT + 0 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 1 + + 1 + + 0 + 0 + ID_IN39NAME + + 0 + + + + 0 + + 1 + m_In39Name + 1 + + + protected + 1 + + Resizable + 1 + + + + 0 + + + wxFILTER_NONE + wxDefaultValidator + + In39 + + + + + + + 5 + wxEXPAND|wxLEFT|wxRIGHT + 0 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + "signal" "power plane" "mixed" "jumper" + 1 + + 1 + 0 + Dock + 0 + Left + 1 + + 1 + + 0 + 0 + ID_IN39CHOICE + + 0 + + + 0 + + 1 + m_In39Choice + 1 + + + protected + 1 + + Resizable + 0 + 1 + + + + 0 + Copper layer type for Freerouter and other external routers. Power plane layers are removed from Freerouter's layer menus. + + wxFILTER_NONE + wxDefaultValidator + + + + + + + + + 5 + wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL|wxLEFT + 0 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 1 + + 1 + + 0 + 0 + ID_IN40CHECKBOX + + + 0 + + + 0 + + 1 + m_In40CheckBox + 1 + + + protected + 1 + + Resizable + 1 + + + + 0 + + + wxFILTER_NONE + wxDefaultValidator + + + + + DenyChangeCheckBox + + + + 5 + wxEXPAND|wxRIGHT + 0 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 1 + + 1 + + 0 + 0 + ID_IN40NAME + + 0 + + + + 0 + + 1 + m_In40Name + 1 + + + protected + 1 + + Resizable + 1 + + + + 0 + + + wxFILTER_NONE + wxDefaultValidator + + In40 + + + + + + + 5 + wxEXPAND|wxLEFT|wxRIGHT + 0 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + "signal" "power plane" "mixed" "jumper" + 1 + + 1 + 0 + Dock + 0 + Left + 1 + + 1 + + 0 + 0 + ID_IN40CHOICE + + 0 + + + 0 + + 1 + m_In40Choice + 1 + + + protected + 1 + + Resizable + 0 + 1 + + + + 0 + Copper layer type for Freerouter and other external routers. Power plane layers are removed from Freerouter's layer menus. + + wxFILTER_NONE + wxDefaultValidator + + + + + + + + + 5 + wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL|wxLEFT + 0 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 1 + + 1 + + 0 + 0 + ID_IN41CHECKBOX + + + 0 + + + 0 + + 1 + m_In41CheckBox + 1 + + + protected + 1 + + Resizable + 1 + + + + 0 + + + wxFILTER_NONE + wxDefaultValidator + + + + + DenyChangeCheckBox + + + + 5 + wxEXPAND|wxRIGHT + 0 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 1 + + 1 + + 0 + 0 + ID_IN41NAME + + 0 + + + + 0 + + 1 + m_In41Name + 1 + + + protected + 1 + + Resizable + 1 + + + + 0 + + + wxFILTER_NONE + wxDefaultValidator + + In41 + + + + + + + 5 + wxEXPAND|wxLEFT|wxRIGHT + 0 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + "signal" "power plane" "mixed" "jumper" + 1 + + 1 + 0 + Dock + 0 + Left + 1 + + 1 + + 0 + 0 + ID_IN41CHOICE + + 0 + + + 0 + + 1 + m_In41Choice + 1 + + + protected + 1 + + Resizable + 0 + 1 + + + + 0 + Copper layer type for Freerouter and other external routers. Power plane layers are removed from Freerouter's layer menus. + + wxFILTER_NONE + wxDefaultValidator + + + + + + + + + 5 + wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL|wxLEFT + 0 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 1 + + 1 + + 0 + 0 + ID_IN42CHECKBOX + + + 0 + + + 0 + + 1 + m_In42CheckBox + 1 + + + protected + 1 + + Resizable + 1 + + + + 0 + + + wxFILTER_NONE + wxDefaultValidator + + + + + DenyChangeCheckBox + + + + 5 + wxEXPAND|wxRIGHT + 0 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 1 + + 1 + + 0 + 0 + ID_IN42NAME + + 0 + + + + 0 + + 1 + m_In42Name + 1 + + + protected + 1 + + Resizable + 1 + + + + 0 + + + wxFILTER_NONE + wxDefaultValidator + + In42 + + + + + + + 5 + wxEXPAND|wxLEFT|wxRIGHT + 0 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + "signal" "power plane" "mixed" "jumper" + 1 + + 1 + 0 + Dock + 0 + Left + 1 + + 1 + + 0 + 0 + ID_IN42CHOICE + + 0 + + + 0 + + 1 + m_In42Choice + 1 + + + protected + 1 + + Resizable + 0 + 1 + + + + 0 + Copper layer type for Freerouter and other external routers. Power plane layers are removed from Freerouter's layer menus. + + wxFILTER_NONE + wxDefaultValidator + + + + + + + + + 5 + wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL|wxLEFT + 0 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 1 + + 1 + + 0 + 0 + ID_IN43CHECKBOX + + + 0 + + + 0 + + 1 + m_In43CheckBox + 1 + + + protected + 1 + + Resizable + 1 + + + + 0 + + + wxFILTER_NONE + wxDefaultValidator + + + + + DenyChangeCheckBox + + + + 5 + wxEXPAND|wxRIGHT + 0 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 1 + + 1 + + 0 + 0 + ID_IN43NAME + + 0 + + + + 0 + + 1 + m_In43Name + 1 + + + protected + 1 + + Resizable + 1 + + + + 0 + + + wxFILTER_NONE + wxDefaultValidator + + In43 + + + + + + + 5 + wxEXPAND|wxLEFT|wxRIGHT + 0 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + "signal" "power plane" "mixed" "jumper" + 1 + + 1 + 0 + Dock + 0 + Left + 1 + + 1 + + 0 + 0 + ID_IN43CHOICE + + 0 + + + 0 + + 1 + m_In43Choice + 1 + + + protected + 1 + + Resizable + 0 + 1 + + + + 0 + Copper layer type for Freerouter and other external routers. Power plane layers are removed from Freerouter's layer menus. + + wxFILTER_NONE + wxDefaultValidator + + + + + + + + + 5 + wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL|wxLEFT + 0 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 1 + + 1 + + 0 + 0 + ID_IN44CHECKBOX + + + 0 + + + 0 + + 1 + m_In44CheckBox + 1 + + + protected + 1 + + Resizable + 1 + + + + 0 + + + wxFILTER_NONE + wxDefaultValidator + + + + + DenyChangeCheckBox + + + + 5 + wxEXPAND|wxRIGHT + 0 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 1 + + 1 + + 0 + 0 + ID_IN44NAME + + 0 + + + + 0 + + 1 + m_In44Name + 1 + + + protected + 1 + + Resizable + 1 + + + + 0 + + + wxFILTER_NONE + wxDefaultValidator + + In44 + + + + + + + 5 + wxEXPAND|wxLEFT|wxRIGHT + 0 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + "signal" "power plane" "mixed" "jumper" + 1 + + 1 + 0 + Dock + 0 + Left + 1 + + 1 + + 0 + 0 + ID_IN44CHOICE + + 0 + + + 0 + + 1 + m_In44Choice + 1 + + + protected + 1 + + Resizable + 0 + 1 + + + + 0 + Copper layer type for Freerouter and other external routers. Power plane layers are removed from Freerouter's layer menus. + + wxFILTER_NONE + wxDefaultValidator + + + + + + + + + 5 + wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL|wxLEFT + 0 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 1 + + 1 + + 0 + 0 + ID_IN45CHECKBOX + + + 0 + + + 0 + + 1 + m_In45CheckBox + 1 + + + protected + 1 + + Resizable + 1 + + + + 0 + + + wxFILTER_NONE + wxDefaultValidator + + + + + DenyChangeCheckBox + + + + 5 + wxEXPAND|wxRIGHT + 0 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 1 + + 1 + + 0 + 0 + ID_IN45NAME + + 0 + + + + 0 + + 1 + m_In45Name + 1 + + + protected + 1 + + Resizable + 1 + + + + 0 + + + wxFILTER_NONE + wxDefaultValidator + + In45 + + + + + + + 5 + wxEXPAND|wxLEFT|wxRIGHT + 0 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + "signal" "power plane" "mixed" "jumper" + 1 + + 1 + 0 + Dock + 0 + Left + 1 + + 1 + + 0 + 0 + ID_IN45CHOICE + + 0 + + + 0 + + 1 + m_In45Choice + 1 + + + protected + 1 + + Resizable + 0 + 1 + + + + 0 + Copper layer type for Freerouter and other external routers. Power plane layers are removed from Freerouter's layer menus. + + wxFILTER_NONE + wxDefaultValidator + + + + + + + + + 5 + wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL|wxLEFT + 0 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 1 + + 1 + + 0 + 0 + ID_IN46CHECKBOX + + + 0 + + + 0 + + 1 + m_In46CheckBox + 1 + + + protected + 1 + + Resizable + 1 + + + + 0 + + + wxFILTER_NONE + wxDefaultValidator + + + + + DenyChangeCheckBox + + + + 5 + wxEXPAND|wxRIGHT + 0 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 1 + + 1 + + 0 + 0 + ID_IN46NAME + + 0 + + + + 0 + + 1 + m_In46Name + 1 + + + protected + 1 + + Resizable + 1 + + + + 0 + + + wxFILTER_NONE + wxDefaultValidator + + In46 + + + + + + + 5 + wxEXPAND|wxLEFT|wxRIGHT + 0 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + "signal" "power plane" "mixed" "jumper" + 1 + + 1 + 0 + Dock + 0 + Left + 1 + + 1 + + 0 + 0 + ID_IN46CHOICE + + 0 + + + 0 + + 1 + m_In46Choice + 1 + + + protected + 1 + + Resizable + 0 + 1 + + + + 0 + Copper layer type for Freerouter and other external routers. Power plane layers are removed from Freerouter's layer menus. + + wxFILTER_NONE + wxDefaultValidator + + + + + + + + + 5 + wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL|wxLEFT + 0 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 1 + + 1 + + 0 + 0 + ID_IN47CHECKBOX + + + 0 + + + 0 + + 1 + m_In47CheckBox + 1 + + + protected + 1 + + Resizable + 1 + + + + 0 + + + wxFILTER_NONE + wxDefaultValidator + + + + + DenyChangeCheckBox + + + + 5 + wxEXPAND|wxRIGHT + 0 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 1 + + 1 + + 0 + 0 + ID_IN47NAME + + 0 + + + + 0 + + 1 + m_In47Name + 1 + + + protected + 1 + + Resizable + 1 + + + + 0 + + + wxFILTER_NONE + wxDefaultValidator + + In47 + + + + + + + 5 + wxEXPAND|wxLEFT|wxRIGHT + 0 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + "signal" "power plane" "mixed" "jumper" + 1 + + 1 + 0 + Dock + 0 + Left + 1 + + 1 + + 0 + 0 + ID_IN47CHOICE + + 0 + + + 0 + + 1 + m_In47Choice + 1 + + + protected + 1 + + Resizable + 0 + 1 + + + + 0 + Copper layer type for Freerouter and other external routers. Power plane layers are removed from Freerouter's layer menus. + + wxFILTER_NONE + wxDefaultValidator + + + + + + + + + 5 + wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL|wxLEFT + 0 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 1 + + 1 + + 0 + 0 + ID_IN48CHECKBOX + + + 0 + + + 0 + + 1 + m_In48CheckBox + 1 + + + protected + 1 + + Resizable + 1 + + + + 0 + + + wxFILTER_NONE + wxDefaultValidator + + + + + DenyChangeCheckBox + + + + 5 + wxEXPAND|wxRIGHT + 0 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 1 + + 1 + + 0 + 0 + ID_IN48NAME + + 0 + + + + 0 + + 1 + m_In48Name + 1 + + + protected + 1 + + Resizable + 1 + + + + 0 + + + wxFILTER_NONE + wxDefaultValidator + + In48 + + + + + + + 5 + wxEXPAND|wxLEFT|wxRIGHT + 0 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + "signal" "power plane" "mixed" "jumper" + 1 + + 1 + 0 + Dock + 0 + Left + 1 + + 1 + + 0 + 0 + ID_IN48CHOICE + + 0 + + + 0 + + 1 + m_In48Choice + 1 + + + protected + 1 + + Resizable + 0 + 1 + + + + 0 + Copper layer type for Freerouter and other external routers. Power plane layers are removed from Freerouter's layer menus. + + wxFILTER_NONE + wxDefaultValidator + + + + + + + + + 5 + wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL|wxLEFT + 0 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 1 + + 1 + + 0 + 0 + ID_IN49CHECKBOX + + + 0 + + + 0 + + 1 + m_In49CheckBox + 1 + + + protected + 1 + + Resizable + 1 + + + + 0 + + + wxFILTER_NONE + wxDefaultValidator + + + + + DenyChangeCheckBox + + + + 5 + wxEXPAND|wxRIGHT + 0 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 1 + + 1 + + 0 + 0 + ID_IN49NAME + + 0 + + + + 0 + + 1 + m_In49Name + 1 + + + protected + 1 + + Resizable + 1 + + + + 0 + + + wxFILTER_NONE + wxDefaultValidator + + In49 + + + + + + + 5 + wxEXPAND|wxLEFT|wxRIGHT + 0 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + "signal" "power plane" "mixed" "jumper" + 1 + + 1 + 0 + Dock + 0 + Left + 1 + + 1 + + 0 + 0 + ID_IN49CHOICE + + 0 + + + 0 + + 1 + m_In49Choice + 1 + + + protected + 1 + + Resizable + 0 + 1 + + + + 0 + Copper layer type for Freerouter and other external routers. Power plane layers are removed from Freerouter's layer menus. + + wxFILTER_NONE + wxDefaultValidator + + + + + + + + + 5 + wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL|wxLEFT + 0 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 1 + + 1 + + 0 + 0 + ID_IN50CHECKBOX + + + 0 + + + 0 + + 1 + m_In50CheckBox + 1 + + + protected + 1 + + Resizable + 1 + + + + 0 + + + wxFILTER_NONE + wxDefaultValidator + + + + + DenyChangeCheckBox + + + + 5 + wxEXPAND|wxRIGHT + 0 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 1 + + 1 + + 0 + 0 + ID_IN50NAME + + 0 + + + + 0 + + 1 + m_In50Name + 1 + + + protected + 1 + + Resizable + 1 + + + + 0 + + + wxFILTER_NONE + wxDefaultValidator + + In50 + + + + + + + 5 + wxEXPAND|wxLEFT|wxRIGHT + 0 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + "signal" "power plane" "mixed" "jumper" + 1 + + 1 + 0 + Dock + 0 + Left + 1 + + 1 + + 0 + 0 + ID_IN50CHOICE + + 0 + + + 0 + + 1 + m_In50Choice + 1 + + + protected + 1 + + Resizable + 0 + 1 + + + + 0 + Copper layer type for Freerouter and other external routers. Power plane layers are removed from Freerouter's layer menus. + + wxFILTER_NONE + wxDefaultValidator + + + + + + + + + 5 + wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL|wxLEFT + 0 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 1 + + 1 + + 0 + 0 + ID_IN51CHECKBOX + + + 0 + + + 0 + + 1 + m_In51CheckBox + 1 + + + protected + 1 + + Resizable + 1 + + + + 0 + + + wxFILTER_NONE + wxDefaultValidator + + + + + DenyChangeCheckBox + + + + 5 + wxEXPAND|wxRIGHT + 0 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 1 + + 1 + + 0 + 0 + ID_IN51NAME + + 0 + + + + 0 + + 1 + m_In51Name + 1 + + + protected + 1 + + Resizable + 1 + + + + 0 + + + wxFILTER_NONE + wxDefaultValidator + + In51 + + + + + + + 5 + wxEXPAND|wxLEFT|wxRIGHT + 0 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + "signal" "power plane" "mixed" "jumper" + 1 + + 1 + 0 + Dock + 0 + Left + 1 + + 1 + + 0 + 0 + ID_IN51CHOICE + + 0 + + + 0 + + 1 + m_In51Choice + 1 + + + protected + 1 + + Resizable + 0 + 1 + + + + 0 + Copper layer type for Freerouter and other external routers. Power plane layers are removed from Freerouter's layer menus. + + wxFILTER_NONE + wxDefaultValidator + + + + + + + + + 5 + wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL|wxLEFT + 0 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 1 + + 1 + + 0 + 0 + ID_IN52CHECKBOX + + + 0 + + + 0 + + 1 + m_In52CheckBox + 1 + + + protected + 1 + + Resizable + 1 + + + + 0 + + + wxFILTER_NONE + wxDefaultValidator + + + + + DenyChangeCheckBox + + + + 5 + wxEXPAND|wxRIGHT + 0 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 1 + + 1 + + 0 + 0 + ID_IN52NAME + + 0 + + + + 0 + + 1 + m_In52Name + 1 + + + protected + 1 + + Resizable + 1 + + + + 0 + + + wxFILTER_NONE + wxDefaultValidator + + In52 + + + + + + + 5 + wxEXPAND|wxLEFT|wxRIGHT + 0 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + "signal" "power plane" "mixed" "jumper" + 1 + + 1 + 0 + Dock + 0 + Left + 1 + + 1 + + 0 + 0 + ID_IN52CHOICE + + 0 + + + 0 + + 1 + m_In52Choice + 1 + + + protected + 1 + + Resizable + 0 + 1 + + + + 0 + Copper layer type for Freerouter and other external routers. Power plane layers are removed from Freerouter's layer menus. + + wxFILTER_NONE + wxDefaultValidator + + + + + + + + + 5 + wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL|wxLEFT + 0 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 1 + + 1 + + 0 + 0 + ID_IN53CHECKBOX + + + 0 + + + 0 + + 1 + m_In53CheckBox + 1 + + + protected + 1 + + Resizable + 1 + + + + 0 + + + wxFILTER_NONE + wxDefaultValidator + + + + + DenyChangeCheckBox + + + + 5 + wxEXPAND|wxRIGHT + 0 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 1 + + 1 + + 0 + 0 + ID_IN53NAME + + 0 + + + + 0 + + 1 + m_In53Name + 1 + + + protected + 1 + + Resizable + 1 + + + + 0 + + + wxFILTER_NONE + wxDefaultValidator + + In53 + + + + + + + 5 + wxEXPAND|wxLEFT|wxRIGHT + 0 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + "signal" "power plane" "mixed" "jumper" + 1 + + 1 + 0 + Dock + 0 + Left + 1 + + 1 + + 0 + 0 + ID_IN53CHOICE + + 0 + + + 0 + + 1 + m_In53Choice + 1 + + + protected + 1 + + Resizable + 0 + 1 + + + + 0 + Copper layer type for Freerouter and other external routers. Power plane layers are removed from Freerouter's layer menus. + + wxFILTER_NONE + wxDefaultValidator + + + + + + + + + 5 + wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL|wxLEFT + 0 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 1 + + 1 + + 0 + 0 + ID_IN54CHECKBOX + + + 0 + + + 0 + + 1 + m_In54CheckBox + 1 + + + protected + 1 + + Resizable + 1 + + + + 0 + + + wxFILTER_NONE + wxDefaultValidator + + + + + DenyChangeCheckBox + + + + 5 + wxEXPAND|wxRIGHT + 0 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 1 + + 1 + + 0 + 0 + ID_IN54NAME + + 0 + + + + 0 + + 1 + m_In54Name + 1 + + + protected + 1 + + Resizable + 1 + + + + 0 + + + wxFILTER_NONE + wxDefaultValidator + + In54 + + + + + + + 5 + wxEXPAND|wxLEFT|wxRIGHT + 0 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + "signal" "power plane" "mixed" "jumper" + 1 + + 1 + 0 + Dock + 0 + Left + 1 + + 1 + + 0 + 0 + ID_IN54CHOICE + + 0 + + + 0 + + 1 + m_In54Choice + 1 + + + protected + 1 + + Resizable + 0 + 1 + + + + 0 + Copper layer type for Freerouter and other external routers. Power plane layers are removed from Freerouter's layer menus. + + wxFILTER_NONE + wxDefaultValidator + + + + + + + + + 5 + wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL|wxLEFT + 0 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 1 + + 1 + + 0 + 0 + ID_IN55CHECKBOX + + + 0 + + + 0 + + 1 + m_In55CheckBox + 1 + + + protected + 1 + + Resizable + 1 + + + + 0 + + + wxFILTER_NONE + wxDefaultValidator + + + + + DenyChangeCheckBox + + + + 5 + wxEXPAND|wxRIGHT + 0 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 1 + + 1 + + 0 + 0 + ID_IN55NAME + + 0 + + + + 0 + + 1 + m_In55Name + 1 + + + protected + 1 + + Resizable + 1 + + + + 0 + + + wxFILTER_NONE + wxDefaultValidator + + In55 + + + + + + + 5 + wxEXPAND|wxLEFT|wxRIGHT + 0 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + "signal" "power plane" "mixed" "jumper" + 1 + + 1 + 0 + Dock + 0 + Left + 1 + + 1 + + 0 + 0 + ID_IN55CHOICE + + 0 + + + 0 + + 1 + m_In55Choice + 1 + + + protected + 1 + + Resizable + 0 + 1 + + + + 0 + Copper layer type for Freerouter and other external routers. Power plane layers are removed from Freerouter's layer menus. + + wxFILTER_NONE + wxDefaultValidator + + + + + + + + + 5 + wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL|wxLEFT + 0 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 1 + + 1 + + 0 + 0 + ID_IN56CHECKBOX + + + 0 + + + 0 + + 1 + m_In56CheckBox + 1 + + + protected + 1 + + Resizable + 1 + + + + 0 + + + wxFILTER_NONE + wxDefaultValidator + + + + + DenyChangeCheckBox + + + + 5 + wxEXPAND|wxRIGHT + 0 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 1 + + 1 + + 0 + 0 + ID_IN56NAME + + 0 + + + + 0 + + 1 + m_In56Name + 1 + + + protected + 1 + + Resizable + 1 + + + + 0 + + + wxFILTER_NONE + wxDefaultValidator + + In56 + + + + + + + 5 + wxEXPAND|wxLEFT|wxRIGHT + 0 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + "signal" "power plane" "mixed" "jumper" + 1 + + 1 + 0 + Dock + 0 + Left + 1 + + 1 + + 0 + 0 + ID_IN56CHOICE + + 0 + + + 0 + + 1 + m_In56Choice + 1 + + + protected + 1 + + Resizable + 0 + 1 + + + + 0 + Copper layer type for Freerouter and other external routers. Power plane layers are removed from Freerouter's layer menus. + + wxFILTER_NONE + wxDefaultValidator + + + + + + + + + 5 + wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL|wxLEFT + 0 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 1 + + 1 + + 0 + 0 + ID_IN57CHECKBOX + + + 0 + + + 0 + + 1 + m_In57CheckBox + 1 + + + protected + 1 + + Resizable + 1 + + + + 0 + + + wxFILTER_NONE + wxDefaultValidator + + + + + DenyChangeCheckBox + + + + 5 + wxEXPAND|wxRIGHT + 0 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 1 + + 1 + + 0 + 0 + ID_IN57NAME + + 0 + + + + 0 + + 1 + m_In57Name + 1 + + + protected + 1 + + Resizable + 1 + + + + 0 + + + wxFILTER_NONE + wxDefaultValidator + + In57 + + + + + + + 5 + wxEXPAND|wxLEFT|wxRIGHT + 0 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + "signal" "power plane" "mixed" "jumper" + 1 + + 1 + 0 + Dock + 0 + Left + 1 + + 1 + + 0 + 0 + ID_IN57CHOICE + + 0 + + + 0 + + 1 + m_In57Choice + 1 + + + protected + 1 + + Resizable + 0 + 1 + + + + 0 + Copper layer type for Freerouter and other external routers. Power plane layers are removed from Freerouter's layer menus. + + wxFILTER_NONE + wxDefaultValidator + + + + + + + + + 5 + wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL|wxLEFT + 0 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 1 + + 1 + + 0 + 0 + ID_IN58CHECKBOX + + + 0 + + + 0 + + 1 + m_In58CheckBox + 1 + + + protected + 1 + + Resizable + 1 + + + + 0 + + + wxFILTER_NONE + wxDefaultValidator + + + + + DenyChangeCheckBox + + + + 5 + wxEXPAND|wxRIGHT + 0 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 1 + + 1 + + 0 + 0 + ID_IN58NAME + + 0 + + + + 0 + + 1 + m_In58Name + 1 + + + protected + 1 + + Resizable + 1 + + + + 0 + + + wxFILTER_NONE + wxDefaultValidator + + In58 + + + + + + + 5 + wxEXPAND|wxLEFT|wxRIGHT + 0 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + "signal" "power plane" "mixed" "jumper" + 1 + + 1 + 0 + Dock + 0 + Left + 1 + + 1 + + 0 + 0 + ID_IN58CHOICE + + 0 + + + 0 + + 1 + m_In58Choice + 1 + + + protected + 1 + + Resizable + 0 + 1 + + + + 0 + Copper layer type for Freerouter and other external routers. Power plane layers are removed from Freerouter's layer menus. + + wxFILTER_NONE + wxDefaultValidator + + + + + + + + + 5 + wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL|wxLEFT + 0 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 1 + + 1 + + 0 + 0 + ID_IN59CHECKBOX + + + 0 + + + 0 + + 1 + m_In59CheckBox + 1 + + + protected + 1 + + Resizable + 1 + + + + 0 + + + wxFILTER_NONE + wxDefaultValidator + + + + + DenyChangeCheckBox + + + + 5 + wxEXPAND|wxRIGHT + 0 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 1 + + 1 + + 0 + 0 + ID_IN59NAME + + 0 + + + + 0 + + 1 + m_In59Name + 1 + + + protected + 1 + + Resizable + 1 + + + + 0 + + + wxFILTER_NONE + wxDefaultValidator + + In59 + + + + + + + 5 + wxEXPAND|wxLEFT|wxRIGHT + 0 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + "signal" "power plane" "mixed" "jumper" + 1 + + 1 + 0 + Dock + 0 + Left + 1 + + 1 + + 0 + 0 + ID_IN59CHOICE + + 0 + + + 0 + + 1 + m_In59Choice + 1 + + + protected + 1 + + Resizable + 0 + 1 + + + + 0 + Copper layer type for Freerouter and other external routers. Power plane layers are removed from Freerouter's layer menus. + + wxFILTER_NONE + wxDefaultValidator + + + + + + + + + 5 + wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL|wxLEFT + 0 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 1 + + 1 + + 0 + 0 + ID_IN60CHECKBOX + + + 0 + + + 0 + + 1 + m_In60CheckBox + 1 + + + protected + 1 + + Resizable + 1 + + + + 0 + + + wxFILTER_NONE + wxDefaultValidator + + + + + DenyChangeCheckBox + + + + 5 + wxEXPAND|wxRIGHT + 0 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 1 + + 1 + + 0 + 0 + ID_IN60NAME + + 0 + + + + 0 + + 1 + m_In60Name + 1 + + + protected + 1 + + Resizable + 1 + + + + 0 + + + wxFILTER_NONE + wxDefaultValidator + + In60 + + + + + + + 5 + wxEXPAND|wxLEFT|wxRIGHT + 0 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + "signal" "power plane" "mixed" "jumper" + 1 + + 1 + 0 + Dock + 0 + Left + 1 + + 1 + + 0 + 0 + ID_IN60CHOICE + + 0 + + + 0 + + 1 + m_In60Choice + 1 + + + protected + 1 + + Resizable + 0 + 1 + + + + 0 + Copper layer type for Freerouter and other external routers. Power plane layers are removed from Freerouter's layer menus. + + wxFILTER_NONE + wxDefaultValidator + + + + + + + + + 5 + wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL|wxLEFT + 0 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 1 + + 1 + + 0 + 0 + ID_IN61CHECKBOX + + + 0 + + + 0 + + 1 + m_In61CheckBox + 1 + + + protected + 1 + + Resizable + 1 + + + + 0 + + + wxFILTER_NONE + wxDefaultValidator + + + + + DenyChangeCheckBox + + + + 5 + wxEXPAND|wxRIGHT + 0 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 1 + + 1 + + 0 + 0 + ID_IN61NAME + + 0 + + + + 0 + + 1 + m_In61Name + 1 + + + protected + 1 + + Resizable + 1 + + + + 0 + + + wxFILTER_NONE + wxDefaultValidator + + In61 + + + + + + + 5 + wxEXPAND|wxLEFT|wxRIGHT + 0 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + "signal" "power plane" "mixed" "jumper" + 1 + + 1 + 0 + Dock + 0 + Left + 1 + + 1 + + 0 + 0 + ID_IN61CHOICE + + 0 + + + 0 + + 1 + m_In61Choice + 1 + + + protected + 1 + + Resizable + 0 + 1 + + + + 0 + Copper layer type for Freerouter and other external routers. Power plane layers are removed from Freerouter's layer menus. + + wxFILTER_NONE + wxDefaultValidator + + + + + + + + + 5 + wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL|wxLEFT + 0 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 1 + + 1 + + 0 + 0 + ID_IN62CHECKBOX + + + 0 + + + 0 + + 1 + m_In62CheckBox + 1 + + + protected + 1 + + Resizable + 1 + + + + 0 + + + wxFILTER_NONE + wxDefaultValidator + + + + + DenyChangeCheckBox + + + + 5 + wxEXPAND|wxRIGHT + 0 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 1 + + 1 + + 0 + 0 + ID_IN62NAME + + 0 + + + + 0 + + 1 + m_In62Name + 1 + + + protected + 1 + + Resizable + 1 + + + + 0 + + + wxFILTER_NONE + wxDefaultValidator + + In62 + + + + + + + 5 + wxEXPAND|wxLEFT|wxRIGHT + 0 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + "signal" "power plane" "mixed" "jumper" + 1 + + 1 + 0 + Dock + 0 + Left + 1 + + 1 + + 0 + 0 + ID_IN62CHOICE + + 0 + + + 0 + + 1 + m_In62Choice + 1 + + + protected + 1 + + Resizable + 0 + 1 + + + + 0 + Copper layer type for Freerouter and other external routers. Power plane layers are removed from Freerouter's layer menus. + + wxFILTER_NONE + wxDefaultValidator + + + + + + + + + 5 wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL|wxLEFT Index: pcbnew/dialogs/panel_setup_layers_base.h =================================================================== --- pcbnew/dialogs/panel_setup_layers_base.h (revision 1068) +++ pcbnew/dialogs/panel_setup_layers_base.h (working copy) @@ -139,29 +139,119 @@ #define ID_IN32CHECKBOX 1106 #define ID_IN32NAME 1107 #define ID_IN32CHOICE 1108 -#define ID_BACKCHECKBOX 1109 -#define ID_BACKNAME 1110 -#define ID_BACKCHOICE 1111 -#define ID_MASKBACKCHECKBOX 1112 -#define ID_MASKBACKCHOICE 1113 -#define ID_SILKSBACKCHECKBOX 1114 -#define ID_SILKSBACKCHOICE 1115 -#define ID_SOLDPBACKCHECKBOX 1116 -#define ID_SOLDPBACKCHOICE 1117 -#define ID_ADHESBACKCHECKBOX 1118 -#define ID_ADHESBACKCHOICE 1119 -#define ID_FABBACKCHECKBOX 1120 -#define ID_FABBACKCHOICE 1121 -#define ID_CRTYDBACKCHOICE 1122 -#define ID_PCBEDGESCHOICE 1123 -#define ID_ECO2CHOICE 1124 -#define ID_ECO2CHECKBOX 1125 -#define ID_ECO1CHECKBOX 1126 -#define ID_ECO1CHOICE 1127 -#define ID_COMMENTSCHECKBOX 1128 -#define ID_COMMENTSCHOICE 1129 -#define ID_DRAWINGSCHECKBOX 1130 -#define ID_DRAWINGSCHOICE 1131 +#define ID_IN33CHECKBOX 1109 +#define ID_IN33NAME 1110 +#define ID_IN33CHOICE 1111 +#define ID_IN34CHECKBOX 1112 +#define ID_IN34NAME 1113 +#define ID_IN34CHOICE 1114 +#define ID_IN35CHECKBOX 1115 +#define ID_IN35NAME 1116 +#define ID_IN35CHOICE 1117 +#define ID_IN36CHECKBOX 1118 +#define ID_IN36NAME 1119 +#define ID_IN36CHOICE 1120 +#define ID_IN37CHECKBOX 1121 +#define ID_IN37NAME 1122 +#define ID_IN37CHOICE 1123 +#define ID_IN38CHECKBOX 1124 +#define ID_IN38NAME 1125 +#define ID_IN38CHOICE 1126 +#define ID_IN39CHECKBOX 1127 +#define ID_IN39NAME 1128 +#define ID_IN39CHOICE 1129 +#define ID_IN40CHECKBOX 1130 +#define ID_IN40NAME 1131 +#define ID_IN40CHOICE 1132 +#define ID_IN41CHECKBOX 1133 +#define ID_IN41NAME 1134 +#define ID_IN41CHOICE 1135 +#define ID_IN42CHECKBOX 1136 +#define ID_IN42NAME 1137 +#define ID_IN42CHOICE 1138 +#define ID_IN43CHECKBOX 1139 +#define ID_IN43NAME 1140 +#define ID_IN43CHOICE 1141 +#define ID_IN44CHECKBOX 1142 +#define ID_IN44NAME 1143 +#define ID_IN44CHOICE 1144 +#define ID_IN45CHECKBOX 1145 +#define ID_IN45NAME 1146 +#define ID_IN45CHOICE 1147 +#define ID_IN46CHECKBOX 1148 +#define ID_IN46NAME 1149 +#define ID_IN46CHOICE 1150 +#define ID_IN47CHECKBOX 1151 +#define ID_IN47NAME 1152 +#define ID_IN47CHOICE 1153 +#define ID_IN48CHECKBOX 1154 +#define ID_IN48NAME 1155 +#define ID_IN48CHOICE 1156 +#define ID_IN49CHECKBOX 1157 +#define ID_IN49NAME 1158 +#define ID_IN49CHOICE 1159 +#define ID_IN50CHECKBOX 1160 +#define ID_IN50NAME 1161 +#define ID_IN50CHOICE 1162 +#define ID_IN51CHECKBOX 1163 +#define ID_IN51NAME 1164 +#define ID_IN51CHOICE 1165 +#define ID_IN52CHECKBOX 1166 +#define ID_IN52NAME 1167 +#define ID_IN52CHOICE 1168 +#define ID_IN53CHECKBOX 1169 +#define ID_IN53NAME 1170 +#define ID_IN53CHOICE 1171 +#define ID_IN54CHECKBOX 1172 +#define ID_IN54NAME 1173 +#define ID_IN54CHOICE 1174 +#define ID_IN55CHECKBOX 1175 +#define ID_IN55NAME 1176 +#define ID_IN55CHOICE 1177 +#define ID_IN56CHECKBOX 1178 +#define ID_IN56NAME 1179 +#define ID_IN56CHOICE 1180 +#define ID_IN57CHECKBOX 1181 +#define ID_IN57NAME 1182 +#define ID_IN57CHOICE 1183 +#define ID_IN58CHECKBOX 1184 +#define ID_IN58NAME 1185 +#define ID_IN58CHOICE 1186 +#define ID_IN59CHECKBOX 1187 +#define ID_IN59NAME 1188 +#define ID_IN59CHOICE 1189 +#define ID_IN60CHECKBOX 1190 +#define ID_IN60NAME 1191 +#define ID_IN60CHOICE 1192 +#define ID_IN61CHECKBOX 1193 +#define ID_IN61NAME 1194 +#define ID_IN61CHOICE 1195 +#define ID_IN62CHECKBOX 1196 +#define ID_IN62NAME 1197 +#define ID_IN62CHOICE 1198 +#define ID_BACKCHECKBOX 1199 +#define ID_BACKNAME 1200 +#define ID_BACKCHOICE 1201 +#define ID_MASKBACKCHECKBOX 1202 +#define ID_MASKBACKCHOICE 1203 +#define ID_SILKSBACKCHECKBOX 1204 +#define ID_SILKSBACKCHOICE 1205 +#define ID_SOLDPBACKCHECKBOX 1206 +#define ID_SOLDPBACKCHOICE 1207 +#define ID_ADHESBACKCHECKBOX 1208 +#define ID_ADHESBACKCHOICE 1209 +#define ID_FABBACKCHECKBOX 1210 +#define ID_FABBACKCHOICE 1211 +#define ID_CRTYDBACKCHOICE 1212 +#define ID_PCBEDGESCHOICE 1213 +#define ID_ECO2CHOICE 1214 +#define ID_ECO2CHECKBOX 1215 +#define ID_ECO1CHECKBOX 1216 +#define ID_ECO1CHOICE 1217 +#define ID_COMMENTSCHECKBOX 1218 +#define ID_COMMENTSCHOICE 1219 +#define ID_DRAWINGSCHECKBOX 1220 +#define ID_DRAWINGSCHOICE 1221 /////////////////////////////////////////////////////////////////////////////// /// Class PANEL_SETUP_LAYERS_BASE @@ -291,6 +381,96 @@ wxCheckBox* m_In32CheckBox; wxTextCtrl* m_In32Name; wxChoice* m_In32Choice; + wxCheckBox* m_In33CheckBox; + wxTextCtrl* m_In33Name; + wxChoice* m_In33Choice; + wxCheckBox* m_In34CheckBox; + wxTextCtrl* m_In34Name; + wxChoice* m_In34Choice; + wxCheckBox* m_In35CheckBox; + wxTextCtrl* m_In35Name; + wxChoice* m_In35Choice; + wxCheckBox* m_In36CheckBox; + wxTextCtrl* m_In36Name; + wxChoice* m_In36Choice; + wxCheckBox* m_In37CheckBox; + wxTextCtrl* m_In37Name; + wxChoice* m_In37Choice; + wxCheckBox* m_In38CheckBox; + wxTextCtrl* m_In38Name; + wxChoice* m_In38Choice; + wxCheckBox* m_In39CheckBox; + wxTextCtrl* m_In39Name; + wxChoice* m_In39Choice; + wxCheckBox* m_In40CheckBox; + wxTextCtrl* m_In40Name; + wxChoice* m_In40Choice; + wxCheckBox* m_In41CheckBox; + wxTextCtrl* m_In41Name; + wxChoice* m_In41Choice; + wxCheckBox* m_In42CheckBox; + wxTextCtrl* m_In42Name; + wxChoice* m_In42Choice; + wxCheckBox* m_In43CheckBox; + wxTextCtrl* m_In43Name; + wxChoice* m_In43Choice; + wxCheckBox* m_In44CheckBox; + wxTextCtrl* m_In44Name; + wxChoice* m_In44Choice; + wxCheckBox* m_In45CheckBox; + wxTextCtrl* m_In45Name; + wxChoice* m_In45Choice; + wxCheckBox* m_In46CheckBox; + wxTextCtrl* m_In46Name; + wxChoice* m_In46Choice; + wxCheckBox* m_In47CheckBox; + wxTextCtrl* m_In47Name; + wxChoice* m_In47Choice; + wxCheckBox* m_In48CheckBox; + wxTextCtrl* m_In48Name; + wxChoice* m_In48Choice; + wxCheckBox* m_In49CheckBox; + wxTextCtrl* m_In49Name; + wxChoice* m_In49Choice; + wxCheckBox* m_In50CheckBox; + wxTextCtrl* m_In50Name; + wxChoice* m_In50Choice; + wxCheckBox* m_In51CheckBox; + wxTextCtrl* m_In51Name; + wxChoice* m_In51Choice; + wxCheckBox* m_In52CheckBox; + wxTextCtrl* m_In52Name; + wxChoice* m_In52Choice; + wxCheckBox* m_In53CheckBox; + wxTextCtrl* m_In53Name; + wxChoice* m_In53Choice; + wxCheckBox* m_In54CheckBox; + wxTextCtrl* m_In54Name; + wxChoice* m_In54Choice; + wxCheckBox* m_In55CheckBox; + wxTextCtrl* m_In55Name; + wxChoice* m_In55Choice; + wxCheckBox* m_In56CheckBox; + wxTextCtrl* m_In56Name; + wxChoice* m_In56Choice; + wxCheckBox* m_In57CheckBox; + wxTextCtrl* m_In57Name; + wxChoice* m_In57Choice; + wxCheckBox* m_In58CheckBox; + wxTextCtrl* m_In58Name; + wxChoice* m_In58Choice; + wxCheckBox* m_In59CheckBox; + wxTextCtrl* m_In59Name; + wxChoice* m_In59Choice; + wxCheckBox* m_In60CheckBox; + wxTextCtrl* m_In60Name; + wxChoice* m_In60Choice; + wxCheckBox* m_In61CheckBox; + wxTextCtrl* m_In61Name; + wxChoice* m_In61Choice; + wxCheckBox* m_In62CheckBox; + wxTextCtrl* m_In62Name; + wxChoice* m_In62Choice; wxCheckBox* m_BackCheckBox; wxTextCtrl* m_BackName; wxChoice* m_BackChoice; Index: pcbnew/exporters/export_gencad.cpp =================================================================== --- pcbnew/exporters/export_gencad.cpp (revision 1068) +++ pcbnew/exporters/export_gencad.cpp (working copy) @@ -122,9 +122,43 @@ static const PCB_LAYER_ID gc_seq[] = { B_Cu, - In32_Cu, - In31_Cu, + In62_Cu, + In61_Cu, + In60_Cu, + + In59_Cu, + In58_Cu, + In57_Cu, + In56_Cu, + In55_Cu, + In54_Cu, + In53_Cu, + In52_Cu, + In51_Cu, + In50_Cu, + + In49_Cu, + In48_Cu, + In47_Cu, + In46_Cu, + In45_Cu, + In44_Cu, + In43_Cu, + In42_Cu, + In41_Cu, + In40_Cu, + + In39_Cu, + In38_Cu, + In37_Cu, + In36_Cu, + In35_Cu, + In34_Cu, + In33_Cu, + In32_Cu, + In31_Cu, In30_Cu, + In29_Cu, In28_Cu, In27_Cu, Index: pcbnew/pad.cpp =================================================================== --- pcbnew/pad.cpp (revision 1068) +++ pcbnew/pad.cpp (working copy) @@ -1340,7 +1340,7 @@ { // Internal layers only. (Not yet supported in GUI, but is being used by Python // footprint generators and will be needed anyway once pad stacks are supported.) - for ( int internal = In1_Cu; internal < In32_Cu; ++internal ) + for ( int internal = In1_Cu; internal < In62_Cu; ++internal ) { if( IsOnLayer( (PCB_LAYER_ID) internal ) ) aLayers[aCount++] = internal; Index: pcbnew/pcb_draw_panel_gal.cpp =================================================================== --- pcbnew/pcb_draw_panel_gal.cpp (revision 1068) +++ pcbnew/pcb_draw_panel_gal.cpp (working copy) @@ -123,10 +123,44 @@ NETNAMES_LAYER_INDEX( In27_Cu ), In27_Cu, ZONE_LAYER_FOR( In27_Cu ), NETNAMES_LAYER_INDEX( In28_Cu ), In28_Cu, ZONE_LAYER_FOR( In28_Cu ), NETNAMES_LAYER_INDEX( In29_Cu ), In29_Cu, ZONE_LAYER_FOR( In29_Cu ), + NETNAMES_LAYER_INDEX( In30_Cu ), In30_Cu, ZONE_LAYER_FOR( In30_Cu ), - NETNAMES_LAYER_INDEX( In31_Cu ), In31_Cu, ZONE_LAYER_FOR( In31_Cu ), - NETNAMES_LAYER_INDEX( In32_Cu ), In32_Cu, ZONE_LAYER_FOR( In32_Cu ), + NETNAMES_LAYER_INDEX( In31_Cu ), In31_Cu, ZONE_LAYER_FOR( In31_Cu ), + NETNAMES_LAYER_INDEX( In32_Cu ), In32_Cu, ZONE_LAYER_FOR( In32_Cu ), + NETNAMES_LAYER_INDEX( In33_Cu ), In33_Cu, ZONE_LAYER_FOR( In33_Cu ), + NETNAMES_LAYER_INDEX( In34_Cu ), In34_Cu, ZONE_LAYER_FOR( In34_Cu ), + NETNAMES_LAYER_INDEX( In35_Cu ), In35_Cu, ZONE_LAYER_FOR( In35_Cu ), + NETNAMES_LAYER_INDEX( In36_Cu ), In36_Cu, ZONE_LAYER_FOR( In36_Cu ), + NETNAMES_LAYER_INDEX( In37_Cu ), In37_Cu, ZONE_LAYER_FOR( In37_Cu ), + NETNAMES_LAYER_INDEX( In38_Cu ), In38_Cu, ZONE_LAYER_FOR( In38_Cu ), + NETNAMES_LAYER_INDEX( In39_Cu ), In39_Cu, ZONE_LAYER_FOR( In39_Cu ), + NETNAMES_LAYER_INDEX( In40_Cu ), In40_Cu, ZONE_LAYER_FOR( In40_Cu ), + NETNAMES_LAYER_INDEX( In41_Cu ), In41_Cu, ZONE_LAYER_FOR( In41_Cu ), + NETNAMES_LAYER_INDEX( In42_Cu ), In42_Cu, ZONE_LAYER_FOR( In42_Cu ), + NETNAMES_LAYER_INDEX( In43_Cu ), In43_Cu, ZONE_LAYER_FOR( In43_Cu ), + NETNAMES_LAYER_INDEX( In44_Cu ), In44_Cu, ZONE_LAYER_FOR( In44_Cu ), + NETNAMES_LAYER_INDEX( In45_Cu ), In45_Cu, ZONE_LAYER_FOR( In45_Cu ), + NETNAMES_LAYER_INDEX( In46_Cu ), In46_Cu, ZONE_LAYER_FOR( In46_Cu ), + NETNAMES_LAYER_INDEX( In47_Cu ), In47_Cu, ZONE_LAYER_FOR( In47_Cu ), + NETNAMES_LAYER_INDEX( In48_Cu ), In48_Cu, ZONE_LAYER_FOR( In48_Cu ), + NETNAMES_LAYER_INDEX( In49_Cu ), In49_Cu, ZONE_LAYER_FOR( In49_Cu ), + + NETNAMES_LAYER_INDEX( In50_Cu ), In50_Cu, ZONE_LAYER_FOR( In50_Cu ), + NETNAMES_LAYER_INDEX( In51_Cu ), In51_Cu, ZONE_LAYER_FOR( In51_Cu ), + NETNAMES_LAYER_INDEX( In52_Cu ), In52_Cu, ZONE_LAYER_FOR( In52_Cu ), + NETNAMES_LAYER_INDEX( In53_Cu ), In53_Cu, ZONE_LAYER_FOR( In53_Cu ), + NETNAMES_LAYER_INDEX( In54_Cu ), In54_Cu, ZONE_LAYER_FOR( In54_Cu ), + NETNAMES_LAYER_INDEX( In55_Cu ), In55_Cu, ZONE_LAYER_FOR( In55_Cu ), + NETNAMES_LAYER_INDEX( In56_Cu ), In56_Cu, ZONE_LAYER_FOR( In56_Cu ), + NETNAMES_LAYER_INDEX( In57_Cu ), In57_Cu, ZONE_LAYER_FOR( In57_Cu ), + NETNAMES_LAYER_INDEX( In58_Cu ), In58_Cu, ZONE_LAYER_FOR( In58_Cu ), + NETNAMES_LAYER_INDEX( In59_Cu ), In59_Cu, ZONE_LAYER_FOR( In59_Cu ), + + NETNAMES_LAYER_INDEX( In60_Cu ), In60_Cu, ZONE_LAYER_FOR( In60_Cu ), + NETNAMES_LAYER_INDEX( In61_Cu ), In61_Cu, ZONE_LAYER_FOR( In61_Cu ), + NETNAMES_LAYER_INDEX( In62_Cu ), In62_Cu, ZONE_LAYER_FOR( In62_Cu ), + LAYER_PAD_BK_NETNAMES, LAYER_PAD_BK, NETNAMES_LAYER_INDEX( B_Cu ), B_Cu, ZONE_LAYER_FOR( B_Cu ), B_Mask, ZONE_LAYER_FOR( B_Mask ), Index: pcbnew/pcb_layer_box_selector.cpp =================================================================== --- pcbnew/pcb_layer_box_selector.cpp (revision 1068) +++ pcbnew/pcb_layer_box_selector.cpp (working copy) @@ -65,9 +65,43 @@ case In27_Cu: return &PCB_ACTIONS::layerInner27; case In28_Cu: return &PCB_ACTIONS::layerInner28; case In29_Cu: return &PCB_ACTIONS::layerInner29; + case In30_Cu: return &PCB_ACTIONS::layerInner30; case In31_Cu: return &PCB_ACTIONS::layerInner31; case In32_Cu: return &PCB_ACTIONS::layerInner32; + case In33_Cu: return &PCB_ACTIONS::layerInner33; + case In34_Cu: return &PCB_ACTIONS::layerInner34; + case In35_Cu: return &PCB_ACTIONS::layerInner35; + case In36_Cu: return &PCB_ACTIONS::layerInner36; + case In37_Cu: return &PCB_ACTIONS::layerInner37; + case In38_Cu: return &PCB_ACTIONS::layerInner38; + case In39_Cu: return &PCB_ACTIONS::layerInner39; + + case In40_Cu: return &PCB_ACTIONS::layerInner40; + case In41_Cu: return &PCB_ACTIONS::layerInner41; + case In42_Cu: return &PCB_ACTIONS::layerInner42; + case In43_Cu: return &PCB_ACTIONS::layerInner43; + case In44_Cu: return &PCB_ACTIONS::layerInner44; + case In45_Cu: return &PCB_ACTIONS::layerInner45; + case In46_Cu: return &PCB_ACTIONS::layerInner46; + case In47_Cu: return &PCB_ACTIONS::layerInner47; + case In48_Cu: return &PCB_ACTIONS::layerInner48; + case In49_Cu: return &PCB_ACTIONS::layerInner49; + + case In50_Cu: return &PCB_ACTIONS::layerInner50; + case In51_Cu: return &PCB_ACTIONS::layerInner51; + case In52_Cu: return &PCB_ACTIONS::layerInner52; + case In53_Cu: return &PCB_ACTIONS::layerInner53; + case In54_Cu: return &PCB_ACTIONS::layerInner54; + case In55_Cu: return &PCB_ACTIONS::layerInner55; + case In56_Cu: return &PCB_ACTIONS::layerInner56; + case In57_Cu: return &PCB_ACTIONS::layerInner57; + case In58_Cu: return &PCB_ACTIONS::layerInner58; + case In59_Cu: return &PCB_ACTIONS::layerInner59; + + case In60_Cu: return &PCB_ACTIONS::layerInner60; + case In61_Cu: return &PCB_ACTIONS::layerInner61; + case In62_Cu: return &PCB_ACTIONS::layerInner62; case B_Cu: return &PCB_ACTIONS::layerBottom; default: return nullptr; } Index: pcbnew/plot_board_layers.cpp =================================================================== --- pcbnew/plot_board_layers.cpp (revision 1068) +++ pcbnew/plot_board_layers.cpp (working copy) @@ -672,9 +672,43 @@ B_Fab, B_Cu, - In32_Cu, - In31_Cu, + In62_Cu, + In61_Cu, + In60_Cu, + + In59_Cu, + In58_Cu, + In57_Cu, + In56_Cu, + In55_Cu, + In54_Cu, + In53_Cu, + In52_Cu, + In51_Cu, + In50_Cu, + + In49_Cu, + In48_Cu, + In47_Cu, + In46_Cu, + In45_Cu, + In44_Cu, + In43_Cu, + In42_Cu, + In41_Cu, + In40_Cu, + + In39_Cu, + In38_Cu, + In37_Cu, + In36_Cu, + In35_Cu, + In34_Cu, + In33_Cu, + In32_Cu, + In31_Cu, In30_Cu, + In29_Cu, In28_Cu, In27_Cu, Index: pcbnew/plugins/altium/altium_parser_pcb.h =================================================================== --- pcbnew/plugins/altium/altium_parser_pcb.h (revision 1068) +++ pcbnew/plugins/altium/altium_parser_pcb.h (working copy) @@ -269,8 +269,6 @@ MID_LAYER_28 = 29, MID_LAYER_29 = 30, MID_LAYER_30 = 31, - MID_LAYER_31 = 100, //TODO need to refine below number - MID_LAYER_32 = 101, //TODO need to refine below number BOTTOM_LAYER = 32, TOP_OVERLAY = 33, Index: pcbnew/plugins/altium/altium_pcb.cpp =================================================================== --- pcbnew/plugins/altium/altium_pcb.cpp (revision 1068) +++ pcbnew/plugins/altium/altium_pcb.cpp (working copy) @@ -248,9 +248,44 @@ case ALTIUM_LAYER::MID_LAYER_27: return In27_Cu; case ALTIUM_LAYER::MID_LAYER_28: return In28_Cu; case ALTIUM_LAYER::MID_LAYER_29: return In29_Cu; + case ALTIUM_LAYER::MID_LAYER_30: return In30_Cu; - case ALTIUM_LAYER::MID_LAYER_31: return In31_Cu; - case ALTIUM_LAYER::MID_LAYER_32: return In32_Cu; +// case ALTIUM_LAYER::MID_LAYER_31: return In31_Cu; +// case ALTIUM_LAYER::MID_LAYER_32: return In32_Cu; +// case ALTIUM_LAYER::MID_LAYER_33: return In33_Cu; +// case ALTIUM_LAYER::MID_LAYER_34: return In34_Cu; +// case ALTIUM_LAYER::MID_LAYER_35: return In35_Cu; +// case ALTIUM_LAYER::MID_LAYER_36: return In36_Cu; +// case ALTIUM_LAYER::MID_LAYER_37: return In37_Cu; +// case ALTIUM_LAYER::MID_LAYER_38: return In38_Cu; +// case ALTIUM_LAYER::MID_LAYER_39: return In39_Cu; +// +// case ALTIUM_LAYER::MID_LAYER_40: return In40_Cu; +// case ALTIUM_LAYER::MID_LAYER_41: return In41_Cu; +// case ALTIUM_LAYER::MID_LAYER_42: return In42_Cu; +// case ALTIUM_LAYER::MID_LAYER_43: return In43_Cu; +// case ALTIUM_LAYER::MID_LAYER_44: return In44_Cu; +// case ALTIUM_LAYER::MID_LAYER_45: return In45_Cu; +// case ALTIUM_LAYER::MID_LAYER_46: return In46_Cu; +// case ALTIUM_LAYER::MID_LAYER_47: return In47_Cu; +// case ALTIUM_LAYER::MID_LAYER_48: return In48_Cu; +// case ALTIUM_LAYER::MID_LAYER_49: return In49_Cu; +// +// case ALTIUM_LAYER::MID_LAYER_50: return In50_Cu; +// case ALTIUM_LAYER::MID_LAYER_51: return In51_Cu; +// case ALTIUM_LAYER::MID_LAYER_52: return In52_Cu; +// case ALTIUM_LAYER::MID_LAYER_53: return In53_Cu; +// case ALTIUM_LAYER::MID_LAYER_54: return In54_Cu; +// case ALTIUM_LAYER::MID_LAYER_55: return In55_Cu; +// case ALTIUM_LAYER::MID_LAYER_56: return In56_Cu; +// case ALTIUM_LAYER::MID_LAYER_57: return In57_Cu; +// case ALTIUM_LAYER::MID_LAYER_58: return In58_Cu; +// case ALTIUM_LAYER::MID_LAYER_59: return In59_Cu; +// +// case ALTIUM_LAYER::MID_LAYER_60: return In60_Cu; +// case ALTIUM_LAYER::MID_LAYER_61: return In61_Cu; +// case ALTIUM_LAYER::MID_LAYER_62: return In62_Cu; + //TODO case ALTIUM_LAYER::BOTTOM_LAYER: return B_Cu; case ALTIUM_LAYER::TOP_OVERLAY: return F_SilkS; Index: pcbnew/plugins/cadstar/cadstar_pcb_archive_loader.cpp =================================================================== --- pcbnew/plugins/cadstar/cadstar_pcb_archive_loader.cpp (revision 1068) +++ pcbnew/plugins/cadstar/cadstar_pcb_archive_loader.cpp (working copy) @@ -4066,11 +4066,45 @@ case 27: return PCB_LAYER_ID::In26_Cu; case 28: return PCB_LAYER_ID::In27_Cu; case 29: return PCB_LAYER_ID::In28_Cu; + case 30: return PCB_LAYER_ID::In29_Cu; case 31: return PCB_LAYER_ID::In30_Cu; case 32: return PCB_LAYER_ID::In31_Cu; case 33: return PCB_LAYER_ID::In32_Cu; - case 34: return PCB_LAYER_ID::B_Cu; + case 34: return PCB_LAYER_ID::In33_Cu; + case 35: return PCB_LAYER_ID::In34_Cu; + case 36: return PCB_LAYER_ID::In35_Cu; + case 37: return PCB_LAYER_ID::In36_Cu; + case 38: return PCB_LAYER_ID::In37_Cu; + case 39: return PCB_LAYER_ID::In38_Cu; + + case 40: return PCB_LAYER_ID::In39_Cu; + case 41: return PCB_LAYER_ID::In40_Cu; + case 42: return PCB_LAYER_ID::In41_Cu; + case 43: return PCB_LAYER_ID::In42_Cu; + case 44: return PCB_LAYER_ID::In43_Cu; + case 45: return PCB_LAYER_ID::In44_Cu; + case 46: return PCB_LAYER_ID::In45_Cu; + case 47: return PCB_LAYER_ID::In46_Cu; + case 48: return PCB_LAYER_ID::In47_Cu; + case 49: return PCB_LAYER_ID::In48_Cu; + + case 50: return PCB_LAYER_ID::In49_Cu; + case 51: return PCB_LAYER_ID::In50_Cu; + case 52: return PCB_LAYER_ID::In51_Cu; + case 53: return PCB_LAYER_ID::In52_Cu; + case 54: return PCB_LAYER_ID::In53_Cu; + case 55: return PCB_LAYER_ID::In54_Cu; + case 56: return PCB_LAYER_ID::In55_Cu; + case 57: return PCB_LAYER_ID::In56_Cu; + case 58: return PCB_LAYER_ID::In57_Cu; + case 59: return PCB_LAYER_ID::In58_Cu; + + case 60: return PCB_LAYER_ID::In59_Cu; + case 61: return PCB_LAYER_ID::In60_Cu; + case 62: return PCB_LAYER_ID::In61_Cu; + case 63: return PCB_LAYER_ID::In62_Cu; + case 64: return PCB_LAYER_ID::B_Cu; } return PCB_LAYER_ID::UNDEFINED_LAYER; Index: pcbnew/router/router_tool.cpp =================================================================== --- pcbnew/router/router_tool.cpp (revision 1068) +++ pcbnew/router/router_tool.cpp (working copy) @@ -747,6 +747,7 @@ return In28_Cu; else if( aEvent.IsAction( &PCB_ACTIONS::layerInner29 ) ) return In29_Cu; + else if( aEvent.IsAction( &PCB_ACTIONS::layerInner30 ) ) return In30_Cu; else if( aEvent.IsAction( &PCB_ACTIONS::layerInner31 ) ) @@ -753,6 +754,70 @@ return In31_Cu; else if( aEvent.IsAction( &PCB_ACTIONS::layerInner32 ) ) return In32_Cu; + else if( aEvent.IsAction( &PCB_ACTIONS::layerInner33 ) ) + return In33_Cu; + else if( aEvent.IsAction( &PCB_ACTIONS::layerInner34 ) ) + return In34_Cu; + else if( aEvent.IsAction( &PCB_ACTIONS::layerInner35 ) ) + return In35_Cu; + else if( aEvent.IsAction( &PCB_ACTIONS::layerInner36 ) ) + return In36_Cu; + else if( aEvent.IsAction( &PCB_ACTIONS::layerInner37 ) ) + return In37_Cu; + else if( aEvent.IsAction( &PCB_ACTIONS::layerInner38 ) ) + return In38_Cu; + else if( aEvent.IsAction( &PCB_ACTIONS::layerInner39 ) ) + return In39_Cu; + + else if( aEvent.IsAction( &PCB_ACTIONS::layerInner40 ) ) + return In40_Cu; + else if( aEvent.IsAction( &PCB_ACTIONS::layerInner41 ) ) + return In41_Cu; + else if( aEvent.IsAction( &PCB_ACTIONS::layerInner42 ) ) + return In42_Cu; + else if( aEvent.IsAction( &PCB_ACTIONS::layerInner43 ) ) + return In43_Cu; + else if( aEvent.IsAction( &PCB_ACTIONS::layerInner44 ) ) + return In44_Cu; + else if( aEvent.IsAction( &PCB_ACTIONS::layerInner45 ) ) + return In45_Cu; + else if( aEvent.IsAction( &PCB_ACTIONS::layerInner46 ) ) + return In46_Cu; + else if( aEvent.IsAction( &PCB_ACTIONS::layerInner47 ) ) + return In47_Cu; + else if( aEvent.IsAction( &PCB_ACTIONS::layerInner48 ) ) + return In48_Cu; + else if( aEvent.IsAction( &PCB_ACTIONS::layerInner49 ) ) + return In49_Cu; + + else if( aEvent.IsAction( &PCB_ACTIONS::layerInner50 ) ) + return In50_Cu; + else if( aEvent.IsAction( &PCB_ACTIONS::layerInner51 ) ) + return In51_Cu; + else if( aEvent.IsAction( &PCB_ACTIONS::layerInner52 ) ) + return In52_Cu; + else if( aEvent.IsAction( &PCB_ACTIONS::layerInner53 ) ) + return In53_Cu; + else if( aEvent.IsAction( &PCB_ACTIONS::layerInner54 ) ) + return In54_Cu; + else if( aEvent.IsAction( &PCB_ACTIONS::layerInner55 ) ) + return In55_Cu; + else if( aEvent.IsAction( &PCB_ACTIONS::layerInner56 ) ) + return In56_Cu; + else if( aEvent.IsAction( &PCB_ACTIONS::layerInner57 ) ) + return In57_Cu; + else if( aEvent.IsAction( &PCB_ACTIONS::layerInner58 ) ) + return In58_Cu; + else if( aEvent.IsAction( &PCB_ACTIONS::layerInner59 ) ) + return In59_Cu; + + + else if( aEvent.IsAction( &PCB_ACTIONS::layerInner60 ) ) + return In60_Cu; + else if( aEvent.IsAction( &PCB_ACTIONS::layerInner61 ) ) + return In61_Cu; + else if( aEvent.IsAction( &PCB_ACTIONS::layerInner62 ) ) + return In62_Cu; else if( aEvent.IsAction( &PCB_ACTIONS::layerBottom ) ) return B_Cu; else Index: pcbnew/tools/pcb_actions.cpp =================================================================== --- pcbnew/tools/pcb_actions.cpp (revision 1068) +++ pcbnew/tools/pcb_actions.cpp (working copy) @@ -1057,7 +1057,158 @@ _( "Switch to Inner layer 32" ), _( "Switch to Inner layer 32" ), BITMAPS::INVALID_BITMAP, AF_NOTIFY, (void*) In32_Cu ); +TOOL_ACTION PCB_ACTIONS::layerInner33( "pcbnew.Control.layerInner33", + AS_GLOBAL, 0, "", + _( "Switch to Inner layer 33" ), _( "Switch to Inner layer 33" ), + BITMAPS::INVALID_BITMAP, AF_NOTIFY, (void*) In33_Cu ); +TOOL_ACTION PCB_ACTIONS::layerInner34( "pcbnew.Control.layerInner34", + AS_GLOBAL, 0, "", + _( "Switch to Inner layer 34" ), _( "Switch to Inner layer 34" ), + BITMAPS::INVALID_BITMAP, AF_NOTIFY, (void*) In34_Cu ); + +TOOL_ACTION PCB_ACTIONS::layerInner35( "pcbnew.Control.layerInner35", + AS_GLOBAL, 0, "", + _( "Switch to Inner layer 35" ), _( "Switch to Inner layer 35" ), + BITMAPS::INVALID_BITMAP, AF_NOTIFY, (void*) In35_Cu ); + +TOOL_ACTION PCB_ACTIONS::layerInner36( "pcbnew.Control.layerInner36", + AS_GLOBAL, 0, "", + _( "Switch to Inner layer 36" ), _( "Switch to Inner layer 36" ), + BITMAPS::INVALID_BITMAP, AF_NOTIFY, (void*) In36_Cu ); + +TOOL_ACTION PCB_ACTIONS::layerInner37( "pcbnew.Control.layerInner37", + AS_GLOBAL, 0, "", + _( "Switch to Inner layer 37" ), _( "Switch to Inner layer 37" ), + BITMAPS::INVALID_BITMAP, AF_NOTIFY, (void*) In37_Cu ); + +TOOL_ACTION PCB_ACTIONS::layerInner38( "pcbnew.Control.layerInner38", + AS_GLOBAL, 0, "", + _( "Switch to Inner layer 38" ), _( "Switch to Inner layer 38" ), + BITMAPS::INVALID_BITMAP, AF_NOTIFY, (void*) In38_Cu ); + +TOOL_ACTION PCB_ACTIONS::layerInner39( "pcbnew.Control.layerInner39", + AS_GLOBAL, 0, "", + _( "Switch to Inner layer 39" ), _( "Switch to Inner layer 39" ), + BITMAPS::INVALID_BITMAP, AF_NOTIFY, (void*) In39_Cu ); + +TOOL_ACTION PCB_ACTIONS::layerInner40( "pcbnew.Control.layerInner40", + AS_GLOBAL, 0, "", + _( "Switch to Inner layer 40" ), _( "Switch to Inner layer 40" ), + BITMAPS::INVALID_BITMAP, AF_NOTIFY, (void*) In40_Cu ); + +TOOL_ACTION PCB_ACTIONS::layerInner41( "pcbnew.Control.layerInner41", + AS_GLOBAL, 0, "", + _( "Switch to Inner layer 41" ), _( "Switch to Inner layer 41" ), + BITMAPS::INVALID_BITMAP, AF_NOTIFY, (void*) In41_Cu ); + +TOOL_ACTION PCB_ACTIONS::layerInner42( "pcbnew.Control.layerInner42", + AS_GLOBAL, 0, "", + _( "Switch to Inner layer 42" ), _( "Switch to Inner layer 42" ), + BITMAPS::INVALID_BITMAP, AF_NOTIFY, (void*) In42_Cu ); + +TOOL_ACTION PCB_ACTIONS::layerInner43( "pcbnew.Control.layerInner43", + AS_GLOBAL, 0, "", + _( "Switch to Inner layer 43" ), _( "Switch to Inner layer 43" ), + BITMAPS::INVALID_BITMAP, AF_NOTIFY, (void*) In43_Cu ); + +TOOL_ACTION PCB_ACTIONS::layerInner44( "pcbnew.Control.layerInner44", + AS_GLOBAL, 0, "", + _( "Switch to Inner layer 44" ), _( "Switch to Inner layer 44" ), + BITMAPS::INVALID_BITMAP, AF_NOTIFY, (void*) In44_Cu ); + +TOOL_ACTION PCB_ACTIONS::layerInner45( "pcbnew.Control.layerInner45", + AS_GLOBAL, 0, "", + _( "Switch to Inner layer 45" ), _( "Switch to Inner layer 45" ), + BITMAPS::INVALID_BITMAP, AF_NOTIFY, (void*) In45_Cu ); + +TOOL_ACTION PCB_ACTIONS::layerInner46( "pcbnew.Control.layerInner46", + AS_GLOBAL, 0, "", + _( "Switch to Inner layer 46" ), _( "Switch to Inner layer 46" ), + BITMAPS::INVALID_BITMAP, AF_NOTIFY, (void*) In46_Cu ); + +TOOL_ACTION PCB_ACTIONS::layerInner47( "pcbnew.Control.layerInner47", + AS_GLOBAL, 0, "", + _( "Switch to Inner layer 47" ), _( "Switch to Inner layer 47" ), + BITMAPS::INVALID_BITMAP, AF_NOTIFY, (void*) In47_Cu ); + +TOOL_ACTION PCB_ACTIONS::layerInner48( "pcbnew.Control.layerInner48", + AS_GLOBAL, 0, "", + _( "Switch to Inner layer 48" ), _( "Switch to Inner layer 48" ), + BITMAPS::INVALID_BITMAP, AF_NOTIFY, (void*) In48_Cu ); + +TOOL_ACTION PCB_ACTIONS::layerInner49( "pcbnew.Control.layerInner49", + AS_GLOBAL, 0, "", + _( "Switch to Inner layer 49" ), _( "Switch to Inner layer 49" ), + BITMAPS::INVALID_BITMAP, AF_NOTIFY, (void*) In49_Cu ); + +TOOL_ACTION PCB_ACTIONS::layerInner50( "pcbnew.Control.layerInner50", + AS_GLOBAL, 0, "", + _( "Switch to Inner layer 50" ), _( "Switch to Inner layer 50" ), + BITMAPS::INVALID_BITMAP, AF_NOTIFY, (void*) In50_Cu ); + +TOOL_ACTION PCB_ACTIONS::layerInner51( "pcbnew.Control.layerInner51", + AS_GLOBAL, 0, "", + _( "Switch to Inner layer 51" ), _( "Switch to Inner layer 51" ), + BITMAPS::INVALID_BITMAP, AF_NOTIFY, (void*) In51_Cu ); + +TOOL_ACTION PCB_ACTIONS::layerInner52( "pcbnew.Control.layerInner52", + AS_GLOBAL, 0, "", + _( "Switch to Inner layer 52" ), _( "Switch to Inner layer 52" ), + BITMAPS::INVALID_BITMAP, AF_NOTIFY, (void*) In52_Cu ); + +TOOL_ACTION PCB_ACTIONS::layerInner53( "pcbnew.Control.layerInner53", + AS_GLOBAL, 0, "", + _( "Switch to Inner layer 53" ), _( "Switch to Inner layer 53" ), + BITMAPS::INVALID_BITMAP, AF_NOTIFY, (void*) In53_Cu ); + +TOOL_ACTION PCB_ACTIONS::layerInner54( "pcbnew.Control.layerInner54", + AS_GLOBAL, 0, "", + _( "Switch to Inner layer 54" ), _( "Switch to Inner layer 54" ), + BITMAPS::INVALID_BITMAP, AF_NOTIFY, (void*) In54_Cu ); + +TOOL_ACTION PCB_ACTIONS::layerInner55( "pcbnew.Control.layerInner55", + AS_GLOBAL, 0, "", + _( "Switch to Inner layer 55" ), _( "Switch to Inner layer 55" ), + BITMAPS::INVALID_BITMAP, AF_NOTIFY, (void*) In55_Cu ); + +TOOL_ACTION PCB_ACTIONS::layerInner56( "pcbnew.Control.layerInner56", + AS_GLOBAL, 0, "", + _( "Switch to Inner layer 56" ), _( "Switch to Inner layer 56" ), + BITMAPS::INVALID_BITMAP, AF_NOTIFY, (void*) In56_Cu ); + +TOOL_ACTION PCB_ACTIONS::layerInner57( "pcbnew.Control.layerInner57", + AS_GLOBAL, 0, "", + _( "Switch to Inner layer 57" ), _( "Switch to Inner layer 57" ), + BITMAPS::INVALID_BITMAP, AF_NOTIFY, (void*) In57_Cu ); + +TOOL_ACTION PCB_ACTIONS::layerInner58( "pcbnew.Control.layerInner58", + AS_GLOBAL, 0, "", + _( "Switch to Inner layer 58" ), _( "Switch to Inner layer 58" ), + BITMAPS::INVALID_BITMAP, AF_NOTIFY, (void*) In58_Cu ); + +TOOL_ACTION PCB_ACTIONS::layerInner59( "pcbnew.Control.layerInner59", + AS_GLOBAL, 0, "", + _( "Switch to Inner layer 59" ), _( "Switch to Inner layer 59" ), + BITMAPS::INVALID_BITMAP, AF_NOTIFY, (void*) In59_Cu ); + + +TOOL_ACTION PCB_ACTIONS::layerInner60( "pcbnew.Control.layerInner60", + AS_GLOBAL, 0, "", + _( "Switch to Inner layer 60" ), _( "Switch to Inner layer 60" ), + BITMAPS::INVALID_BITMAP, AF_NOTIFY, (void*) In60_Cu ); + +TOOL_ACTION PCB_ACTIONS::layerInner61( "pcbnew.Control.layerInner61", + AS_GLOBAL, 0, "", + _( "Switch to Inner layer 61" ), _( "Switch to Inner layer 61" ), + BITMAPS::INVALID_BITMAP, AF_NOTIFY, (void*) In61_Cu ); + +TOOL_ACTION PCB_ACTIONS::layerInner62( "pcbnew.Control.layerInner62", + AS_GLOBAL, 0, "", + _( "Switch to Inner layer 62" ), _( "Switch to Inner layer 62" ), + BITMAPS::INVALID_BITMAP, AF_NOTIFY, (void*) In62_Cu ); + + TOOL_ACTION PCB_ACTIONS::layerBottom( "pcbnew.Control.layerBottom", AS_GLOBAL, WXK_PAGEDOWN, LEGACY_HK_NAME( "Switch to Copper (B.Cu) layer" ), Index: pcbnew/tools/pcb_actions.h =================================================================== --- pcbnew/tools/pcb_actions.h (revision 1068) +++ pcbnew/tools/pcb_actions.h (working copy) @@ -278,9 +278,44 @@ static TOOL_ACTION layerInner27; static TOOL_ACTION layerInner28; static TOOL_ACTION layerInner29; + static TOOL_ACTION layerInner30; static TOOL_ACTION layerInner31; static TOOL_ACTION layerInner32; + static TOOL_ACTION layerInner33; + static TOOL_ACTION layerInner34; + static TOOL_ACTION layerInner35; + static TOOL_ACTION layerInner36; + static TOOL_ACTION layerInner37; + static TOOL_ACTION layerInner38; + static TOOL_ACTION layerInner39; + + static TOOL_ACTION layerInner40; + static TOOL_ACTION layerInner41; + static TOOL_ACTION layerInner42; + static TOOL_ACTION layerInner43; + static TOOL_ACTION layerInner44; + static TOOL_ACTION layerInner45; + static TOOL_ACTION layerInner46; + static TOOL_ACTION layerInner47; + static TOOL_ACTION layerInner48; + static TOOL_ACTION layerInner49; + + static TOOL_ACTION layerInner50; + static TOOL_ACTION layerInner51; + static TOOL_ACTION layerInner52; + static TOOL_ACTION layerInner53; + static TOOL_ACTION layerInner54; + static TOOL_ACTION layerInner55; + static TOOL_ACTION layerInner56; + static TOOL_ACTION layerInner57; + static TOOL_ACTION layerInner58; + static TOOL_ACTION layerInner59; + + static TOOL_ACTION layerInner60; + static TOOL_ACTION layerInner61; + static TOOL_ACTION layerInner62; + static TOOL_ACTION layerBottom; static TOOL_ACTION layerNext; static TOOL_ACTION layerPrev;