KiCad PCB EDA Suite
PANEL_SETUP_LAYERS Class Reference

#include <panel_setup_layers.h>

Inheritance diagram for PANEL_SETUP_LAYERS:
PANEL_SETUP_LAYERS_BASE

Public Member Functions

 PANEL_SETUP_LAYERS (PAGED_DIALOG *aParent, PCB_EDIT_FRAME *aFrame)
 
void ImportSettingsFrom (BOARD *aBoard)
 

Protected Attributes

wxChoice * m_PresetsChoice
 
wxStaticText * m_staticTextCopperLayers
 
wxChoice * m_CopperLayersChoice
 
wxStaticText * m_thicknessLabel
 
wxTextCtrl * m_thicknessCtrl
 
wxStaticText * m_thicknessUnits
 
wxStaticLine * m_staticline2
 
wxScrolledWindow * m_LayersListPanel
 
wxFlexGridSizer * m_LayerListFlexGridSizer
 
wxCheckBox * m_CrtYdFrontCheckBox
 
wxStaticText * m_CrtYdFrontName
 
wxStaticText * m_CrtYdFrontStaticText
 
wxCheckBox * m_FabFrontCheckBox
 
wxStaticText * m_FabFrontName
 
wxStaticText * m_FabFrontStaticText
 
wxCheckBox * m_AdhesFrontCheckBox
 
wxStaticText * m_AdhesFrontName
 
wxStaticText * m_AdhesFrontStaticText
 
wxCheckBox * m_SoldPFrontCheckBox
 
wxStaticText * m_SoldPFrontName
 
wxStaticText * m_SoldPFrontStaticText
 
wxCheckBox * m_SilkSFrontCheckBox
 
wxStaticText * m_SilkSFrontName
 
wxStaticText * m_SilkSFrontStaticText
 
wxCheckBox * m_MaskFrontCheckBox
 
wxStaticText * m_MaskFrontName
 
wxStaticText * m_MaskFrontStaticText
 
wxCheckBox * m_FrontCheckBox
 
wxTextCtrl * m_FrontName
 
wxChoice * m_FrontChoice
 
wxCheckBox * m_In1CheckBox
 
wxTextCtrl * m_In1Name
 
wxChoice * m_In1Choice
 
wxCheckBox * m_In2CheckBox
 
wxTextCtrl * m_In2Name
 
wxChoice * m_In2Choice
 
wxCheckBox * m_In3CheckBox
 
wxTextCtrl * m_In3Name
 
wxChoice * m_In3Choice
 
wxCheckBox * m_In4CheckBox
 
wxTextCtrl * m_In4Name
 
wxChoice * m_In4Choice
 
wxCheckBox * m_In5CheckBox
 
wxTextCtrl * m_In5Name
 
wxChoice * m_In5Choice
 
wxCheckBox * m_In6CheckBox
 
wxTextCtrl * m_In6Name
 
wxChoice * m_In6Choice
 
wxCheckBox * m_In7CheckBox
 
wxTextCtrl * m_In7Name
 
wxChoice * m_In7Choice
 
wxCheckBox * m_In8CheckBox
 
wxTextCtrl * m_In8Name
 
wxChoice * m_In8Choice
 
wxCheckBox * m_In9CheckBox
 
wxTextCtrl * m_In9Name
 
wxChoice * m_In9Choice
 
wxCheckBox * m_In10CheckBox
 
wxTextCtrl * m_In10Name
 
wxChoice * m_In10Choice
 
wxCheckBox * m_In11CheckBox
 
wxTextCtrl * m_In11Name
 
wxChoice * m_In11Choice
 
wxCheckBox * m_In12CheckBox
 
wxTextCtrl * m_In12Name
 
wxChoice * m_In12Choice
 
wxCheckBox * m_In13CheckBox
 
wxTextCtrl * m_In13Name
 
wxChoice * m_In13Choice
 
wxCheckBox * m_In14CheckBox
 
wxTextCtrl * m_In14Name
 
wxChoice * m_In14Choice
 
wxCheckBox * m_In15CheckBox
 
wxTextCtrl * m_In15Name
 
wxChoice * m_In15Choice
 
wxCheckBox * m_In16CheckBox
 
wxTextCtrl * m_In16Name
 
wxChoice * m_In16Choice
 
wxCheckBox * m_In17CheckBox
 
wxTextCtrl * m_In17Name
 
wxChoice * m_In17Choice
 
wxCheckBox * m_In18CheckBox
 
wxTextCtrl * m_In18Name
 
wxChoice * m_In18Choice
 
wxCheckBox * m_In19CheckBox
 
wxTextCtrl * m_In19Name
 
wxChoice * m_In19Choice
 
wxCheckBox * m_In20CheckBox
 
wxTextCtrl * m_In20Name
 
wxChoice * m_In20Choice
 
wxCheckBox * m_In21CheckBox
 
wxTextCtrl * m_In21Name
 
wxChoice * m_In21Choice
 
wxCheckBox * m_In22CheckBox
 
wxTextCtrl * m_In22Name
 
wxChoice * m_In22Choice
 
wxCheckBox * m_In23CheckBox
 
wxTextCtrl * m_In23Name
 
wxChoice * m_In23Choice
 
wxCheckBox * m_In24CheckBox
 
wxTextCtrl * m_In24Name
 
wxChoice * m_In24Choice
 
wxCheckBox * m_In25CheckBox
 
wxTextCtrl * m_In25Name
 
wxChoice * m_In25Choice
 
wxCheckBox * m_In26CheckBox
 
wxTextCtrl * m_In26Name
 
wxChoice * m_In26Choice
 
wxCheckBox * m_In27CheckBox
 
wxTextCtrl * m_In27Name
 
wxChoice * m_In27Choice
 
wxCheckBox * m_In28CheckBox
 
wxTextCtrl * m_In28Name
 
wxChoice * m_In28Choice
 
wxCheckBox * m_In29CheckBox
 
wxTextCtrl * m_In29Name
 
wxChoice * m_In29Choice
 
wxCheckBox * m_In30CheckBox
 
wxTextCtrl * m_In30Name
 
wxChoice * m_In30Choice
 
wxCheckBox * m_BackCheckBox
 
wxTextCtrl * m_BackName
 
wxChoice * m_BackChoice
 
wxCheckBox * m_MaskBackCheckBox
 
wxStaticText * m_MaskBackName
 
wxStaticText * m_MaskBackStaticText
 
wxCheckBox * m_SilkSBackCheckBox
 
wxStaticText * m_SilkSBackName
 
wxStaticText * m_SilkSBackStaticText
 
wxCheckBox * m_SoldPBackCheckBox
 
wxStaticText * m_SoldPBackName
 
wxStaticText * m_SoldPBackStaticText
 
wxCheckBox * m_AdhesBackCheckBox
 
wxStaticText * m_AdhesBackName
 
wxStaticText * m_AdhesBackStaticText
 
wxCheckBox * m_FabBackCheckBox
 
wxStaticText * m_FabBackName
 
wxStaticText * m_FabBackStaticText
 
wxCheckBox * m_CrtYdBackCheckBox
 
wxStaticText * m_CrtYdBackName
 
wxStaticText * m_CrtYdBackStaticText
 
wxCheckBox * m_PCBEdgesCheckBox
 
wxStaticText * m_PCBEdgesName
 
wxStaticText * m_PCBEdgesStaticText
 
wxCheckBox * m_MarginCheckBox
 
wxStaticText * m_MarginName
 
wxStaticText * m_MarginStaticText
 
wxCheckBox * m_Eco1CheckBox
 
wxStaticText * m_Eco1Name
 
wxStaticText * m_Eco1StaticText
 
wxCheckBox * m_Eco2CheckBox
 
wxStaticText * m_Eco2Name
 
wxStaticText * m_Eco2StaticText
 
wxCheckBox * m_CommentsCheckBox
 
wxStaticText * m_CommentsName
 
wxStaticText * m_CommentsStaticText
 
wxCheckBox * m_DrawingsCheckBox
 
wxStaticText * m_DrawingsName
 
wxStaticText * m_DrawingsStaticText
 

Private Member Functions

void setLayerCheckBox (LAYER_NUM layer, bool isChecked)
 
void setCopperLayerCheckBoxes (int copperCount)
 
void setMandatoryLayerCheckBoxes ()
 
void showCopperChoice (int copperCount)
 
void showBoardLayerNames ()
 
void showSelectedLayerCheckBoxes (LSET enableLayerMask)
 
void showLayerTypes ()
 
void showPresets (LSET enabledLayerMask)
 
LSET getUILayerMask ()
 Return the selected layer mask within the UI checkboxes. More...
 
wxString getLayerName (LAYER_NUM layer)
 
int getLayerTypeIndex (LAYER_NUM layer)
 
void OnCheckBox (wxCommandEvent &event) override
 
void DenyChangeCheckBox (wxCommandEvent &event) override
 
void OnPresetsChoice (wxCommandEvent &event) override
 
void OnCopperLayersChoice (wxCommandEvent &event) override
 
bool TransferDataToWindow () override
 
bool TransferDataFromWindow () override
 
bool testLayerNames ()
 
LSEQ getRemovedLayersWithItems ()
 Return a list of layers removed from the board that contain items. More...
 
LSEQ getNonRemovableLayers ()
 Return a list of layers in use in footprints, and therefore not removable. More...
 
PANEL_SETUP_LAYERS_CTLs getCTLs (LAYER_NUM aLayerNumber)
 
wxControl * getName (LAYER_NUM aLayer)
 
wxCheckBox * getCheckBox (LAYER_NUM aLayer)
 
wxChoice * getChoice (LAYER_NUM aLayer)
 

Private Attributes

PAGED_DIALOGm_Parent
 
PCB_EDIT_FRAMEm_frame
 
BOARDm_pcb
 
LSET m_enabledLayers
 
UNIT_BINDER m_pcbThickness
 

Detailed Description

Definition at line 55 of file panel_setup_layers.h.

Constructor & Destructor Documentation

◆ PANEL_SETUP_LAYERS()

PANEL_SETUP_LAYERS::PANEL_SETUP_LAYERS ( PAGED_DIALOG aParent,
PCB_EDIT_FRAME aFrame 
)

Definition at line 137 of file panel_setup_layers.cpp.

137  :
138  PANEL_SETUP_LAYERS_BASE( aParent->GetTreebook() ),
139  m_Parent( aParent ), m_frame( aFrame ),
141 {
142  m_pcb = aFrame->GetBoard();
143 
144  m_LayersListPanel->SetBackgroundColour( wxSystemSettings::GetColour( wxSYS_COLOUR_LISTBOX) );
145 }
wxScrolledWindow * m_LayersListPanel
UNIT_BINDER m_pcbThickness
PANEL_SETUP_LAYERS_BASE(wxWindow *parent, wxWindowID id=wxID_ANY, const wxPoint &pos=wxDefaultPosition, const wxSize &size=wxSize(621, 545), long style=wxTAB_TRAVERSAL, const wxString &name=wxEmptyString)
PAGED_DIALOG * m_Parent
wxTreebook * GetTreebook()
Definition: paged_dialog.h:43
PCB_EDIT_FRAME * m_frame
BOARD * GetBoard() const

References PCB_BASE_FRAME::GetBoard(), PANEL_SETUP_LAYERS_BASE::m_LayersListPanel, and m_pcb.

Member Function Documentation

◆ DenyChangeCheckBox()

void PANEL_SETUP_LAYERS::DenyChangeCheckBox ( wxCommandEvent &  event)
overrideprivatevirtual

Reimplemented from PANEL_SETUP_LAYERS_BASE.

Definition at line 417 of file panel_setup_layers.cpp.

418 {
419  wxObject* source = event.GetEventObject();
420  wxString msg;
421 
422  for( LSEQ seq = LSET::AllCuMask().Seq(); seq; ++seq )
423  {
424  wxCheckBox* copper = getCheckBox( *seq );
425 
426  if( source == copper )
427  {
428  wxString controlLabel = m_staticTextCopperLayers->GetLabel();
429  // knock the ':' off the end
430  controlLabel = controlLabel.substr( 0, controlLabel.size() - 1 );
431 
432  msg.Printf( _( "Use the \"%s\" control to change the number of copper layers." ),
433  controlLabel );
434  DisplayError( this, msg );
435 
436  copper->SetValue( true );
437  return;
438  }
439  }
440 
441  for( int layer : { F_CrtYd, B_CrtYd, Edge_Cuts, Margin } )
442  {
443  wxCheckBox* mandatory = getCheckBox( layer );
444 
445  if( source == mandatory )
446  {
447  msg.Printf( _( "The %s layer is mandatory." ), getLayerName( layer ) );
448  DisplayError( this, msg );
449  mandatory->SetValue( true );
450  return;
451  }
452  }
453 }
static LSET AllCuMask(int aCuLayerCount=MAX_CU_LAYERS)
Function AllCuMask returns a mask holding the requested number of Cu PCB_LAYER_IDs.
Definition: lset.cpp:676
wxCheckBox * getCheckBox(LAYER_NUM aLayer)
#define _(s)
Class LSEQ is a sequence (and therefore also a set) of PCB_LAYER_IDs.
wxString getLayerName(LAYER_NUM layer)
void DisplayError(wxWindow *parent, const wxString &text, int displaytime)
Display an error or warning message box with aMessage.
Definition: confirm.cpp:243

References _, LSET::AllCuMask(), B_CrtYd, DisplayError(), Edge_Cuts, F_CrtYd, getCheckBox(), getLayerName(), PANEL_SETUP_LAYERS_BASE::m_staticTextCopperLayers, and Margin.

◆ getCheckBox()

wxCheckBox * PANEL_SETUP_LAYERS::getCheckBox ( LAYER_NUM  aLayer)
private

Definition at line 222 of file panel_setup_layers.cpp.

223 {
224  return getCTLs( aLayer ).checkbox;
225 }
PANEL_SETUP_LAYERS_CTLs getCTLs(LAYER_NUM aLayerNumber)

References PANEL_SETUP_LAYERS_CTLs::checkbox, and getCTLs().

Referenced by DenyChangeCheckBox(), and getUILayerMask().

◆ getChoice()

wxChoice * PANEL_SETUP_LAYERS::getChoice ( LAYER_NUM  aLayer)
private

Definition at line 228 of file panel_setup_layers.cpp.

229 {
230  return (wxChoice*) getCTLs( aLayer ).choice;
231 }
PANEL_SETUP_LAYERS_CTLs getCTLs(LAYER_NUM aLayerNumber)

References PANEL_SETUP_LAYERS_CTLs::choice, and getCTLs().

Referenced by getLayerTypeIndex(), and showLayerTypes().

◆ getCTLs()

PANEL_SETUP_LAYERS_CTLs PANEL_SETUP_LAYERS::getCTLs ( LAYER_NUM  aLayerNumber)
private

Definition at line 148 of file panel_setup_layers.cpp.

149 {
150 #define RETURN_COPPER(x) return PANEL_SETUP_LAYERS_CTLs( x##Name, x##CheckBox, x##Choice )
151 #define RETURN_AUX(x) return PANEL_SETUP_LAYERS_CTLs( x##Name, x##CheckBox, x##StaticText )
152 
153  switch( aLayerNumber )
154  {
155  case F_CrtYd: RETURN_AUX( m_CrtYdFront );
156  case F_Fab: RETURN_AUX( m_FabFront );
157  case F_Adhes: RETURN_AUX( m_AdhesFront );
158  case F_Paste: RETURN_AUX( m_SoldPFront );
159  case F_SilkS: RETURN_AUX( m_SilkSFront );
160  case F_Mask: RETURN_AUX( m_MaskFront );
161  case F_Cu: RETURN_COPPER( m_Front );
162 
163  case In1_Cu: RETURN_COPPER( m_In1 );
164  case In2_Cu: RETURN_COPPER( m_In2 );
165  case In3_Cu: RETURN_COPPER( m_In3 );
166  case In4_Cu: RETURN_COPPER( m_In4 );
167  case In5_Cu: RETURN_COPPER( m_In5 );
168  case In6_Cu: RETURN_COPPER( m_In6 );
169  case In7_Cu: RETURN_COPPER( m_In7 );
170  case In8_Cu: RETURN_COPPER( m_In8 );
171  case In9_Cu: RETURN_COPPER( m_In9 );
172  case In10_Cu: RETURN_COPPER( m_In10 );
173  case In11_Cu: RETURN_COPPER( m_In11 );
174  case In12_Cu: RETURN_COPPER( m_In12 );
175  case In13_Cu: RETURN_COPPER( m_In13 );
176  case In14_Cu: RETURN_COPPER( m_In14 );
177  case In15_Cu: RETURN_COPPER( m_In15 );
178 
179  case In16_Cu: RETURN_COPPER( m_In16 );
180  case In17_Cu: RETURN_COPPER( m_In17 );
181  case In18_Cu: RETURN_COPPER( m_In18 );
182  case In19_Cu: RETURN_COPPER( m_In19 );
183  case In20_Cu: RETURN_COPPER( m_In20 );
184  case In21_Cu: RETURN_COPPER( m_In21 );
185  case In22_Cu: RETURN_COPPER( m_In22 );
186  case In23_Cu: RETURN_COPPER( m_In23 );
187  case In24_Cu: RETURN_COPPER( m_In24 );
188  case In25_Cu: RETURN_COPPER( m_In25 );
189  case In26_Cu: RETURN_COPPER( m_In26 );
190  case In27_Cu: RETURN_COPPER( m_In27 );
191  case In28_Cu: RETURN_COPPER( m_In28 );
192  case In29_Cu: RETURN_COPPER( m_In29 );
193  case In30_Cu: RETURN_COPPER( m_In30 );
194 
195  case B_Cu: RETURN_COPPER( m_Back );
196  case B_Mask: RETURN_AUX( m_MaskBack );
197  case B_SilkS: RETURN_AUX( m_SilkSBack );
198  case B_Paste: RETURN_AUX( m_SoldPBack );
199  case B_Adhes: RETURN_AUX( m_AdhesBack );
200  case B_Fab: RETURN_AUX( m_FabBack );
201  case B_CrtYd: RETURN_AUX( m_CrtYdBack );
202 
203  case Edge_Cuts: RETURN_AUX( m_PCBEdges );
204  case Margin: RETURN_AUX( m_Margin );
205  case Eco2_User: RETURN_AUX( m_Eco2 );
206  case Eco1_User: RETURN_AUX( m_Eco1 );
207  case Cmts_User: RETURN_AUX( m_Comments );
208  case Dwgs_User: RETURN_AUX( m_Drawings );
209  default:
210  wxASSERT_MSG( 0, wxT( "bad layer id" ) );
211  return PANEL_SETUP_LAYERS_CTLs( nullptr, nullptr, nullptr );
212  }
213 }
#define RETURN_COPPER(x)
Holds the 3 UI control pointers for a single board layer.
#define RETURN_AUX(x)

References B_Adhes, B_CrtYd, B_Cu, B_Fab, B_Mask, B_Paste, B_SilkS, Cmts_User, Dwgs_User, Eco1_User, Eco2_User, Edge_Cuts, F_Adhes, F_CrtYd, F_Cu, F_Fab, F_Mask, F_Paste, F_SilkS, In10_Cu, In11_Cu, In12_Cu, In13_Cu, In14_Cu, In15_Cu, In16_Cu, In17_Cu, In18_Cu, In19_Cu, In1_Cu, In20_Cu, In21_Cu, In22_Cu, In23_Cu, In24_Cu, In25_Cu, In26_Cu, In27_Cu, In28_Cu, In29_Cu, In2_Cu, In30_Cu, In3_Cu, In4_Cu, In5_Cu, In6_Cu, In7_Cu, In8_Cu, In9_Cu, Margin, RETURN_AUX, and RETURN_COPPER.

Referenced by getCheckBox(), getChoice(), getName(), setCopperLayerCheckBoxes(), and setLayerCheckBox().

◆ getLayerName()

wxString PANEL_SETUP_LAYERS::getLayerName ( LAYER_NUM  layer)
private

Definition at line 596 of file panel_setup_layers.cpp.

597 {
598  wxControl* control = getName( aLayer );
599 
600  if( dynamic_cast<wxTextCtrl*>( control ) )
601  return static_cast<wxTextCtrl*>( control )->GetValue().Trim();
602  else
603  return static_cast<wxStaticText*>( control )->GetLabel();
604 }
wxControl * getName(LAYER_NUM aLayer)

References getName().

Referenced by DenyChangeCheckBox(), testLayerNames(), and TransferDataFromWindow().

◆ getLayerTypeIndex()

int PANEL_SETUP_LAYERS::getLayerTypeIndex ( LAYER_NUM  layer)
private

Definition at line 588 of file panel_setup_layers.cpp.

589 {
590  wxChoice* ctl = getChoice( aLayer );
591  int ret = ctl->GetCurrentSelection(); // indices must have same sequence as LAYER_T
592  return ret;
593 }
wxChoice * getChoice(LAYER_NUM aLayer)

References getChoice().

Referenced by TransferDataFromWindow().

◆ getName()

wxControl * PANEL_SETUP_LAYERS::getName ( LAYER_NUM  aLayer)
private

Definition at line 216 of file panel_setup_layers.cpp.

217 {
218  return getCTLs( aLayer ).name;
219 }
PANEL_SETUP_LAYERS_CTLs getCTLs(LAYER_NUM aLayerNumber)

References getCTLs(), and PANEL_SETUP_LAYERS_CTLs::name.

Referenced by getLayerName(), showBoardLayerNames(), and testLayerNames().

◆ getNonRemovableLayers()

LSEQ PANEL_SETUP_LAYERS::getNonRemovableLayers ( )
private

Return a list of layers in use in footprints, and therefore not removable.

Definition at line 711 of file panel_setup_layers.cpp.

712 {
713  //Build the list of non copper layers in use in footprints.
714  LSEQ inUseLayers;
715  LSET newLayers = getUILayerMask();
716  LSET curLayers = m_pcb->GetEnabledLayers();
717 
718  if( newLayers == curLayers ) // return a empty list if no change
719  return inUseLayers;
720 
721  PCB_LAYER_COLLECTOR collector;
722  LSEQ newLayerSeq = newLayers.Seq();
723 
724  for( auto layer_id : curLayers.Seq() )
725  {
726  if( IsCopperLayer( layer_id ) ) // Copper layers are not taken in account here
727  continue;
728 
729  if( std::find( newLayerSeq.begin(), newLayerSeq.end(), layer_id ) == newLayerSeq.end() )
730  {
731  collector.SetLayerId( layer_id );
733 
734  if( collector.GetCount() != 0 )
735  inUseLayers.push_back( layer_id );
736  }
737  }
738 
739  return inUseLayers;
740 }
LSET getUILayerMask()
Return the selected layer mask within the UI checkboxes.
void Collect(BOARD_ITEM *aBoard, const KICAD_T aScanList[])
Tests a BOARD_ITEM using this class's Inspector method, which does the collection.
Definition: collectors.cpp:538
LSET GetEnabledLayers() const
Function GetEnabledLayers is a proxy function that calls the corresponding function in m_BoardSetting...
Collect all BOARD_ITEM objects on a given layer.
Definition: collectors.h:650
LSEQ Seq(const PCB_LAYER_ID *aWishListSequence, unsigned aCount) const
Function Seq returns an LSEQ from the union of this LSET and a desired sequence.
Definition: lset.cpp:367
void SetLayerId(PCB_LAYER_ID aLayerId)
Definition: collectors.h:660
int GetCount() const
Function GetCount returns the number of objects in the list.
Definition: collector.h:113
Class LSET is a set of PCB_LAYER_IDs.
Class LSEQ is a sequence (and therefore also a set) of PCB_LAYER_IDs.
static const KICAD_T ModuleItems[]
A scan list for primary module items.
Definition: collectors.h:308
bool IsCopperLayer(LAYER_NUM aLayerId)
Function IsCopperLayer tests whether a layer is a copper layer.

References PCB_LAYER_COLLECTOR::Collect(), COLLECTOR::GetCount(), BOARD::GetEnabledLayers(), getUILayerMask(), IsCopperLayer(), m_pcb, GENERAL_COLLECTOR::ModuleItems, LSET::Seq(), and PCB_LAYER_COLLECTOR::SetLayerId().

Referenced by TransferDataFromWindow().

◆ getRemovedLayersWithItems()

LSEQ PANEL_SETUP_LAYERS::getRemovedLayersWithItems ( )
private

Return a list of layers removed from the board that contain items.

Definition at line 683 of file panel_setup_layers.cpp.

684 {
685  LSEQ removedLayers;
686  LSET newLayers = getUILayerMask();
687  LSET curLayers = m_pcb->GetEnabledLayers();
688 
689  if( newLayers == curLayers ) // return a empty list if no change
690  return removedLayers;
691 
692  PCB_LAYER_COLLECTOR collector;
693  LSEQ newLayerSeq = newLayers.Seq();
694 
695  for( auto layer_id : curLayers.Seq() )
696  {
697  if( std::find( newLayerSeq.begin(), newLayerSeq.end(), layer_id ) == newLayerSeq.end() )
698  {
699  collector.SetLayerId( layer_id );
701 
702  if( collector.GetCount() != 0 )
703  removedLayers.push_back( layer_id );
704  }
705  }
706 
707  return removedLayers;
708 }
static const KICAD_T BoardLevelItems[]
A scan list for all primary board items, omitting items which are subordinate to a MODULE,...
Definition: collectors.h:283
LSET getUILayerMask()
Return the selected layer mask within the UI checkboxes.
void Collect(BOARD_ITEM *aBoard, const KICAD_T aScanList[])
Tests a BOARD_ITEM using this class's Inspector method, which does the collection.
Definition: collectors.cpp:538
LSET GetEnabledLayers() const
Function GetEnabledLayers is a proxy function that calls the corresponding function in m_BoardSetting...
Collect all BOARD_ITEM objects on a given layer.
Definition: collectors.h:650
LSEQ Seq(const PCB_LAYER_ID *aWishListSequence, unsigned aCount) const
Function Seq returns an LSEQ from the union of this LSET and a desired sequence.
Definition: lset.cpp:367
void SetLayerId(PCB_LAYER_ID aLayerId)
Definition: collectors.h:660
int GetCount() const
Function GetCount returns the number of objects in the list.
Definition: collector.h:113
Class LSET is a set of PCB_LAYER_IDs.
Class LSEQ is a sequence (and therefore also a set) of PCB_LAYER_IDs.

References GENERAL_COLLECTOR::BoardLevelItems, PCB_LAYER_COLLECTOR::Collect(), COLLECTOR::GetCount(), BOARD::GetEnabledLayers(), getUILayerMask(), m_pcb, LSET::Seq(), and PCB_LAYER_COLLECTOR::SetLayerId().

Referenced by TransferDataFromWindow().

◆ getUILayerMask()

LSET PANEL_SETUP_LAYERS::getUILayerMask ( )
private

Return the selected layer mask within the UI checkboxes.

Definition at line 343 of file panel_setup_layers.cpp.

344 {
345  LSET layerMaskResult;
346 
347  for( LSEQ seq = dlg_layers(); seq; ++seq )
348  {
349  PCB_LAYER_ID layer = *seq;
350  wxCheckBox* ctl = getCheckBox( layer );
351 
352  if( ctl->GetValue() )
353  layerMaskResult.set( layer );
354  }
355 
356  return layerMaskResult;
357 }
wxCheckBox * getCheckBox(LAYER_NUM aLayer)
PCB_LAYER_ID
A quick note on layer IDs:
Class LSET is a set of PCB_LAYER_IDs.
Class LSEQ is a sequence (and therefore also a set) of PCB_LAYER_IDs.
static LSEQ dlg_layers()

References dlg_layers(), and getCheckBox().

Referenced by getNonRemovableLayers(), getRemovedLayersWithItems(), OnCheckBox(), OnCopperLayersChoice(), and TransferDataFromWindow().

◆ ImportSettingsFrom()

void PANEL_SETUP_LAYERS::ImportSettingsFrom ( BOARD aBoard)

Definition at line 743 of file panel_setup_layers.cpp.

744 {
745  BOARD* savedBoard = m_pcb;
746 
747  m_pcb = aBoard;
749 
750  m_pcb = savedBoard;
751 }
bool TransferDataToWindow() override
Class BOARD holds information pertinent to a Pcbnew printed circuit board.
Definition: class_board.h:161

References m_pcb, and TransferDataToWindow().

Referenced by DIALOG_BOARD_SETUP::OnAuxiliaryAction().

◆ OnCheckBox()

void PANEL_SETUP_LAYERS::OnCheckBox ( wxCommandEvent &  event)
overrideprivatevirtual

Reimplemented from PANEL_SETUP_LAYERS_BASE.

Definition at line 409 of file panel_setup_layers.cpp.

410 {
412 
414 }
LSET getUILayerMask()
Return the selected layer mask within the UI checkboxes.
void showPresets(LSET enabledLayerMask)

References getUILayerMask(), m_enabledLayers, and showPresets().

◆ OnCopperLayersChoice()

void PANEL_SETUP_LAYERS::OnCopperLayersChoice ( wxCommandEvent &  event)
overrideprivatevirtual

Reimplemented from PANEL_SETUP_LAYERS_BASE.

Definition at line 479 of file panel_setup_layers.cpp.

480 {
481  setCopperLayerCheckBoxes( m_CopperLayersChoice->GetCurrentSelection() * 2 + 2 );
484 }
LSET getUILayerMask()
Return the selected layer mask within the UI checkboxes.
void setCopperLayerCheckBoxes(int copperCount)
void showPresets(LSET enabledLayerMask)

References getUILayerMask(), PANEL_SETUP_LAYERS_BASE::m_CopperLayersChoice, m_enabledLayers, setCopperLayerCheckBoxes(), and showPresets().

◆ OnPresetsChoice()

void PANEL_SETUP_LAYERS::OnPresetsChoice ( wxCommandEvent &  event)
overrideprivatevirtual

Reimplemented from PANEL_SETUP_LAYERS_BASE.

Definition at line 456 of file panel_setup_layers.cpp.

457 {
458  int presetNdx = m_PresetsChoice->GetCurrentSelection();
459 
460  if( presetNdx <= 0 ) // the Custom setting controls nothing.
461  return;
462 
463  if( presetNdx < (int) arrayDim(presets) )
464  {
465  m_enabledLayers = presets[ presetNdx ];
466  LSET copperSet = m_enabledLayers & LSET::AllCuMask();
467  int copperCount = copperSet.count();
468 
469  showCopperChoice( copperCount );
471  setCopperLayerCheckBoxes( copperCount );
472  }
473 
474  // Ensure mandatory layers are activated
476 }
static LSET AllCuMask(int aCuLayerCount=MAX_CU_LAYERS)
Function AllCuMask returns a mask holding the requested number of Cu PCB_LAYER_IDs.
Definition: lset.cpp:676
void showCopperChoice(int copperCount)
void setCopperLayerCheckBoxes(int copperCount)
Class LSET is a set of PCB_LAYER_IDs.
static const LSET presets[]
constexpr std::size_t arrayDim(T const (&)[N]) noexcept
Definition: macros.h:108
void showSelectedLayerCheckBoxes(LSET enableLayerMask)

References LSET::AllCuMask(), arrayDim(), m_enabledLayers, PANEL_SETUP_LAYERS_BASE::m_PresetsChoice, presets, setCopperLayerCheckBoxes(), setMandatoryLayerCheckBoxes(), showCopperChoice(), and showSelectedLayerCheckBoxes().

◆ setCopperLayerCheckBoxes()

void PANEL_SETUP_LAYERS::setCopperLayerCheckBoxes ( int  copperCount)
private

Definition at line 368 of file panel_setup_layers.cpp.

369 {
370  if( copperCount > 0 )
371  {
372  setLayerCheckBox( F_Cu, true );
373  --copperCount;
374  }
375 
376  if( copperCount > 0 )
377  {
378  setLayerCheckBox( B_Cu, true );
379  --copperCount;
380  }
381 
382  for( LSEQ seq = LSET::InternalCuMask().Seq(); seq; ++seq, --copperCount )
383  {
384  PCB_LAYER_ID layer = *seq;
385  bool state = copperCount > 0;
386 
387 #ifdef HIDE_INACTIVE_LAYERS
388  // This code hides non-active copper layers, or redisplays hidden
389  // layers which are now needed.
390  PANEL_SETUP_LAYERS_CTLs ctl = getCTLs( layer );
391 
392  ctl.name->Show( state );
393  ctl.checkbox->Show( state );
394  ctl.choice->Show( state );
395 #endif
396 
397  setLayerCheckBox( layer, state );
398  }
399 
400 #ifdef HIDE_INACTIVE_LAYERS
401  // Send an size event to force sizers to be updated,
402  // because the number of copper layers can have changed.
403  wxSizeEvent evt_size( m_LayersListPanel->GetSize() );
404  m_LayersListPanel->GetEventHandler()->ProcessEvent( evt_size );
405 #endif
406 }
wxScrolledWindow * m_LayersListPanel
PCB_LAYER_ID
A quick note on layer IDs:
static LSET InternalCuMask()
Function InternalCuMask() returns a complete set of internal copper layers, which is all Cu layers ex...
Definition: lset.cpp:636
Class LSEQ is a sequence (and therefore also a set) of PCB_LAYER_IDs.
PANEL_SETUP_LAYERS_CTLs getCTLs(LAYER_NUM aLayerNumber)
void setLayerCheckBox(LAYER_NUM layer, bool isChecked)
Holds the 3 UI control pointers for a single board layer.

References B_Cu, PANEL_SETUP_LAYERS_CTLs::checkbox, PANEL_SETUP_LAYERS_CTLs::choice, F_Cu, getCTLs(), LSET::InternalCuMask(), PANEL_SETUP_LAYERS_BASE::m_LayersListPanel, PANEL_SETUP_LAYERS_CTLs::name, and setLayerCheckBox().

Referenced by OnCopperLayersChoice(), OnPresetsChoice(), and TransferDataToWindow().

◆ setLayerCheckBox()

void PANEL_SETUP_LAYERS::setLayerCheckBox ( LAYER_NUM  layer,
bool  isChecked 
)
private

Definition at line 360 of file panel_setup_layers.cpp.

361 {
362  PANEL_SETUP_LAYERS_CTLs ctl = getCTLs( aLayer );
363 
364  ctl.checkbox->SetValue( isChecked );
365 }
PANEL_SETUP_LAYERS_CTLs getCTLs(LAYER_NUM aLayerNumber)
Holds the 3 UI control pointers for a single board layer.

References PANEL_SETUP_LAYERS_CTLs::checkbox, and getCTLs().

Referenced by setCopperLayerCheckBoxes(), setMandatoryLayerCheckBoxes(), and showSelectedLayerCheckBoxes().

◆ setMandatoryLayerCheckBoxes()

void PANEL_SETUP_LAYERS::setMandatoryLayerCheckBoxes ( )
private

Definition at line 252 of file panel_setup_layers.cpp.

253 {
254  for( int layer : { F_CrtYd, B_CrtYd, Edge_Cuts, Margin } )
255  setLayerCheckBox( layer, true );
256 }
void setLayerCheckBox(LAYER_NUM layer, bool isChecked)

References B_CrtYd, Edge_Cuts, F_CrtYd, Margin, and setLayerCheckBox().

Referenced by OnPresetsChoice(), and TransferDataToWindow().

◆ showBoardLayerNames()

void PANEL_SETUP_LAYERS::showBoardLayerNames ( )
private

Definition at line 280 of file panel_setup_layers.cpp.

281 {
282  // Set all the board's layer names into the dialog by calling BOARD::GetLayerName(),
283  // which will call BOARD::GetStandardLayerName() for non-coppers.
284 
285  for( LSEQ seq = dlg_layers(); seq; ++seq )
286  {
287  PCB_LAYER_ID layer = *seq;
288  wxControl* ctl = getName( layer );
289 
290  if( ctl )
291  {
292  wxString lname = m_pcb->GetLayerName( layer );
293 
294  if( dynamic_cast<wxTextCtrl*>( ctl ) )
295  dynamic_cast<wxTextCtrl*>( ctl )->SetValue( lname ); // wxTextCtrl
296  else
297  ctl->SetLabel( lname ); // wxStaticText
298  }
299  }
300 }
const wxString GetLayerName(PCB_LAYER_ID aLayer) const
Function GetLayerName returns the name of a layer given by aLayer.
PCB_LAYER_ID
A quick note on layer IDs:
Class LSEQ is a sequence (and therefore also a set) of PCB_LAYER_IDs.
wxControl * getName(LAYER_NUM aLayer)
static LSEQ dlg_layers()

References dlg_layers(), BOARD::GetLayerName(), getName(), and m_pcb.

Referenced by TransferDataToWindow().

◆ showCopperChoice()

void PANEL_SETUP_LAYERS::showCopperChoice ( int  copperCount)
private

Definition at line 259 of file panel_setup_layers.cpp.

260 {
261  if( copperCount > MAX_CU_LAYERS )
262  copperCount = MAX_CU_LAYERS;
263 
264  if( copperCount < 2 )
265  copperCount = 2;
266 
267  for( int lyrCnt = 2; lyrCnt <= MAX_CU_LAYERS; lyrCnt += 2 )
268  {
269  // note this will change a one layer board to 2:
270  if( copperCount <= lyrCnt )
271  {
272  int idx = lyrCnt/2 - 1;
273  m_CopperLayersChoice->SetSelection(idx);
274  break;
275  }
276  }
277 }

References PANEL_SETUP_LAYERS_BASE::m_CopperLayersChoice, and MAX_CU_LAYERS.

Referenced by OnPresetsChoice(), and TransferDataToWindow().

◆ showLayerTypes()

void PANEL_SETUP_LAYERS::showLayerTypes ( )
private

Definition at line 331 of file panel_setup_layers.cpp.

332 {
333  for( LSEQ seq = LSET::AllCuMask().Seq(); seq; ++seq )
334  {
335  PCB_LAYER_ID cu_layer = *seq;
336 
337  wxChoice* ctl = getChoice( cu_layer );
338  ctl->SetSelection( m_pcb->GetLayerType( cu_layer ) );
339  }
340 }
static LSET AllCuMask(int aCuLayerCount=MAX_CU_LAYERS)
Function AllCuMask returns a mask holding the requested number of Cu PCB_LAYER_IDs.
Definition: lset.cpp:676
wxChoice * getChoice(LAYER_NUM aLayer)
PCB_LAYER_ID
A quick note on layer IDs:
Class LSEQ is a sequence (and therefore also a set) of PCB_LAYER_IDs.
LAYER_T GetLayerType(PCB_LAYER_ID aLayer) const
Function GetLayerType returns the type of the copper layer given by aLayer.

References LSET::AllCuMask(), getChoice(), BOARD::GetLayerType(), and m_pcb.

Referenced by TransferDataToWindow().

◆ showPresets()

void PANEL_SETUP_LAYERS::showPresets ( LSET  enabledLayerMask)
private

Definition at line 314 of file panel_setup_layers.cpp.

315 {
316  int presetsNdx = 0; // the "Custom" setting, matches nothing
317 
318  for( unsigned i=1; i<arrayDim( presets ); ++i )
319  {
320  if( enabledLayers == presets[i] )
321  {
322  presetsNdx = i;
323  break;
324  }
325  }
326 
327  m_PresetsChoice->SetSelection( presetsNdx );
328 }
static const LSET presets[]
constexpr std::size_t arrayDim(T const (&)[N]) noexcept
Definition: macros.h:108
size_t i
Definition: json11.cpp:597

References arrayDim(), i, PANEL_SETUP_LAYERS_BASE::m_PresetsChoice, and presets.

Referenced by OnCheckBox(), OnCopperLayersChoice(), and TransferDataToWindow().

◆ showSelectedLayerCheckBoxes()

void PANEL_SETUP_LAYERS::showSelectedLayerCheckBoxes ( LSET  enableLayerMask)
private

Definition at line 303 of file panel_setup_layers.cpp.

304 {
305  // the check boxes
306  for( LSEQ seq = dlg_layers(); seq; ++seq )
307  {
308  PCB_LAYER_ID layer = *seq;
309  setLayerCheckBox( layer, enabledLayers[layer] );
310  }
311 }
PCB_LAYER_ID
A quick note on layer IDs:
Class LSEQ is a sequence (and therefore also a set) of PCB_LAYER_IDs.
void setLayerCheckBox(LAYER_NUM layer, bool isChecked)
static LSEQ dlg_layers()

References dlg_layers(), and setLayerCheckBox().

Referenced by OnPresetsChoice(), and TransferDataToWindow().

◆ testLayerNames()

bool PANEL_SETUP_LAYERS::testLayerNames ( )
private

Definition at line 619 of file panel_setup_layers.cpp.

620 {
621  std::vector<wxString> names;
622  wxTextCtrl* ctl;
623 
624  for( LSEQ seq = LSET::AllCuMask().Seq(); seq; ++seq )
625  {
626  PCB_LAYER_ID layer = *seq;
627 
628  // we _can_ rely on m_enabledLayers being current here:
629  if( !m_enabledLayers[layer] )
630  continue;
631 
632  wxString name = getLayerName( layer );
633 
634  ctl = (wxTextCtrl*) getName( layer );
635 
636  // check name for legality.
637  // 1) cannot be blank.
638  // 2) cannot have blanks.
639  // 3) cannot have " chars
640  // 4) cannot be 'signal'
641  // 5) must be unique.
642  // 6) cannot have illegal chars in filenames ( some filenames are built from layer names )
643  // like : % $ \ " / :
644  wxString badchars = wxFileName::GetForbiddenChars( wxPATH_DOS );
645  badchars.Append( '%' );
646 
647  if( !name )
648  {
649  m_Parent->SetError( _( "Layer must have a name." ), this, ctl );
650  return false;
651  }
652 
653  if( hasOneOf( name, badchars ) )
654  {
655  auto msg = wxString::Format(_( "\"%s\" are forbidden in layer names." ), badchars );
656  m_Parent->SetError( msg, this, ctl );
657  return false;
658  }
659 
660  if( name == wxT( "signal" ) )
661  {
662  m_Parent->SetError( _( "Layer name \"signal\" is reserved." ), this, ctl );
663  return false;
664  }
665 
666  for( const wxString& existingName : names )
667  {
668  if( name == existingName )
669  {
670  auto msg = wxString::Format(_( "Layer name \"%s\" is already in use." ), name );
671  m_Parent->SetError( msg, this, ctl );
672  return false;
673  }
674  }
675 
676  names.push_back( name );
677  }
678 
679  return true;
680 }
static LSET AllCuMask(int aCuLayerCount=MAX_CU_LAYERS)
Function AllCuMask returns a mask holding the requested number of Cu PCB_LAYER_IDs.
Definition: lset.cpp:676
static bool hasOneOf(const wxString &str, const wxString &chars)
PAGED_DIALOG * m_Parent
PCB_LAYER_ID
A quick note on layer IDs:
#define _(s)
void SetError(const wxString &aMessage, wxWindow *aPage, wxObject *aCtrl, int aRow=-1, int aCol=-1)
Class LSEQ is a sequence (and therefore also a set) of PCB_LAYER_IDs.
const char * name
Definition: DXF_plotter.cpp:61
void Format(OUTPUTFORMATTER *out, int aNestLevel, int aCtl, CPTREE &aTree)
Function Format outputs a PTREE into s-expression format via an OUTPUTFORMATTER derivative.
Definition: ptree.cpp:205
wxString getLayerName(LAYER_NUM layer)
wxControl * getName(LAYER_NUM aLayer)

References _, LSET::AllCuMask(), Format(), getLayerName(), getName(), hasOneOf(), m_enabledLayers, m_Parent, name, and PAGED_DIALOG::SetError().

Referenced by TransferDataFromWindow().

◆ TransferDataFromWindow()

bool PANEL_SETUP_LAYERS::TransferDataFromWindow ( )
overrideprivate

Definition at line 487 of file panel_setup_layers.cpp.

488 {
489  if( !testLayerNames() )
490  return false;
491 
492  wxString msg;
493 
494  int thickness = m_pcbThickness.GetValue();
495 
496  // Check for removed layers with items which will get deleted from the board.
497  LSEQ removedLayers = getRemovedLayersWithItems();
498 
499  // Check for non copper layers in use in footprints, and therefore not removable.
500  LSEQ notremovableLayers = getNonRemovableLayers();
501 
502  if( !notremovableLayers.empty() )
503  {
504  for( unsigned int ii = 0; ii < notremovableLayers.size(); ii++ )
505  msg << m_pcb->GetLayerName( notremovableLayers[ii] ) << "\n";
506 
507  if( !IsOK( this, wxString::Format( _( "Footprints have some items on removed layers:\n"
508  "%s\n"
509  "These items will be no longer accessible\n"
510  "Do you wish to continue?" ), msg ) ) )
511  return false;
512  }
513 
514  if( !removedLayers.empty() &&
515  !IsOK( this, _( "Items have been found on removed layers. This operation will delete "
516  "all items from removed layers and cannot be undone. Do you wish to "
517  "continue?" ) ) )
518  return false;
519 
520  // Delete all objects on layers that have been removed. Leaving them in copper layers
521  // can (will?) result in DRC errors and it pollutes the board file with cruft.
522  bool hasRemovedBoardItems = false;
523 
524  if( !removedLayers.empty() )
525  {
526  PCB_LAYER_COLLECTOR collector;
527 
528  for( auto layer_id : removedLayers )
529  {
530  collector.SetLayerId( layer_id );
532 
533  // Bye-bye items on on removed layer.
534  if( collector.GetCount() != 0 )
535  {
536  hasRemovedBoardItems = true;
537 
538  for( int i = 0; i < collector.GetCount(); i++ )
539  {
540  BOARD_ITEM* item = collector[i];
541  m_pcb->Remove( item );
542  delete item;
543  }
544  }
545  }
546  }
547 
549 
551  {
553 
554  /* Ensure enabled layers are also visible
555  * This is mainly to avoid mistakes if some enabled
556  * layers are not visible when exiting this dialog
557  */
559  }
560 
561  for( LSEQ seq = LSET::AllCuMask().Seq(); seq; ++seq )
562  {
563  PCB_LAYER_ID layer = *seq;
564 
565  if( m_enabledLayers[layer] )
566  {
567  m_pcb->SetLayerName( layer, getLayerName( layer ) );
568  LAYER_T t = (LAYER_T) getLayerTypeIndex( layer );
569  m_pcb->SetLayerType( layer, t );
570  }
571  }
572 
573  m_pcb->GetDesignSettings().SetBoardThickness( thickness );
574 
575  // If some board items are deleted: rebuild the connectivity,
576  // because it is likely some tracks and vias where removed
577  if( hasRemovedBoardItems )
578  {
579  // Rebuild list of nets (full ratsnest rebuild)
580  m_frame->Compile_Ratsnest( true );
582  }
583 
584  return true;
585 }
static LSET AllCuMask(int aCuLayerCount=MAX_CU_LAYERS)
Function AllCuMask returns a mask holding the requested number of Cu PCB_LAYER_IDs.
Definition: lset.cpp:676
LSEQ getNonRemovableLayers()
Return a list of layers in use in footprints, and therefore not removable.
static const KICAD_T BoardLevelItems[]
A scan list for all primary board items, omitting items which are subordinate to a MODULE,...
Definition: collectors.h:283
const wxString GetLayerName(PCB_LAYER_ID aLayer) const
Function GetLayerName returns the name of a layer given by aLayer.
void Compile_Ratsnest(bool aDisplayStatus)
Function Compile_Ratsnest Create the entire board ratsnest.
Definition: ratsnest.cpp:44
Class BOARD_ITEM is a base class for any item which can be embedded within the BOARD container class,...
LSET getUILayerMask()
Return the selected layer mask within the UI checkboxes.
void Collect(BOARD_ITEM *aBoard, const KICAD_T aScanList[])
Tests a BOARD_ITEM using this class's Inspector method, which does the collection.
Definition: collectors.cpp:538
UNIT_BINDER m_pcbThickness
BOARD_DESIGN_SETTINGS & GetDesignSettings() const
Function GetDesignSettings.
Definition: class_board.h:540
LSET GetEnabledLayers() const
Function GetEnabledLayers is a proxy function that calls the corresponding function in m_BoardSetting...
Collect all BOARD_ITEM objects on a given layer.
Definition: collectors.h:650
bool SetLayerType(PCB_LAYER_ID aLayer, LAYER_T aLayerType)
Function SetLayerType changes the type of the layer given by aLayer.
void SetBoardThickness(int aThickness)
void SetLayerId(PCB_LAYER_ID aLayerId)
Definition: collectors.h:660
virtual int GetValue()
Function GetValue Returns the current value in Internal Units.
int GetCount() const
Function GetCount returns the number of objects in the list.
Definition: collector.h:113
PCB_LAYER_ID
A quick note on layer IDs:
void SetVisibleLayers(LSET aLayerMask)
Function SetVisibleLayers is a proxy function that calls the correspondent function in m_BoardSetting...
LAYER_T
Enum LAYER_T gives the allowed types of layers, same as Specctra DSN spec.
Definition: class_board.h:66
bool SetLayerName(PCB_LAYER_ID aLayer, const wxString &aLayerName)
Function SetLayerName changes the name of the layer given by aLayer.
void BuildConnectivity()
Builds or rebuilds the board connectivity database for the board, especially the list of connected it...
#define _(s)
Class LSEQ is a sequence (and therefore also a set) of PCB_LAYER_IDs.
PCB_EDIT_FRAME * m_frame
void Format(OUTPUTFORMATTER *out, int aNestLevel, int aCtl, CPTREE &aTree)
Function Format outputs a PTREE into s-expression format via an OUTPUTFORMATTER derivative.
Definition: ptree.cpp:205
wxString getLayerName(LAYER_NUM layer)
size_t i
Definition: json11.cpp:597
int getLayerTypeIndex(LAYER_NUM layer)
bool IsOK(wxWindow *aParent, const wxString &aMessage)
Display a yes/no dialog with aMessage and returns the user response.
Definition: confirm.cpp:294
void SetEnabledLayers(LSET aLayerMask)
Function SetEnabledLayers is a proxy function that calls the correspondent function in m_BoardSetting...
void Remove(BOARD_ITEM *aBoardItem) override
Removes an item from the container.
LSEQ getRemovedLayersWithItems()
Return a list of layers removed from the board that contain items.

References _, LSET::AllCuMask(), GENERAL_COLLECTOR::BoardLevelItems, BOARD::BuildConnectivity(), PCB_LAYER_COLLECTOR::Collect(), PCB_BASE_FRAME::Compile_Ratsnest(), Format(), COLLECTOR::GetCount(), BOARD::GetDesignSettings(), BOARD::GetEnabledLayers(), getLayerName(), BOARD::GetLayerName(), getLayerTypeIndex(), getNonRemovableLayers(), getRemovedLayersWithItems(), getUILayerMask(), UNIT_BINDER::GetValue(), i, IsOK(), m_enabledLayers, m_frame, m_pcb, m_pcbThickness, BOARD::Remove(), BOARD_DESIGN_SETTINGS::SetBoardThickness(), BOARD::SetEnabledLayers(), PCB_LAYER_COLLECTOR::SetLayerId(), BOARD::SetLayerName(), BOARD::SetLayerType(), BOARD::SetVisibleLayers(), and testLayerNames().

◆ TransferDataToWindow()

bool PANEL_SETUP_LAYERS::TransferDataToWindow ( )
overrideprivate

Definition at line 234 of file panel_setup_layers.cpp.

235 {
237 
241 
245  showLayerTypes();
247 
248  return true;
249 }
void showCopperChoice(int copperCount)
UNIT_BINDER m_pcbThickness
BOARD_DESIGN_SETTINGS & GetDesignSettings() const
Function GetDesignSettings.
Definition: class_board.h:540
LSET GetEnabledLayers() const
Function GetEnabledLayers is a proxy function that calls the corresponding function in m_BoardSetting...
void setCopperLayerCheckBoxes(int copperCount)
virtual void SetValue(int aValue)
Function SetValue Sets new value (in Internal Units) for the text field, taking care of units convers...
int GetCopperLayerCount() const
Function GetCopperLayerCount.
void showPresets(LSET enabledLayerMask)
void showSelectedLayerCheckBoxes(LSET enableLayerMask)

References BOARD_DESIGN_SETTINGS::GetBoardThickness(), BOARD::GetCopperLayerCount(), BOARD::GetDesignSettings(), BOARD::GetEnabledLayers(), m_enabledLayers, m_pcb, m_pcbThickness, setCopperLayerCheckBoxes(), setMandatoryLayerCheckBoxes(), UNIT_BINDER::SetValue(), showBoardLayerNames(), showCopperChoice(), showLayerTypes(), showPresets(), and showSelectedLayerCheckBoxes().

Referenced by ImportSettingsFrom().

Member Data Documentation

◆ m_AdhesBackCheckBox

wxCheckBox* PANEL_SETUP_LAYERS_BASE::m_AdhesBackCheckBox
protectedinherited

◆ m_AdhesBackName

wxStaticText* PANEL_SETUP_LAYERS_BASE::m_AdhesBackName
protectedinherited

◆ m_AdhesBackStaticText

wxStaticText* PANEL_SETUP_LAYERS_BASE::m_AdhesBackStaticText
protectedinherited

◆ m_AdhesFrontCheckBox

wxCheckBox* PANEL_SETUP_LAYERS_BASE::m_AdhesFrontCheckBox
protectedinherited

◆ m_AdhesFrontName

wxStaticText* PANEL_SETUP_LAYERS_BASE::m_AdhesFrontName
protectedinherited

◆ m_AdhesFrontStaticText

wxStaticText* PANEL_SETUP_LAYERS_BASE::m_AdhesFrontStaticText
protectedinherited

◆ m_BackCheckBox

wxCheckBox* PANEL_SETUP_LAYERS_BASE::m_BackCheckBox
protectedinherited

◆ m_BackChoice

wxChoice* PANEL_SETUP_LAYERS_BASE::m_BackChoice
protectedinherited

◆ m_BackName

wxTextCtrl* PANEL_SETUP_LAYERS_BASE::m_BackName
protectedinherited

◆ m_CommentsCheckBox

wxCheckBox* PANEL_SETUP_LAYERS_BASE::m_CommentsCheckBox
protectedinherited

◆ m_CommentsName

wxStaticText* PANEL_SETUP_LAYERS_BASE::m_CommentsName
protectedinherited

◆ m_CommentsStaticText

wxStaticText* PANEL_SETUP_LAYERS_BASE::m_CommentsStaticText
protectedinherited

◆ m_CopperLayersChoice

wxChoice* PANEL_SETUP_LAYERS_BASE::m_CopperLayersChoice
protectedinherited

◆ m_CrtYdBackCheckBox

wxCheckBox* PANEL_SETUP_LAYERS_BASE::m_CrtYdBackCheckBox
protectedinherited

◆ m_CrtYdBackName

wxStaticText* PANEL_SETUP_LAYERS_BASE::m_CrtYdBackName
protectedinherited

◆ m_CrtYdBackStaticText

wxStaticText* PANEL_SETUP_LAYERS_BASE::m_CrtYdBackStaticText
protectedinherited

◆ m_CrtYdFrontCheckBox

wxCheckBox* PANEL_SETUP_LAYERS_BASE::m_CrtYdFrontCheckBox
protectedinherited

◆ m_CrtYdFrontName

wxStaticText* PANEL_SETUP_LAYERS_BASE::m_CrtYdFrontName
protectedinherited

◆ m_CrtYdFrontStaticText

wxStaticText* PANEL_SETUP_LAYERS_BASE::m_CrtYdFrontStaticText
protectedinherited

◆ m_DrawingsCheckBox

wxCheckBox* PANEL_SETUP_LAYERS_BASE::m_DrawingsCheckBox
protectedinherited

◆ m_DrawingsName

wxStaticText* PANEL_SETUP_LAYERS_BASE::m_DrawingsName
protectedinherited

◆ m_DrawingsStaticText

wxStaticText* PANEL_SETUP_LAYERS_BASE::m_DrawingsStaticText
protectedinherited

◆ m_Eco1CheckBox

wxCheckBox* PANEL_SETUP_LAYERS_BASE::m_Eco1CheckBox
protectedinherited

◆ m_Eco1Name

wxStaticText* PANEL_SETUP_LAYERS_BASE::m_Eco1Name
protectedinherited

◆ m_Eco1StaticText

wxStaticText* PANEL_SETUP_LAYERS_BASE::m_Eco1StaticText
protectedinherited

◆ m_Eco2CheckBox

wxCheckBox* PANEL_SETUP_LAYERS_BASE::m_Eco2CheckBox
protectedinherited

◆ m_Eco2Name

wxStaticText* PANEL_SETUP_LAYERS_BASE::m_Eco2Name
protectedinherited

◆ m_Eco2StaticText

wxStaticText* PANEL_SETUP_LAYERS_BASE::m_Eco2StaticText
protectedinherited

◆ m_enabledLayers

LSET PANEL_SETUP_LAYERS::m_enabledLayers
private

◆ m_FabBackCheckBox

wxCheckBox* PANEL_SETUP_LAYERS_BASE::m_FabBackCheckBox
protectedinherited

◆ m_FabBackName

wxStaticText* PANEL_SETUP_LAYERS_BASE::m_FabBackName
protectedinherited

◆ m_FabBackStaticText

wxStaticText* PANEL_SETUP_LAYERS_BASE::m_FabBackStaticText
protectedinherited

◆ m_FabFrontCheckBox

wxCheckBox* PANEL_SETUP_LAYERS_BASE::m_FabFrontCheckBox
protectedinherited

◆ m_FabFrontName

wxStaticText* PANEL_SETUP_LAYERS_BASE::m_FabFrontName
protectedinherited

◆ m_FabFrontStaticText

wxStaticText* PANEL_SETUP_LAYERS_BASE::m_FabFrontStaticText
protectedinherited

◆ m_frame

PCB_EDIT_FRAME* PANEL_SETUP_LAYERS::m_frame
private

Definition at line 64 of file panel_setup_layers.h.

Referenced by TransferDataFromWindow().

◆ m_FrontCheckBox

wxCheckBox* PANEL_SETUP_LAYERS_BASE::m_FrontCheckBox
protectedinherited

◆ m_FrontChoice

wxChoice* PANEL_SETUP_LAYERS_BASE::m_FrontChoice
protectedinherited

◆ m_FrontName

wxTextCtrl* PANEL_SETUP_LAYERS_BASE::m_FrontName
protectedinherited

◆ m_In10CheckBox

wxCheckBox* PANEL_SETUP_LAYERS_BASE::m_In10CheckBox
protectedinherited

◆ m_In10Choice

wxChoice* PANEL_SETUP_LAYERS_BASE::m_In10Choice
protectedinherited

◆ m_In10Name

wxTextCtrl* PANEL_SETUP_LAYERS_BASE::m_In10Name
protectedinherited

◆ m_In11CheckBox

wxCheckBox* PANEL_SETUP_LAYERS_BASE::m_In11CheckBox
protectedinherited

◆ m_In11Choice

wxChoice* PANEL_SETUP_LAYERS_BASE::m_In11Choice
protectedinherited

◆ m_In11Name

wxTextCtrl* PANEL_SETUP_LAYERS_BASE::m_In11Name
protectedinherited

◆ m_In12CheckBox

wxCheckBox* PANEL_SETUP_LAYERS_BASE::m_In12CheckBox
protectedinherited

◆ m_In12Choice

wxChoice* PANEL_SETUP_LAYERS_BASE::m_In12Choice
protectedinherited

◆ m_In12Name

wxTextCtrl* PANEL_SETUP_LAYERS_BASE::m_In12Name
protectedinherited

◆ m_In13CheckBox

wxCheckBox* PANEL_SETUP_LAYERS_BASE::m_In13CheckBox
protectedinherited

◆ m_In13Choice

wxChoice* PANEL_SETUP_LAYERS_BASE::m_In13Choice
protectedinherited

◆ m_In13Name

wxTextCtrl* PANEL_SETUP_LAYERS_BASE::m_In13Name
protectedinherited

◆ m_In14CheckBox

wxCheckBox* PANEL_SETUP_LAYERS_BASE::m_In14CheckBox
protectedinherited

◆ m_In14Choice

wxChoice* PANEL_SETUP_LAYERS_BASE::m_In14Choice
protectedinherited

◆ m_In14Name

wxTextCtrl* PANEL_SETUP_LAYERS_BASE::m_In14Name
protectedinherited

◆ m_In15CheckBox

wxCheckBox* PANEL_SETUP_LAYERS_BASE::m_In15CheckBox
protectedinherited

◆ m_In15Choice

wxChoice* PANEL_SETUP_LAYERS_BASE::m_In15Choice
protectedinherited

◆ m_In15Name

wxTextCtrl* PANEL_SETUP_LAYERS_BASE::m_In15Name
protectedinherited

◆ m_In16CheckBox

wxCheckBox* PANEL_SETUP_LAYERS_BASE::m_In16CheckBox
protectedinherited

◆ m_In16Choice

wxChoice* PANEL_SETUP_LAYERS_BASE::m_In16Choice
protectedinherited

◆ m_In16Name

wxTextCtrl* PANEL_SETUP_LAYERS_BASE::m_In16Name
protectedinherited

◆ m_In17CheckBox

wxCheckBox* PANEL_SETUP_LAYERS_BASE::m_In17CheckBox
protectedinherited

◆ m_In17Choice

wxChoice* PANEL_SETUP_LAYERS_BASE::m_In17Choice
protectedinherited

◆ m_In17Name

wxTextCtrl* PANEL_SETUP_LAYERS_BASE::m_In17Name
protectedinherited

◆ m_In18CheckBox

wxCheckBox* PANEL_SETUP_LAYERS_BASE::m_In18CheckBox
protectedinherited

◆ m_In18Choice

wxChoice* PANEL_SETUP_LAYERS_BASE::m_In18Choice
protectedinherited

◆ m_In18Name

wxTextCtrl* PANEL_SETUP_LAYERS_BASE::m_In18Name
protectedinherited

◆ m_In19CheckBox

wxCheckBox* PANEL_SETUP_LAYERS_BASE::m_In19CheckBox
protectedinherited

◆ m_In19Choice

wxChoice* PANEL_SETUP_LAYERS_BASE::m_In19Choice
protectedinherited

◆ m_In19Name

wxTextCtrl* PANEL_SETUP_LAYERS_BASE::m_In19Name
protectedinherited

◆ m_In1CheckBox

wxCheckBox* PANEL_SETUP_LAYERS_BASE::m_In1CheckBox
protectedinherited

◆ m_In1Choice

wxChoice* PANEL_SETUP_LAYERS_BASE::m_In1Choice
protectedinherited

◆ m_In1Name

wxTextCtrl* PANEL_SETUP_LAYERS_BASE::m_In1Name
protectedinherited

◆ m_In20CheckBox

wxCheckBox* PANEL_SETUP_LAYERS_BASE::m_In20CheckBox
protectedinherited

◆ m_In20Choice

wxChoice* PANEL_SETUP_LAYERS_BASE::m_In20Choice
protectedinherited

◆ m_In20Name

wxTextCtrl* PANEL_SETUP_LAYERS_BASE::m_In20Name
protectedinherited

◆ m_In21CheckBox

wxCheckBox* PANEL_SETUP_LAYERS_BASE::m_In21CheckBox
protectedinherited

◆ m_In21Choice

wxChoice* PANEL_SETUP_LAYERS_BASE::m_In21Choice
protectedinherited

◆ m_In21Name

wxTextCtrl* PANEL_SETUP_LAYERS_BASE::m_In21Name
protectedinherited

◆ m_In22CheckBox

wxCheckBox* PANEL_SETUP_LAYERS_BASE::m_In22CheckBox
protectedinherited

◆ m_In22Choice

wxChoice* PANEL_SETUP_LAYERS_BASE::m_In22Choice
protectedinherited

◆ m_In22Name

wxTextCtrl* PANEL_SETUP_LAYERS_BASE::m_In22Name
protectedinherited

◆ m_In23CheckBox

wxCheckBox* PANEL_SETUP_LAYERS_BASE::m_In23CheckBox
protectedinherited

◆ m_In23Choice

wxChoice* PANEL_SETUP_LAYERS_BASE::m_In23Choice
protectedinherited

◆ m_In23Name

wxTextCtrl* PANEL_SETUP_LAYERS_BASE::m_In23Name
protectedinherited

◆ m_In24CheckBox

wxCheckBox* PANEL_SETUP_LAYERS_BASE::m_In24CheckBox
protectedinherited

◆ m_In24Choice

wxChoice* PANEL_SETUP_LAYERS_BASE::m_In24Choice
protectedinherited

◆ m_In24Name

wxTextCtrl* PANEL_SETUP_LAYERS_BASE::m_In24Name
protectedinherited

◆ m_In25CheckBox

wxCheckBox* PANEL_SETUP_LAYERS_BASE::m_In25CheckBox
protectedinherited

◆ m_In25Choice

wxChoice* PANEL_SETUP_LAYERS_BASE::m_In25Choice
protectedinherited

◆ m_In25Name

wxTextCtrl* PANEL_SETUP_LAYERS_BASE::m_In25Name
protectedinherited

◆ m_In26CheckBox

wxCheckBox* PANEL_SETUP_LAYERS_BASE::m_In26CheckBox
protectedinherited

◆ m_In26Choice

wxChoice* PANEL_SETUP_LAYERS_BASE::m_In26Choice
protectedinherited

◆ m_In26Name

wxTextCtrl* PANEL_SETUP_LAYERS_BASE::m_In26Name
protectedinherited

◆ m_In27CheckBox

wxCheckBox* PANEL_SETUP_LAYERS_BASE::m_In27CheckBox
protectedinherited

◆ m_In27Choice

wxChoice* PANEL_SETUP_LAYERS_BASE::m_In27Choice
protectedinherited

◆ m_In27Name

wxTextCtrl* PANEL_SETUP_LAYERS_BASE::m_In27Name
protectedinherited

◆ m_In28CheckBox

wxCheckBox* PANEL_SETUP_LAYERS_BASE::m_In28CheckBox
protectedinherited

◆ m_In28Choice

wxChoice* PANEL_SETUP_LAYERS_BASE::m_In28Choice
protectedinherited

◆ m_In28Name

wxTextCtrl* PANEL_SETUP_LAYERS_BASE::m_In28Name
protectedinherited

◆ m_In29CheckBox

wxCheckBox* PANEL_SETUP_LAYERS_BASE::m_In29CheckBox
protectedinherited

◆ m_In29Choice

wxChoice* PANEL_SETUP_LAYERS_BASE::m_In29Choice
protectedinherited

◆ m_In29Name

wxTextCtrl* PANEL_SETUP_LAYERS_BASE::m_In29Name
protectedinherited

◆ m_In2CheckBox

wxCheckBox* PANEL_SETUP_LAYERS_BASE::m_In2CheckBox
protectedinherited

◆ m_In2Choice

wxChoice* PANEL_SETUP_LAYERS_BASE::m_In2Choice
protectedinherited

◆ m_In2Name

wxTextCtrl* PANEL_SETUP_LAYERS_BASE::m_In2Name
protectedinherited

◆ m_In30CheckBox

wxCheckBox* PANEL_SETUP_LAYERS_BASE::m_In30CheckBox
protectedinherited

◆ m_In30Choice

wxChoice* PANEL_SETUP_LAYERS_BASE::m_In30Choice
protectedinherited

◆ m_In30Name

wxTextCtrl* PANEL_SETUP_LAYERS_BASE::m_In30Name
protectedinherited

◆ m_In3CheckBox

wxCheckBox* PANEL_SETUP_LAYERS_BASE::m_In3CheckBox
protectedinherited

◆ m_In3Choice

wxChoice* PANEL_SETUP_LAYERS_BASE::m_In3Choice
protectedinherited

◆ m_In3Name

wxTextCtrl* PANEL_SETUP_LAYERS_BASE::m_In3Name
protectedinherited

◆ m_In4CheckBox

wxCheckBox* PANEL_SETUP_LAYERS_BASE::m_In4CheckBox
protectedinherited

◆ m_In4Choice

wxChoice* PANEL_SETUP_LAYERS_BASE::m_In4Choice
protectedinherited

◆ m_In4Name

wxTextCtrl* PANEL_SETUP_LAYERS_BASE::m_In4Name
protectedinherited

◆ m_In5CheckBox

wxCheckBox* PANEL_SETUP_LAYERS_BASE::m_In5CheckBox
protectedinherited

◆ m_In5Choice

wxChoice* PANEL_SETUP_LAYERS_BASE::m_In5Choice
protectedinherited

◆ m_In5Name

wxTextCtrl* PANEL_SETUP_LAYERS_BASE::m_In5Name
protectedinherited

◆ m_In6CheckBox

wxCheckBox* PANEL_SETUP_LAYERS_BASE::m_In6CheckBox
protectedinherited

◆ m_In6Choice

wxChoice* PANEL_SETUP_LAYERS_BASE::m_In6Choice
protectedinherited

◆ m_In6Name

wxTextCtrl* PANEL_SETUP_LAYERS_BASE::m_In6Name
protectedinherited

◆ m_In7CheckBox

wxCheckBox* PANEL_SETUP_LAYERS_BASE::m_In7CheckBox
protectedinherited

◆ m_In7Choice

wxChoice* PANEL_SETUP_LAYERS_BASE::m_In7Choice
protectedinherited

◆ m_In7Name

wxTextCtrl* PANEL_SETUP_LAYERS_BASE::m_In7Name
protectedinherited

◆ m_In8CheckBox

wxCheckBox* PANEL_SETUP_LAYERS_BASE::m_In8CheckBox
protectedinherited

◆ m_In8Choice

wxChoice* PANEL_SETUP_LAYERS_BASE::m_In8Choice
protectedinherited

◆ m_In8Name

wxTextCtrl* PANEL_SETUP_LAYERS_BASE::m_In8Name
protectedinherited

◆ m_In9CheckBox

wxCheckBox* PANEL_SETUP_LAYERS_BASE::m_In9CheckBox
protectedinherited

◆ m_In9Choice

wxChoice* PANEL_SETUP_LAYERS_BASE::m_In9Choice
protectedinherited

◆ m_In9Name

wxTextCtrl* PANEL_SETUP_LAYERS_BASE::m_In9Name
protectedinherited

◆ m_LayerListFlexGridSizer

wxFlexGridSizer* PANEL_SETUP_LAYERS_BASE::m_LayerListFlexGridSizer
protectedinherited

◆ m_LayersListPanel

wxScrolledWindow* PANEL_SETUP_LAYERS_BASE::m_LayersListPanel
protectedinherited

◆ m_MarginCheckBox

wxCheckBox* PANEL_SETUP_LAYERS_BASE::m_MarginCheckBox
protectedinherited

◆ m_MarginName

wxStaticText* PANEL_SETUP_LAYERS_BASE::m_MarginName
protectedinherited

◆ m_MarginStaticText

wxStaticText* PANEL_SETUP_LAYERS_BASE::m_MarginStaticText
protectedinherited

◆ m_MaskBackCheckBox

wxCheckBox* PANEL_SETUP_LAYERS_BASE::m_MaskBackCheckBox
protectedinherited

◆ m_MaskBackName

wxStaticText* PANEL_SETUP_LAYERS_BASE::m_MaskBackName
protectedinherited

◆ m_MaskBackStaticText

wxStaticText* PANEL_SETUP_LAYERS_BASE::m_MaskBackStaticText
protectedinherited

◆ m_MaskFrontCheckBox

wxCheckBox* PANEL_SETUP_LAYERS_BASE::m_MaskFrontCheckBox
protectedinherited

◆ m_MaskFrontName

wxStaticText* PANEL_SETUP_LAYERS_BASE::m_MaskFrontName
protectedinherited

◆ m_MaskFrontStaticText

wxStaticText* PANEL_SETUP_LAYERS_BASE::m_MaskFrontStaticText
protectedinherited

◆ m_Parent

PAGED_DIALOG* PANEL_SETUP_LAYERS::m_Parent
private

Definition at line 63 of file panel_setup_layers.h.

Referenced by testLayerNames().

◆ m_pcb

◆ m_PCBEdgesCheckBox

wxCheckBox* PANEL_SETUP_LAYERS_BASE::m_PCBEdgesCheckBox
protectedinherited

◆ m_PCBEdgesName

wxStaticText* PANEL_SETUP_LAYERS_BASE::m_PCBEdgesName
protectedinherited

◆ m_PCBEdgesStaticText

wxStaticText* PANEL_SETUP_LAYERS_BASE::m_PCBEdgesStaticText
protectedinherited

◆ m_pcbThickness

UNIT_BINDER PANEL_SETUP_LAYERS::m_pcbThickness
private

Definition at line 68 of file panel_setup_layers.h.

Referenced by TransferDataFromWindow(), and TransferDataToWindow().

◆ m_PresetsChoice

wxChoice* PANEL_SETUP_LAYERS_BASE::m_PresetsChoice
protectedinherited

◆ m_SilkSBackCheckBox

wxCheckBox* PANEL_SETUP_LAYERS_BASE::m_SilkSBackCheckBox
protectedinherited

◆ m_SilkSBackName

wxStaticText* PANEL_SETUP_LAYERS_BASE::m_SilkSBackName
protectedinherited

◆ m_SilkSBackStaticText

wxStaticText* PANEL_SETUP_LAYERS_BASE::m_SilkSBackStaticText
protectedinherited

◆ m_SilkSFrontCheckBox

wxCheckBox* PANEL_SETUP_LAYERS_BASE::m_SilkSFrontCheckBox
protectedinherited

◆ m_SilkSFrontName

wxStaticText* PANEL_SETUP_LAYERS_BASE::m_SilkSFrontName
protectedinherited

◆ m_SilkSFrontStaticText

wxStaticText* PANEL_SETUP_LAYERS_BASE::m_SilkSFrontStaticText
protectedinherited

◆ m_SoldPBackCheckBox

wxCheckBox* PANEL_SETUP_LAYERS_BASE::m_SoldPBackCheckBox
protectedinherited

◆ m_SoldPBackName

wxStaticText* PANEL_SETUP_LAYERS_BASE::m_SoldPBackName
protectedinherited

◆ m_SoldPBackStaticText

wxStaticText* PANEL_SETUP_LAYERS_BASE::m_SoldPBackStaticText
protectedinherited

◆ m_SoldPFrontCheckBox

wxCheckBox* PANEL_SETUP_LAYERS_BASE::m_SoldPFrontCheckBox
protectedinherited

◆ m_SoldPFrontName

wxStaticText* PANEL_SETUP_LAYERS_BASE::m_SoldPFrontName
protectedinherited

◆ m_SoldPFrontStaticText

wxStaticText* PANEL_SETUP_LAYERS_BASE::m_SoldPFrontStaticText
protectedinherited

◆ m_staticline2

wxStaticLine* PANEL_SETUP_LAYERS_BASE::m_staticline2
protectedinherited

◆ m_staticTextCopperLayers

wxStaticText* PANEL_SETUP_LAYERS_BASE::m_staticTextCopperLayers
protectedinherited

◆ m_thicknessCtrl

wxTextCtrl* PANEL_SETUP_LAYERS_BASE::m_thicknessCtrl
protectedinherited

◆ m_thicknessLabel

wxStaticText* PANEL_SETUP_LAYERS_BASE::m_thicknessLabel
protectedinherited

◆ m_thicknessUnits

wxStaticText* PANEL_SETUP_LAYERS_BASE::m_thicknessUnits
protectedinherited

The documentation for this class was generated from the following files: