KiCad PCB EDA Suite
Loading...
Searching...
No Matches
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 (wxWindow *aParentWindow, PCB_EDIT_FRAME *aFrame)
 
void ImportSettingsFrom (BOARD *aBoard)
 
bool CheckCopperLayerCount (BOARD *aWorkingBoard, BOARD *aImportedBoard)
 Check and warn if inner copper layers will be deleted.
 
LSET GetUILayerMask ()
 
void SyncCopperLayers (int aNumCopperLayers)
 Called when switching to this tab to make sure that any changes to the copper layer count made on the physical stackup page are reflected here.
 
void SetPhysicalStackupPanel (PANEL_SETUP_BOARD_STACKUP *aPanel)
 
bool IsInitialized () const
 

Protected Attributes

wxButton * m_addUserDefinedLayerButton
 
wxStaticLine * m_staticline2
 
wxScrolledWindow * m_LayersListPanel
 
wxFlexGridSizer * m_LayersSizer
 

Private Member Functions

void setLayerCheckBox (PCB_LAYER_ID layer, bool isChecked)
 
void setCopperLayerCheckBoxes (int copperCount)
 
void setUserDefinedLayerCheckBoxes ()
 
void showBoardLayerNames ()
 
void showSelectedLayerCheckBoxes (LSET enableLayerMask)
 
void showLayerTypes ()
 
bool TransferDataToWindow () override
 
bool TransferDataFromWindow () override
 
virtual void addUserDefinedLayer (wxCommandEvent &aEvent) override
 
bool testLayerNames ()
 
LSEQ getRemovedLayersWithItems ()
 Return a list of layers removed from the board that contain items.
 
LSEQ getNonRemovableLayers ()
 Return a list of layers in use in footprints, and therefore not removable.
 
wxTextCtrl * getName (PCB_LAYER_ID aLayer)
 
wxCheckBox * getCheckBox (PCB_LAYER_ID aLayer)
 
wxChoice * getChoice (PCB_LAYER_ID aLayer)
 
void initialize_front_tech_layers ()
 
void initialize_layers_controls ()
 
void initialize_back_tech_layers ()
 
void append_user_layer (PCB_LAYER_ID aLayer)
 

Private Attributes

PCB_EDIT_FRAMEm_frame
 
PANEL_SETUP_BOARD_STACKUPm_physicalStackup
 
BOARDm_pcb
 
LSET m_enabledLayers
 
bool m_initialized
 
std::map< PCB_LAYER_ID, PANEL_SETUP_LAYERS_CTLsm_layersControls
 
wxCheckBox * m_CrtYdFrontCheckBox
 
wxTextCtrl * m_CrtYdFrontName
 
wxStaticText * m_CrtYdFrontStaticText
 
wxCheckBox * m_FabFrontCheckBox
 
wxTextCtrl * m_FabFrontName
 
wxStaticText * m_FabFrontStaticText
 
wxCheckBox * m_AdhesFrontCheckBox
 
wxTextCtrl * m_AdhesFrontName
 
wxStaticText * m_AdhesFrontStaticText
 
wxCheckBox * m_SoldPFrontCheckBox
 
wxTextCtrl * m_SoldPFrontName
 
wxStaticText * m_SoldPFrontStaticText
 
wxCheckBox * m_SilkSFrontCheckBox
 
wxTextCtrl * m_SilkSFrontName
 
wxStaticText * m_SilkSFrontStaticText
 
wxCheckBox * m_MaskFrontCheckBox
 
wxTextCtrl * m_MaskFrontName
 
wxStaticText * m_MaskFrontStaticText
 
wxCheckBox * m_MaskBackCheckBox
 
wxTextCtrl * m_MaskBackName
 
wxStaticText * m_MaskBackStaticText
 
wxCheckBox * m_SilkSBackCheckBox
 
wxTextCtrl * m_SilkSBackName
 
wxStaticText * m_SilkSBackStaticText
 
wxCheckBox * m_SoldPBackCheckBox
 
wxTextCtrl * m_SoldPBackName
 
wxStaticText * m_SoldPBackStaticText
 
wxCheckBox * m_AdhesBackCheckBox
 
wxTextCtrl * m_AdhesBackName
 
wxStaticText * m_AdhesBackStaticText
 
wxCheckBox * m_FabBackCheckBox
 
wxTextCtrl * m_FabBackName
 
wxStaticText * m_FabBackStaticText
 
wxCheckBox * m_CrtYdBackCheckBox
 
wxTextCtrl * m_CrtYdBackName
 
wxStaticText * m_CrtYdBackStaticText
 
wxCheckBox * m_PCBEdgesCheckBox
 
wxTextCtrl * m_PCBEdgesName
 
wxStaticText * m_PCBEdgesStaticText
 
wxCheckBox * m_MarginCheckBox
 
wxTextCtrl * m_MarginName
 
wxStaticText * m_MarginStaticText
 
wxCheckBox * m_Eco1CheckBox
 
wxTextCtrl * m_Eco1Name
 
wxStaticText * m_Eco1StaticText
 
wxCheckBox * m_Eco2CheckBox
 
wxTextCtrl * m_Eco2Name
 
wxStaticText * m_Eco2StaticText
 
wxCheckBox * m_CommentsCheckBox
 
wxTextCtrl * m_CommentsName
 
wxStaticText * m_CommentsStaticText
 
wxCheckBox * m_DrawingsCheckBox
 
wxTextCtrl * m_DrawingsName
 
wxStaticText * m_DrawingsStaticText
 

Detailed Description

Definition at line 57 of file panel_setup_layers.h.

Constructor & Destructor Documentation

◆ PANEL_SETUP_LAYERS()

PANEL_SETUP_LAYERS::PANEL_SETUP_LAYERS ( wxWindow *  aParentWindow,
PCB_EDIT_FRAME aFrame 
)

Definition at line 62 of file panel_setup_layers.cpp.

References PCB_BASE_FRAME::GetBoard(), and m_pcb.

Member Function Documentation

◆ addUserDefinedLayer()

◆ append_user_layer()

void PANEL_SETUP_LAYERS::append_user_layer ( PCB_LAYER_ID  aLayer)
private

◆ CheckCopperLayerCount()

bool PANEL_SETUP_LAYERS::CheckCopperLayerCount ( BOARD aWorkingBoard,
BOARD aImportedBoard 
)

Check and warn if inner copper layers will be deleted.

This function warns users if they are going to delete inner copper layers because they're importing settings from a board with less copper layers than the board already loaded.

Parameters
aWorkingBoardis the currently loaded PCB
aImportedBoardis the PCB imported to get settings from.
Returns
Approval to delete inner copper if needed.
the selected layer mask within the UI checkboxes

Definition at line 1086 of file panel_setup_layers.cpp.

References _, and BOARD::GetCopperLayerCount().

Referenced by DIALOG_BOARD_SETUP::onAuxiliaryAction().

◆ getCheckBox()

wxCheckBox * PANEL_SETUP_LAYERS::getCheckBox ( PCB_LAYER_ID  aLayer)
private

◆ getChoice()

wxChoice * PANEL_SETUP_LAYERS::getChoice ( PCB_LAYER_ID  aLayer)
private

Definition at line 509 of file panel_setup_layers.cpp.

References m_layersControls.

Referenced by showLayerTypes(), and TransferDataFromWindow().

◆ getName()

wxTextCtrl * PANEL_SETUP_LAYERS::getName ( PCB_LAYER_ID  aLayer)
private

Definition at line 497 of file panel_setup_layers.cpp.

References m_layersControls.

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

◆ getNonRemovableLayers()

LSEQ PANEL_SETUP_LAYERS::getNonRemovableLayers ( )
private

◆ getRemovedLayersWithItems()

LSEQ PANEL_SETUP_LAYERS::getRemovedLayersWithItems ( )
private

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

Footprints and items owned by footprints are not taken in account

Definition at line 982 of file panel_setup_layers.cpp.

References GENERAL_COLLECTOR::BoardLevelItems, PCB_LAYER_COLLECTOR::Collect(), COLLECTOR::GetCount(), BOARD::GetEnabledLayers(), BOARD_ITEM::GetParentFootprint(), GetUILayerMask(), m_pcb, PCB_FOOTPRINT_T, PCB_VIA_T, LSET::Seq(), PCB_LAYER_COLLECTOR::SetLayerId(), EDA_ITEM::Type(), and via.

Referenced by TransferDataFromWindow().

◆ GetUILayerMask()

◆ ImportSettingsFrom()

void PANEL_SETUP_LAYERS::ImportSettingsFrom ( BOARD aBoard)

Definition at line 1075 of file panel_setup_layers.cpp.

References m_pcb, and TransferDataToWindow().

Referenced by DIALOG_BOARD_SETUP::onAuxiliaryAction().

◆ initialize_back_tech_layers()

◆ initialize_front_tech_layers()

◆ initialize_layers_controls()

void PANEL_SETUP_LAYERS::initialize_layers_controls ( )
private

Definition at line 401 of file panel_setup_layers.cpp.

References _, append_user_layer(), B_Adhes, B_CrtYd, B_Fab, B_Mask, B_Paste, B_SilkS, Cmts_User, LSET::copper_layers_begin(), LSET::copper_layers_end(), Dwgs_User, Eco1_User, Eco2_User, Edge_Cuts, F_Adhes, F_CrtYd, F_Fab, F_Mask, F_Paste, F_SilkS, initialize_back_tech_layers(), initialize_front_tech_layers(), LayerName(), m_AdhesBackCheckBox, m_AdhesBackName, m_AdhesBackStaticText, m_AdhesFrontCheckBox, m_AdhesFrontName, m_AdhesFrontStaticText, m_CommentsCheckBox, m_CommentsName, m_CommentsStaticText, m_CrtYdBackCheckBox, m_CrtYdBackName, m_CrtYdBackStaticText, m_CrtYdFrontCheckBox, m_CrtYdFrontName, m_CrtYdFrontStaticText, m_DrawingsCheckBox, m_DrawingsName, m_DrawingsStaticText, m_Eco1CheckBox, m_Eco1Name, m_Eco1StaticText, m_Eco2CheckBox, m_Eco2Name, m_Eco2StaticText, m_enabledLayers, m_FabBackCheckBox, m_FabBackName, m_FabBackStaticText, m_FabFrontCheckBox, m_FabFrontName, m_FabFrontStaticText, m_layersControls, PANEL_SETUP_LAYERS_BASE::m_LayersListPanel, PANEL_SETUP_LAYERS_BASE::m_LayersSizer, m_MarginCheckBox, m_MarginName, m_MarginStaticText, m_MaskBackCheckBox, m_MaskBackName, m_MaskBackStaticText, m_MaskFrontCheckBox, m_MaskFrontName, m_MaskFrontStaticText, m_PCBEdgesCheckBox, m_PCBEdgesName, m_PCBEdgesStaticText, m_SilkSBackCheckBox, m_SilkSBackName, m_SilkSBackStaticText, m_SilkSFrontCheckBox, m_SilkSFrontName, m_SilkSFrontStaticText, m_SoldPBackCheckBox, m_SoldPBackName, m_SoldPBackStaticText, m_SoldPFrontCheckBox, m_SoldPFrontName, m_SoldPFrontStaticText, Margin, LSET::non_copper_layers_begin(), LSET::non_copper_layers_end(), and LSET::UserDefinedLayersMask().

Referenced by SyncCopperLayers(), and TransferDataToWindow().

◆ IsInitialized()

bool PANEL_SETUP_LAYERS::IsInitialized ( ) const
inline

Definition at line 92 of file panel_setup_layers.h.

References m_initialized.

Referenced by PANEL_SETUP_BOARD_STACKUP::OnLayersOptionsChanged().

◆ setCopperLayerCheckBoxes()

void PANEL_SETUP_LAYERS::setCopperLayerCheckBoxes ( int  copperCount)
private

◆ setLayerCheckBox()

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

◆ SetPhysicalStackupPanel()

void PANEL_SETUP_LAYERS::SetPhysicalStackupPanel ( PANEL_SETUP_BOARD_STACKUP aPanel)
inline

◆ setUserDefinedLayerCheckBoxes()

void PANEL_SETUP_LAYERS::setUserDefinedLayerCheckBoxes ( )
private

◆ showBoardLayerNames()

void PANEL_SETUP_LAYERS::showBoardLayerNames ( )
private

◆ showLayerTypes()

◆ showSelectedLayerCheckBoxes()

void PANEL_SETUP_LAYERS::showSelectedLayerCheckBoxes ( LSET  enableLayerMask)
private

Definition at line 591 of file panel_setup_layers.cpp.

References m_layersControls, and setLayerCheckBox().

Referenced by SyncCopperLayers(), and TransferDataToWindow().

◆ SyncCopperLayers()

void PANEL_SETUP_LAYERS::SyncCopperLayers ( int  aNumCopperLayers)

Called when switching to this tab to make sure that any changes to the copper layer count made on the physical stackup page are reflected here.

Parameters
aNumCopperLayersis the number of copper layers in the board

Definition at line 538 of file panel_setup_layers.cpp.

References LSET::AllCuMask(), initialize_layers_controls(), IsCopperLayer(), m_enabledLayers, BASE_SET::reset(), setCopperLayerCheckBoxes(), setUserDefinedLayerCheckBoxes(), showBoardLayerNames(), showLayerTypes(), and showSelectedLayerCheckBoxes().

Referenced by DIALOG_BOARD_SETUP::onPageChanged(), and TransferDataFromWindow().

◆ testLayerNames()

bool PANEL_SETUP_LAYERS::testLayerNames ( )
private

◆ TransferDataFromWindow()

◆ TransferDataToWindow()

Member Data Documentation

◆ m_addUserDefinedLayerButton

wxButton* PANEL_SETUP_LAYERS_BASE::m_addUserDefinedLayerButton
protectedinherited

◆ m_AdhesBackCheckBox

wxCheckBox* PANEL_SETUP_LAYERS::m_AdhesBackCheckBox
private

◆ m_AdhesBackName

wxTextCtrl* PANEL_SETUP_LAYERS::m_AdhesBackName
private

◆ m_AdhesBackStaticText

wxStaticText* PANEL_SETUP_LAYERS::m_AdhesBackStaticText
private

◆ m_AdhesFrontCheckBox

wxCheckBox* PANEL_SETUP_LAYERS::m_AdhesFrontCheckBox
private

◆ m_AdhesFrontName

wxTextCtrl* PANEL_SETUP_LAYERS::m_AdhesFrontName
private

◆ m_AdhesFrontStaticText

wxStaticText* PANEL_SETUP_LAYERS::m_AdhesFrontStaticText
private

◆ m_CommentsCheckBox

wxCheckBox* PANEL_SETUP_LAYERS::m_CommentsCheckBox
private

◆ m_CommentsName

wxTextCtrl* PANEL_SETUP_LAYERS::m_CommentsName
private

◆ m_CommentsStaticText

wxStaticText* PANEL_SETUP_LAYERS::m_CommentsStaticText
private

◆ m_CrtYdBackCheckBox

wxCheckBox* PANEL_SETUP_LAYERS::m_CrtYdBackCheckBox
private

◆ m_CrtYdBackName

wxTextCtrl* PANEL_SETUP_LAYERS::m_CrtYdBackName
private

◆ m_CrtYdBackStaticText

wxStaticText* PANEL_SETUP_LAYERS::m_CrtYdBackStaticText
private

◆ m_CrtYdFrontCheckBox

wxCheckBox* PANEL_SETUP_LAYERS::m_CrtYdFrontCheckBox
private

◆ m_CrtYdFrontName

wxTextCtrl* PANEL_SETUP_LAYERS::m_CrtYdFrontName
private

◆ m_CrtYdFrontStaticText

wxStaticText* PANEL_SETUP_LAYERS::m_CrtYdFrontStaticText
private

◆ m_DrawingsCheckBox

wxCheckBox* PANEL_SETUP_LAYERS::m_DrawingsCheckBox
private

◆ m_DrawingsName

wxTextCtrl* PANEL_SETUP_LAYERS::m_DrawingsName
private

◆ m_DrawingsStaticText

wxStaticText* PANEL_SETUP_LAYERS::m_DrawingsStaticText
private

◆ m_Eco1CheckBox

wxCheckBox* PANEL_SETUP_LAYERS::m_Eco1CheckBox
private

◆ m_Eco1Name

wxTextCtrl* PANEL_SETUP_LAYERS::m_Eco1Name
private

◆ m_Eco1StaticText

wxStaticText* PANEL_SETUP_LAYERS::m_Eco1StaticText
private

◆ m_Eco2CheckBox

wxCheckBox* PANEL_SETUP_LAYERS::m_Eco2CheckBox
private

◆ m_Eco2Name

wxTextCtrl* PANEL_SETUP_LAYERS::m_Eco2Name
private

◆ m_Eco2StaticText

wxStaticText* PANEL_SETUP_LAYERS::m_Eco2StaticText
private

◆ m_enabledLayers

◆ m_FabBackCheckBox

wxCheckBox* PANEL_SETUP_LAYERS::m_FabBackCheckBox
private

◆ m_FabBackName

wxTextCtrl* PANEL_SETUP_LAYERS::m_FabBackName
private

◆ m_FabBackStaticText

wxStaticText* PANEL_SETUP_LAYERS::m_FabBackStaticText
private

◆ m_FabFrontCheckBox

wxCheckBox* PANEL_SETUP_LAYERS::m_FabFrontCheckBox
private

◆ m_FabFrontName

wxTextCtrl* PANEL_SETUP_LAYERS::m_FabFrontName
private

◆ m_FabFrontStaticText

wxStaticText* PANEL_SETUP_LAYERS::m_FabFrontStaticText
private

◆ m_frame

PCB_EDIT_FRAME* PANEL_SETUP_LAYERS::m_frame
private

Definition at line 131 of file panel_setup_layers.h.

Referenced by TransferDataFromWindow().

◆ m_initialized

bool PANEL_SETUP_LAYERS::m_initialized
private

Definition at line 135 of file panel_setup_layers.h.

Referenced by IsInitialized(), and TransferDataToWindow().

◆ m_layersControls

◆ m_LayersListPanel

wxScrolledWindow* PANEL_SETUP_LAYERS_BASE::m_LayersListPanel
protectedinherited

◆ m_LayersSizer

wxFlexGridSizer* PANEL_SETUP_LAYERS_BASE::m_LayersSizer
protectedinherited

◆ m_MarginCheckBox

wxCheckBox* PANEL_SETUP_LAYERS::m_MarginCheckBox
private

◆ m_MarginName

wxTextCtrl* PANEL_SETUP_LAYERS::m_MarginName
private

◆ m_MarginStaticText

wxStaticText* PANEL_SETUP_LAYERS::m_MarginStaticText
private

◆ m_MaskBackCheckBox

wxCheckBox* PANEL_SETUP_LAYERS::m_MaskBackCheckBox
private

◆ m_MaskBackName

wxTextCtrl* PANEL_SETUP_LAYERS::m_MaskBackName
private

◆ m_MaskBackStaticText

wxStaticText* PANEL_SETUP_LAYERS::m_MaskBackStaticText
private

◆ m_MaskFrontCheckBox

wxCheckBox* PANEL_SETUP_LAYERS::m_MaskFrontCheckBox
private

◆ m_MaskFrontName

wxTextCtrl* PANEL_SETUP_LAYERS::m_MaskFrontName
private

◆ m_MaskFrontStaticText

wxStaticText* PANEL_SETUP_LAYERS::m_MaskFrontStaticText
private

◆ m_pcb

◆ m_PCBEdgesCheckBox

wxCheckBox* PANEL_SETUP_LAYERS::m_PCBEdgesCheckBox
private

◆ m_PCBEdgesName

wxTextCtrl* PANEL_SETUP_LAYERS::m_PCBEdgesName
private

◆ m_PCBEdgesStaticText

wxStaticText* PANEL_SETUP_LAYERS::m_PCBEdgesStaticText
private

◆ m_physicalStackup

PANEL_SETUP_BOARD_STACKUP* PANEL_SETUP_LAYERS::m_physicalStackup
private

Definition at line 132 of file panel_setup_layers.h.

Referenced by SetPhysicalStackupPanel(), and TransferDataFromWindow().

◆ m_SilkSBackCheckBox

wxCheckBox* PANEL_SETUP_LAYERS::m_SilkSBackCheckBox
private

◆ m_SilkSBackName

wxTextCtrl* PANEL_SETUP_LAYERS::m_SilkSBackName
private

◆ m_SilkSBackStaticText

wxStaticText* PANEL_SETUP_LAYERS::m_SilkSBackStaticText
private

◆ m_SilkSFrontCheckBox

wxCheckBox* PANEL_SETUP_LAYERS::m_SilkSFrontCheckBox
private

◆ m_SilkSFrontName

wxTextCtrl* PANEL_SETUP_LAYERS::m_SilkSFrontName
private

◆ m_SilkSFrontStaticText

wxStaticText* PANEL_SETUP_LAYERS::m_SilkSFrontStaticText
private

◆ m_SoldPBackCheckBox

wxCheckBox* PANEL_SETUP_LAYERS::m_SoldPBackCheckBox
private

◆ m_SoldPBackName

wxTextCtrl* PANEL_SETUP_LAYERS::m_SoldPBackName
private

◆ m_SoldPBackStaticText

wxStaticText* PANEL_SETUP_LAYERS::m_SoldPBackStaticText
private

◆ m_SoldPFrontCheckBox

wxCheckBox* PANEL_SETUP_LAYERS::m_SoldPFrontCheckBox
private

◆ m_SoldPFrontName

wxTextCtrl* PANEL_SETUP_LAYERS::m_SoldPFrontName
private

◆ m_SoldPFrontStaticText

wxStaticText* PANEL_SETUP_LAYERS::m_SoldPFrontStaticText
private

◆ m_staticline2

wxStaticLine* PANEL_SETUP_LAYERS_BASE::m_staticline2
protectedinherited

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