![]() |
KiCad PCB EDA Suite
|
#include <panel_board_stackup.h>
Public Member Functions | |
PANEL_SETUP_BOARD_STACKUP (PAGED_DIALOG *aParent, PCB_EDIT_FRAME *aFrame, PANEL_SETUP_LAYERS *aPanelLayers) | |
~PANEL_SETUP_BOARD_STACKUP () | |
void | ImportSettingsFrom (BOARD *aBoard) |
void | OnLayersOptionsChanged (LSET aNewLayerSet) |
Must be called if the copper layers count has changed or solder mask, solder paste or silkscreen layers are enabled or disabled Rebuild the Layer Stack Panel if the new layer set differs from the current layet set. More... | |
int | GetCopperLayerCount () const |
BOARD_STACKUP_ITEM * | GetStackupItem (int aRow) |
int | GetSublayerId (int aRow) |
wxColor | GetSelectedColor (int aRow) const |
Return the color currently selected for the row aRow. More... | |
BOARD_STACKUP & | GetStackup () |
int | GetPcbThickness () |
bool | TransferDataFromWindow () override |
Protected Attributes | |
wxStaticText * | m_lblCopperLayers |
wxChoice * | m_choiceCopperLayers |
wxCheckBox * | m_impedanceControlled |
wxButton * | m_buttonAddDielectricLayer |
wxButton * | m_buttonRemoveDielectricLayer |
wxScrolledWindow * | m_scGridWin |
wxFlexGridSizer * | m_fgGridSizer |
wxStaticText * | m_staticTextLayer |
wxStaticText * | m_staticTextLayerId |
wxStaticText * | m_staticTextType |
wxStaticText * | m_staticTextMaterial |
wxStaticText * | m_staticTextThickness |
wxStaticBitmap * | m_bitmapLockThickness |
wxStaticText * | m_staticTextColor |
wxStaticText * | m_staticTextEpsilonR |
wxStaticText * | m_staticTextLossTg |
wxStaticText * | m_staticTextCT |
wxTextCtrl * | m_tcCTValue |
wxButton * | m_buttonExport |
Private Member Functions | |
BOARD_STACKUP_ROW_UI_ITEM | createRowData (int aRow, BOARD_STACKUP_ITEM *aStackupItem, int aSublayerIdx) |
Creates a BOARD_STACKUP_ROW_UI_ITEM relative to the aStackupItem. More... | |
wxControl * | addSpacer () |
add a Spacer in m_fgGridSizer when a empty cell is needed More... | |
void | addMaterialChooser (wxWindowID aId, const wxString *aMaterialName, BOARD_STACKUP_ROW_UI_ITEM &aUiRowItem) |
add a control (a wxTextCtrl + a button) in m_fgGridSizer to select a material More... | |
void | buildLayerStackPanel (bool aCreatedInitialStackup) |
Populate m_fgGridSizer with items to handle stackup parameters This is a full list: all copper layers and all tech layers that are supported by the stackup items not in the current board stackup will be not shown, but they are existing in list. More... | |
void | synchronizeWithBoard (bool aFullSync) |
Synchronize the full stackup shown in m_fgGridSizer according to the stackup of the current board and optionally update the stackup params (thickness, color ... More... | |
void | showOnlyActiveLayers () |
Show or do not show items in m_fgGridSizer according to the stackup of the current board. More... | |
void | rebuildLayerStackPanel () |
Populate m_fgGridSizer with items to handle stackup parameters If previous items are in list, remove old items New prms are added must be called after adding or deleting a dielectric parameter set. More... | |
bool | transferDataFromUIToStackup () |
Transfer current UI settings to m_stackup but not to the board. More... | |
void | updateCopperLayerCount () |
Updates the enabled copper layers when the dropdown is changed. More... | |
void | computeBoardThickness () |
Recompute the board thickness and update the textbox. More... | |
void | onColorSelected (wxCommandEvent &event) |
void | onMaterialChange (wxCommandEvent &event) |
void | onThicknessChange (wxCommandEvent &event) |
void | onExportToClipboard (wxCommandEvent &event) override |
void | onAddDielectricLayer (wxCommandEvent &event) override |
void | onRemoveDielectricLayer (wxCommandEvent &event) override |
void | onRemoveDielUI (wxUpdateUIEvent &event) override |
void | updateIconColor (int aRow=-1) |
Update the icons color (swatches in first grid column) More... | |
wxColor | getColorIconItem (int aRow) |
wxBitmapComboBox * | createBmComboBox (BOARD_STACKUP_ITEM *aStackupItem, int aRow) |
creates a bitmap combobox to select a layer color More... | |
void | disconnectEvents () |
disconnect event handlers connected to wxControl items found in list m_controlItemsList More... | |
Private Attributes | |
BOARD_STACKUP | m_stackup |
PANEL_SETUP_LAYERS * | m_panelLayers |
LSET | m_enabledLayers |
DIELECTRIC_SUBSTRATE_LIST | m_delectricMatList |
DIELECTRIC_SUBSTRATE_LIST | m_solderMaskMatList |
DIELECTRIC_SUBSTRATE_LIST | m_silkscreenMatList |
std::vector< BOARD_STACKUP_ROW_UI_ITEM > | m_rowUiItemsList |
PAGED_DIALOG * | m_parentDialog |
BOARD * | m_board |
BOARD_DESIGN_SETTINGS * | m_brdSettings |
EDA_UNITS | m_units |
PCB_EDIT_FRAME * | m_frame |
wxSize | m_numericTextCtrlSize |
wxSize | m_numericFieldsSize |
wxArrayString | m_core_prepreg_choice |
wxSize | m_colorSwatchesSize |
wxSize | m_colorIconsSize |
std::vector< wxControl * > | m_controlItemsList |
Definition at line 88 of file panel_board_stackup.h.
PANEL_SETUP_BOARD_STACKUP::PANEL_SETUP_BOARD_STACKUP | ( | PAGED_DIALOG * | aParent, |
PCB_EDIT_FRAME * | aFrame, | ||
PANEL_SETUP_LAYERS * | aPanelLayers | ||
) |
Definition at line 71 of file panel_board_stackup.cpp.
References _, buildLayerStackPanel(), computeBoardThickness(), PCB_BASE_FRAME::GetBoard(), BOARD::GetDesignSettings(), BOARD::GetEnabledLayers(), EDA_BASE_FRAME::GetUserUnits(), KiScaledBitmap(), locked, PANEL_SETUP_BOARD_STACKUP_BASE::m_bitmapLockThickness, m_board, m_brdSettings, PANEL_SETUP_BOARD_STACKUP_BASE::m_choiceCopperLayers, m_colorIconsSize, m_colorSwatchesSize, m_core_prepreg_choice, m_enabledLayers, m_frame, m_numericFieldsSize, m_numericTextCtrlSize, m_panelLayers, m_parentDialog, PANEL_SETUP_BOARD_STACKUP_BASE::m_tcCTValue, m_units, PANEL_SETUP_LAYERS::SetPhysicalStackupPanel(), showOnlyActiveLayers(), BOARD_STACKUP::StackupAllowedBrdLayers(), synchronizeWithBoard(), and updateCopperLayerCount().
PANEL_SETUP_BOARD_STACKUP::~PANEL_SETUP_BOARD_STACKUP | ( | ) |
Definition at line 129 of file panel_board_stackup.cpp.
References disconnectEvents().
|
private |
add a control (a wxTextCtrl + a button) in m_fgGridSizer to select a material
aId | is the wxControl id, used to know the event source |
aMaterialName | is the the name of the currently selected material (can be null) |
aUiRowItem | is the the BOARD_STACKUP_ROW_UI_ITEM to store the controls created |
Definition at line 531 of file panel_board_stackup.cpp.
References _, IsPrmSpecified(), m_controlItemsList, PANEL_SETUP_BOARD_STACKUP_BASE::m_fgGridSizer, BOARD_STACKUP_ROW_UI_ITEM::m_MaterialButt, BOARD_STACKUP_ROW_UI_ITEM::m_MaterialCtrl, m_numericTextCtrlSize, PANEL_SETUP_BOARD_STACKUP_BASE::m_scGridWin, NotSpecifiedPrm(), NULL, and onMaterialChange().
Referenced by createRowData().
|
private |
add a Spacer in m_fgGridSizer when a empty cell is needed
Definition at line 564 of file panel_board_stackup.cpp.
References PANEL_SETUP_BOARD_STACKUP_BASE::m_fgGridSizer, and PANEL_SETUP_BOARD_STACKUP_BASE::m_scGridWin.
Referenced by createRowData().
|
private |
Populate m_fgGridSizer with items to handle stackup parameters This is a full list: all copper layers and all tech layers that are supported by the stackup items not in the current board stackup will be not shown, but they are existing in list.
aCreatedInitialStackup | = true to create a initial stackup list for the dialog false to build the stackup panel from the existing stackup list. |
Definition at line 817 of file panel_board_stackup.cpp.
References BOARD_STACKUP::BuildDefaultStackupList(), createRowData(), BOARD_DESIGN_SETTINGS::GetCopperLayerCount(), BOARD_STACKUP::GetList(), BOARD_DESIGN_SETTINGS::GetStackupDescriptor(), m_brdSettings, m_rowUiItemsList, PANEL_SETUP_BOARD_STACKUP_BASE::m_scGridWin, m_stackup, UNDEFINED_LAYER, and updateIconColor().
Referenced by PANEL_SETUP_BOARD_STACKUP(), and rebuildLayerStackPanel().
|
private |
Recompute the board thickness and update the textbox.
Definition at line 321 of file panel_board_stackup.cpp.
References EDA_BASE_FRAME::GetUserUnits(), BOARD_STACKUP_ITEM::IsThicknessEditable(), m_frame, m_rowUiItemsList, PANEL_SETUP_BOARD_STACKUP_BASE::m_tcCTValue, m_units, StringFromValue(), and ValueFromString().
Referenced by ImportSettingsFrom(), onAddDielectricLayer(), onRemoveDielectricLayer(), onThicknessChange(), and PANEL_SETUP_BOARD_STACKUP().
|
private |
creates a bitmap combobox to select a layer color
aStackupItem | = the BOARD_STACKUP_ITEM realted to the bitmap combobox (to set the user color, if any) can be nullptr |
aRow | = the row index in the wxFlexGridSizer (used to build a wxWidget unique id) |
Definition at line 1359 of file panel_board_stackup.cpp.
References _, LAYER_SELECTOR::DrawColorSwatch(), Format(), BOARD_STACKUP_ITEM::GetColor(), GetColorStandardList(), GetColorStandardListCount(), ID_ITEM_COLOR, FAB_LAYER_COLOR::m_Color, FAB_LAYER_COLOR::m_ColorName, m_colorSwatchesSize, m_controlItemsList, PANEL_SETUP_BOARD_STACKUP_BASE::m_scGridWin, NULL, and onColorSelected().
Referenced by createRowData().
|
private |
Creates a BOARD_STACKUP_ROW_UI_ITEM relative to the aStackupItem.
aRow | is the row index in the row list |
aStackupItem | is the stackup item controlled by the created BOARD_STACKUP_ROW_UI_ITEM. |
aSublayerIdx | is used only for BS_ITEM_TYPE_DIELECTRIC stackup items. this is the index of the sublayer to used inside aStackupItem (from 0 to sub layer count - 1) |
Definition at line 572 of file panel_board_stackup.cpp.
References _, addMaterialChooser(), addSpacer(), BS_ITEM_TYPE_DIELECTRIC, color, createBmComboBox(), BOARD_STACKUP_ITEM::FormatDielectricLayerName(), BOARD_STACKUP_ITEM::GetBrdLayerId(), BOARD_STACKUP_ITEM::GetColor(), GetColorStandardList(), GetColorStandardListCount(), GetColorUserDefinedListIdx(), BOARD_STACKUP_ITEM::GetEpsilonR(), BOARD_STACKUP_ITEM::GetLayerName(), BOARD::GetLayerName(), BOARD_STACKUP_ITEM::GetLossTangent(), BOARD_STACKUP_ITEM::GetMaterial(), BOARD_STACKUP_ITEM::GetSublayersCount(), BOARD_STACKUP_ITEM::GetThickness(), BOARD_STACKUP_ITEM::GetType(), BOARD_STACKUP_ITEM::GetTypeName(), BOARD_STACKUP_ITEM::HasEpsilonRValue(), BOARD_STACKUP_ITEM::HasLossTangentValue(), ID_ITEM_MATERIAL, ID_ITEM_THICKNESS, ID_ITEM_THICKNESS_LOCKED, BOARD_STACKUP_ITEM::IsColorEditable(), BOARD_STACKUP_ITEM::IsMaterialEditable(), BOARD_STACKUP_ITEM::IsThicknessEditable(), BOARD_STACKUP_ITEM::IsThicknessLocked(), KEY_COPPER, KEY_CORE, m_board, FAB_LAYER_COLOR::m_Color, BOARD_STACKUP_ROW_UI_ITEM::m_ColorCtrl, m_controlItemsList, m_core_prepreg_choice, BOARD_STACKUP_ROW_UI_ITEM::m_EpsilonCtrl, PANEL_SETUP_BOARD_STACKUP_BASE::m_fgGridSizer, BOARD_STACKUP_ROW_UI_ITEM::m_Icon, BOARD_STACKUP_ROW_UI_ITEM::m_isEnabled, BOARD_STACKUP_ROW_UI_ITEM::m_LayerName, BOARD_STACKUP_ROW_UI_ITEM::m_LayerTypeCtrl, BOARD_STACKUP_ROW_UI_ITEM::m_LossTgCtrl, BOARD_STACKUP_ROW_UI_ITEM::m_MaterialCtrl, m_numericFieldsSize, m_numericTextCtrlSize, PANEL_SETUP_BOARD_STACKUP_BASE::m_scGridWin, BOARD_STACKUP_ROW_UI_ITEM::m_ThicknessCtrl, BOARD_STACKUP_ROW_UI_ITEM::m_ThicknessLockCtrl, m_units, BOARD_STACKUP_ROW_UI_ITEM::m_UserColor, NULL, onThicknessChange(), BOARD_STACKUP_ITEM::SetLayerName(), and StringFromValue().
Referenced by buildLayerStackPanel().
|
private |
disconnect event handlers connected to wxControl items found in list m_controlItemsList
Definition at line 135 of file panel_board_stackup.cpp.
References m_controlItemsList, NULL, onColorSelected(), onMaterialChange(), and onThicknessChange().
Referenced by rebuildLayerStackPanel(), and ~PANEL_SETUP_BOARD_STACKUP().
|
private |
aRow | is the row index to find the color. |
Definition at line 1306 of file panel_board_stackup.cpp.
References BS_ITEM_TYPE_COPPER, BS_ITEM_TYPE_DIELECTRIC, BS_ITEM_TYPE_SILKSCREEN, BS_ITEM_TYPE_SOLDERMASK, BS_ITEM_TYPE_SOLDERPASTE, BS_ITEM_TYPE_UNDEFINED, color, copperColor(), dielectricColor(), GetSelectedColor(), GetStackupItem(), BOARD_STACKUP_ITEM::GetType(), and pasteColor().
Referenced by updateIconColor().
int PANEL_SETUP_BOARD_STACKUP::GetCopperLayerCount | ( | ) | const |
Definition at line 347 of file panel_board_stackup.cpp.
References PANEL_SETUP_BOARD_STACKUP_BASE::m_choiceCopperLayers.
Referenced by DIALOG_BOARD_SETUP::OnPageChange(), PANEL_SETUP_LAYERS::TransferDataFromWindow(), and updateCopperLayerCount().
int PANEL_SETUP_BOARD_STACKUP::GetPcbThickness | ( | ) |
wxColor PANEL_SETUP_BOARD_STACKUP::GetSelectedColor | ( | int | aRow | ) | const |
Return the color currently selected for the row aRow.
Definition at line 307 of file panel_board_stackup.cpp.
References GetColorStandardList(), GetColorUserDefinedListIdx(), FAB_LAYER_COLOR::m_Color, and m_rowUiItemsList.
Referenced by getColorIconItem().
|
inline |
BOARD_STACKUP_ITEM * PANEL_SETUP_BOARD_STACKUP::GetStackupItem | ( | int | aRow | ) |
Definition at line 1294 of file panel_board_stackup.cpp.
References m_rowUiItemsList.
Referenced by getColorIconItem(), and onThicknessChange().
int PANEL_SETUP_BOARD_STACKUP::GetSublayerId | ( | int | aRow | ) |
Definition at line 1300 of file panel_board_stackup.cpp.
References m_rowUiItemsList.
Referenced by onThicknessChange().
void PANEL_SETUP_BOARD_STACKUP::ImportSettingsFrom | ( | BOARD * | aBoard | ) |
Definition at line 1105 of file panel_board_stackup.cpp.
References computeBoardThickness(), BOARD::GetDesignSettings(), PANEL_SETUP_LAYERS::GetUILayerMask(), m_board, m_brdSettings, m_enabledLayers, m_panelLayers, rebuildLayerStackPanel(), BOARD_STACKUP::StackupAllowedBrdLayers(), and synchronizeWithBoard().
Referenced by DIALOG_BOARD_SETUP::OnAuxiliaryAction().
|
overrideprivatevirtual |
Reimplemented from PANEL_SETUP_BOARD_STACKUP_BASE.
Definition at line 164 of file panel_board_stackup.cpp.
References _, BOARD_STACKUP_ITEM::AddDielectricPrms(), BS_ITEM_TYPE_DIELECTRIC, computeBoardThickness(), Format(), BOARD_STACKUP_ITEM::FormatDielectricLayerName(), BOARD_STACKUP_ITEM::GetSublayersCount(), BOARD_STACKUP_ITEM::GetType(), m_rowUiItemsList, and rebuildLayerStackPanel().
|
private |
Definition at line 1144 of file panel_board_stackup.cpp.
References _, color, LAYER_SELECTOR::DrawColorSwatch(), Format(), DIALOG_COLOR_PICKER::GetColor(), GetColorStandardList(), GetColorStandardListCount(), GetColorUserDefinedListIdx(), ID_ITEM_COLOR, m_colorSwatchesSize, m_rowUiItemsList, and updateIconColor().
Referenced by createBmComboBox(), and disconnectEvents().
|
overrideprivatevirtual |
Reimplemented from PANEL_SETUP_BOARD_STACKUP_BASE.
Definition at line 287 of file panel_board_stackup.cpp.
References BuildStackupReport(), m_stackup, m_units, and transferDataFromUIToStackup().
void PANEL_SETUP_BOARD_STACKUP::OnLayersOptionsChanged | ( | LSET | aNewLayerSet | ) |
Must be called if the copper layers count has changed or solder mask, solder paste or silkscreen layers are enabled or disabled Rebuild the Layer Stack Panel if the new layer set differs from the current layet set.
Definition at line 1122 of file panel_board_stackup.cpp.
References PANEL_SETUP_LAYERS::GetUILayerMask(), m_enabledLayers, m_panelLayers, Refresh(), BOARD_STACKUP::StackupAllowedBrdLayers(), and synchronizeWithBoard().
Referenced by DIALOG_BOARD_SETUP::OnPageChange(), and transferDataFromUIToStackup().
|
private |
Definition at line 1187 of file panel_board_stackup.cpp.
References DIELECTRIC_SUBSTRATE_LIST::AppendSubstrate(), BS_ITEM_TYPE_DIELECTRIC, BS_ITEM_TYPE_SILKSCREEN, BS_ITEM_TYPE_SOLDERMASK, DIELECTRIC_SUBSTRATE_LIST::FindSubstrate(), BOARD_STACKUP_ITEM::FormatEpsilonR(), BOARD_STACKUP_ITEM::FormatLossTangent(), BOARD_STACKUP::GetList(), BOARD_STACKUP_ITEM::GetMaterial(), DIALOG_DIELECTRIC_MATERIAL::GetSelectedSubstrate(), BOARD_STACKUP_ITEM::GetType(), BOARD_STACKUP_ITEM::HasEpsilonRValue(), BOARD_STACKUP_ITEM::HasLossTangentValue(), ID_ITEM_MATERIAL, m_delectricMatList, DIELECTRIC_SUBSTRATE::m_EpsilonR, DIELECTRIC_SUBSTRATE::m_LossTangent, DIELECTRIC_SUBSTRATE::m_Name, m_rowUiItemsList, m_silkscreenMatList, m_solderMaskMatList, m_stackup, BOARD_STACKUP_ITEM::SetEpsilonR(), BOARD_STACKUP_ITEM::SetLossTangent(), BOARD_STACKUP_ITEM::SetMaterial(), and transferDataFromUIToStackup().
Referenced by addMaterialChooser(), and disconnectEvents().
|
overrideprivatevirtual |
Reimplemented from PANEL_SETUP_BOARD_STACKUP_BASE.
Definition at line 216 of file panel_board_stackup.cpp.
References _, BS_ITEM_TYPE_DIELECTRIC, computeBoardThickness(), Format(), BOARD_STACKUP::GetList(), m_rowUiItemsList, m_stackup, rebuildLayerStackPanel(), and BOARD_STACKUP_ITEM::RemoveDielectricPrms().
|
overrideprivatevirtual |
Reimplemented from PANEL_SETUP_BOARD_STACKUP_BASE.
Definition at line 267 of file panel_board_stackup.cpp.
References BS_ITEM_TYPE_DIELECTRIC, BOARD_STACKUP::GetList(), and m_stackup.
|
private |
Definition at line 1280 of file panel_board_stackup.cpp.
References computeBoardThickness(), GetStackupItem(), GetSublayerId(), EDA_BASE_FRAME::GetUserUnits(), ID_ITEM_THICKNESS, m_frame, BOARD_STACKUP_ITEM::SetThickness(), and ValueFromString().
Referenced by createRowData(), and disconnectEvents().
|
private |
Populate m_fgGridSizer with items to handle stackup parameters If previous items are in list, remove old items New prms are added must be called after adding or deleting a dielectric parameter set.
Definition at line 753 of file panel_board_stackup.cpp.
References buildLayerStackPanel(), disconnectEvents(), PANEL_SETUP_BOARD_STACKUP_BASE::m_bitmapLockThickness, m_controlItemsList, PANEL_SETUP_BOARD_STACKUP_BASE::m_fgGridSizer, m_rowUiItemsList, PANEL_SETUP_BOARD_STACKUP_BASE::m_scGridWin, PANEL_SETUP_BOARD_STACKUP_BASE::m_staticTextColor, PANEL_SETUP_BOARD_STACKUP_BASE::m_staticTextEpsilonR, PANEL_SETUP_BOARD_STACKUP_BASE::m_staticTextLayer, PANEL_SETUP_BOARD_STACKUP_BASE::m_staticTextLayerId, PANEL_SETUP_BOARD_STACKUP_BASE::m_staticTextLossTg, PANEL_SETUP_BOARD_STACKUP_BASE::m_staticTextMaterial, PANEL_SETUP_BOARD_STACKUP_BASE::m_staticTextThickness, PANEL_SETUP_BOARD_STACKUP_BASE::m_staticTextType, and showOnlyActiveLayers().
Referenced by ImportSettingsFrom(), onAddDielectricLayer(), and onRemoveDielectricLayer().
|
private |
Show or do not show items in m_fgGridSizer according to the stackup of the current board.
The panel stackup stores all posible layers (because the number of layers is set from an other panel), but only some of them must be actually shown on screen
Definition at line 488 of file panel_board_stackup.cpp.
References BS_ITEM_TYPE_DIELECTRIC, LSET::ExternalCuMask(), BOARD_STACKUP_ITEM::GetBrdLayerId(), BOARD_STACKUP_ITEM::GetDielectricLayerId(), BOARD_STACKUP_ITEM::GetType(), LSET::InternalCuMask(), m_enabledLayers, m_rowUiItemsList, and BOARD_STACKUP_ITEM::SetEnabled().
Referenced by PANEL_SETUP_BOARD_STACKUP(), rebuildLayerStackPanel(), and synchronizeWithBoard().
|
private |
Synchronize the full stackup shown in m_fgGridSizer according to the stackup of the current board and optionally update the stackup params (thickness, color ...
)
aFullSync | = true to update stackup params, false to only update the list of shown items |
Definition at line 367 of file panel_board_stackup.cpp.
References _, BS_ITEM_TYPE_DIELECTRIC, color, LAYER_SELECTOR::DrawColorSwatch(), Format(), BOARD_STACKUP_ITEM::GetColor(), GetColorStandardList(), GetColorStandardListCount(), GetColorUserDefinedListIdx(), BOARD::GetCopperLayerCount(), BOARD_STACKUP_ITEM::GetEpsilonR(), BOARD_STACKUP_ITEM::GetLossTangent(), BOARD_STACKUP_ITEM::GetMaterial(), BOARD_DESIGN_SETTINGS::GetStackupDescriptor(), BOARD_STACKUP_ITEM::GetThickness(), BOARD_STACKUP_ITEM::GetType(), BOARD_STACKUP_ITEM::GetTypeName(), BOARD_STACKUP_ITEM::HasEpsilonRValue(), BOARD_STACKUP_ITEM::HasLossTangentValue(), BOARD_STACKUP_ITEM::IsColorEditable(), BOARD_STACKUP_ITEM::IsMaterialEditable(), IsPrmSpecified(), BOARD_STACKUP_ITEM::IsThicknessEditable(), BOARD_STACKUP_ITEM::IsThicknessLocked(), KEY_CORE, m_board, m_brdSettings, PANEL_SETUP_BOARD_STACKUP_BASE::m_choiceCopperLayers, m_colorSwatchesSize, BOARD_STACKUP::m_HasDielectricConstrains, PANEL_SETUP_BOARD_STACKUP_BASE::m_impedanceControlled, m_rowUiItemsList, m_units, NotSpecifiedPrm(), showOnlyActiveLayers(), StringFromValue(), and updateIconColor().
Referenced by ImportSettingsFrom(), OnLayersOptionsChanged(), and PANEL_SETUP_BOARD_STACKUP().
|
private |
Transfer current UI settings to m_stackup but not to the board.
Definition at line 881 of file panel_board_stackup.cpp.
References _, BOARD_STACKUP_ITEM::AddDielectricPrms(), BS_ITEM_TYPE_DIELECTRIC, color, GetColorStandardList(), GetColorUserDefinedListIdx(), BOARD_STACKUP_ITEM::GetMaterial(), BOARD_STACKUP_ITEM::GetSublayersCount(), BOARD_STACKUP_ITEM::GetType(), PANEL_SETUP_LAYERS::GetUILayerMask(), EDA_BASE_FRAME::GetUserUnits(), BOARD_STACKUP_ITEM::HasEpsilonRValue(), BOARD_STACKUP_ITEM::HasLossTangentValue(), BOARD_STACKUP_ITEM::IsColorEditable(), BOARD_STACKUP_ITEM::IsMaterialEditable(), IsPrmSpecified(), BOARD_STACKUP_ITEM::IsThicknessEditable(), KEY_CORE, KEY_PREPREG, m_enabledLayers, m_frame, BOARD_STACKUP::m_HasDielectricConstrains, PANEL_SETUP_BOARD_STACKUP_BASE::m_impedanceControlled, m_panelLayers, m_rowUiItemsList, m_stackup, NotSpecifiedPrm(), OnLayersOptionsChanged(), BOARD_STACKUP_ITEM::SetColor(), BOARD_STACKUP_ITEM::SetEpsilonR(), BOARD_STACKUP_ITEM::SetLayerName(), BOARD_STACKUP_ITEM::SetLossTangent(), BOARD_STACKUP_ITEM::SetMaterial(), BOARD_STACKUP_ITEM::SetThickness(), BOARD_STACKUP_ITEM::SetThicknessLocked(), BOARD_STACKUP_ITEM::SetTypeName(), BOARD_STACKUP::StackupAllowedBrdLayers(), and ValueFromString().
Referenced by onExportToClipboard(), onMaterialChange(), and TransferDataFromWindow().
|
override |
Definition at line 1047 of file panel_board_stackup.cpp.
References BOARD_STACKUP::Add(), BOARD_STACKUP::BuildBoardThicknessFromStackup(), dummy(), BOARD_STACKUP::FormatBoardStackup(), BOARD_DESIGN_SETTINGS::GetBoardThickness(), BOARD_STACKUP::GetList(), BOARD_DESIGN_SETTINGS::GetStackupDescriptor(), STRING_FORMATTER::GetString(), m_board, m_brdSettings, BOARD_STACKUP::m_CastellatedPads, BOARD_STACKUP::m_EdgeConnectorConstraints, BOARD_STACKUP::m_EdgePlating, BOARD_STACKUP::m_FinishType, m_frame, BOARD_STACKUP::m_HasDielectricConstrains, BOARD_DESIGN_SETTINGS::m_HasStackup, m_stackup, PCB_EDIT_FRAME::OnModify(), BOARD_STACKUP::RemoveAll(), BOARD_DESIGN_SETTINGS::SetBoardThickness(), and transferDataFromUIToStackup().
|
private |
Updates the enabled copper layers when the dropdown is changed.
Definition at line 353 of file panel_board_stackup.cpp.
References LSET::ExternalCuMask(), F_Cu, GetCopperLayerCount(), and m_enabledLayers.
Referenced by PANEL_SETUP_BOARD_STACKUP().
|
private |
Update the icons color (swatches in first grid column)
aRow | is the row (index in m_rowUiItemsList) that manages the icon to update. if -1 all icons will be updated |
Definition at line 1336 of file panel_board_stackup.cpp.
References drawBitmap(), getColorIconItem(), m_colorIconsSize, and m_rowUiItemsList.
Referenced by buildLayerStackPanel(), onColorSelected(), and synchronizeWithBoard().
|
protectedinherited |
Definition at line 54 of file panel_board_stackup_base.h.
Referenced by PANEL_SETUP_BOARD_STACKUP(), PANEL_SETUP_BOARD_STACKUP_BASE::PANEL_SETUP_BOARD_STACKUP_BASE(), and rebuildLayerStackPanel().
|
private |
Definition at line 248 of file panel_board_stackup.h.
Referenced by createRowData(), ImportSettingsFrom(), PANEL_SETUP_BOARD_STACKUP(), synchronizeWithBoard(), and TransferDataFromWindow().
|
private |
Definition at line 249 of file panel_board_stackup.h.
Referenced by buildLayerStackPanel(), ImportSettingsFrom(), PANEL_SETUP_BOARD_STACKUP(), synchronizeWithBoard(), and TransferDataFromWindow().
|
protectedinherited |
Definition at line 45 of file panel_board_stackup_base.h.
Referenced by PANEL_SETUP_BOARD_STACKUP_BASE::PANEL_SETUP_BOARD_STACKUP_BASE(), and PANEL_SETUP_BOARD_STACKUP_BASE::~PANEL_SETUP_BOARD_STACKUP_BASE().
|
protectedinherited |
Definition at line 60 of file panel_board_stackup_base.h.
Referenced by PANEL_SETUP_BOARD_STACKUP_BASE::PANEL_SETUP_BOARD_STACKUP_BASE(), and PANEL_SETUP_BOARD_STACKUP_BASE::~PANEL_SETUP_BOARD_STACKUP_BASE().
|
protectedinherited |
Definition at line 46 of file panel_board_stackup_base.h.
Referenced by PANEL_SETUP_BOARD_STACKUP_BASE::PANEL_SETUP_BOARD_STACKUP_BASE(), and PANEL_SETUP_BOARD_STACKUP_BASE::~PANEL_SETUP_BOARD_STACKUP_BASE().
|
protectedinherited |
Definition at line 43 of file panel_board_stackup_base.h.
Referenced by GetCopperLayerCount(), PANEL_SETUP_BOARD_STACKUP(), PANEL_SETUP_BOARD_STACKUP_BASE::PANEL_SETUP_BOARD_STACKUP_BASE(), and synchronizeWithBoard().
|
private |
Definition at line 256 of file panel_board_stackup.h.
Referenced by PANEL_SETUP_BOARD_STACKUP(), and updateIconColor().
|
private |
Definition at line 255 of file panel_board_stackup.h.
Referenced by createBmComboBox(), onColorSelected(), PANEL_SETUP_BOARD_STACKUP(), and synchronizeWithBoard().
|
private |
Definition at line 261 of file panel_board_stackup.h.
Referenced by addMaterialChooser(), createBmComboBox(), createRowData(), disconnectEvents(), and rebuildLayerStackPanel().
|
private |
Definition at line 254 of file panel_board_stackup.h.
Referenced by createRowData(), and PANEL_SETUP_BOARD_STACKUP().
|
private |
Definition at line 239 of file panel_board_stackup.h.
Referenced by onMaterialChange().
|
private |
Definition at line 234 of file panel_board_stackup.h.
Referenced by ImportSettingsFrom(), OnLayersOptionsChanged(), PANEL_SETUP_BOARD_STACKUP(), showOnlyActiveLayers(), transferDataFromUIToStackup(), and updateCopperLayerCount().
|
protectedinherited |
Definition at line 48 of file panel_board_stackup_base.h.
Referenced by addMaterialChooser(), addSpacer(), createRowData(), PANEL_SETUP_BOARD_STACKUP_BASE::PANEL_SETUP_BOARD_STACKUP_BASE(), and rebuildLayerStackPanel().
|
private |
Definition at line 251 of file panel_board_stackup.h.
Referenced by computeBoardThickness(), onThicknessChange(), PANEL_SETUP_BOARD_STACKUP(), transferDataFromUIToStackup(), and TransferDataFromWindow().
|
protectedinherited |
Definition at line 44 of file panel_board_stackup_base.h.
Referenced by PANEL_SETUP_BOARD_STACKUP_BASE::PANEL_SETUP_BOARD_STACKUP_BASE(), synchronizeWithBoard(), and transferDataFromUIToStackup().
|
protectedinherited |
Definition at line 42 of file panel_board_stackup_base.h.
Referenced by PANEL_SETUP_BOARD_STACKUP_BASE::PANEL_SETUP_BOARD_STACKUP_BASE().
|
private |
Definition at line 253 of file panel_board_stackup.h.
Referenced by createRowData(), and PANEL_SETUP_BOARD_STACKUP().
|
private |
Definition at line 252 of file panel_board_stackup.h.
Referenced by addMaterialChooser(), createRowData(), and PANEL_SETUP_BOARD_STACKUP().
|
private |
Definition at line 232 of file panel_board_stackup.h.
Referenced by ImportSettingsFrom(), OnLayersOptionsChanged(), PANEL_SETUP_BOARD_STACKUP(), and transferDataFromUIToStackup().
|
private |
Definition at line 247 of file panel_board_stackup.h.
Referenced by PANEL_SETUP_BOARD_STACKUP().
|
private |
Definition at line 245 of file panel_board_stackup.h.
Referenced by buildLayerStackPanel(), computeBoardThickness(), GetSelectedColor(), GetStackupItem(), GetSublayerId(), onAddDielectricLayer(), onColorSelected(), onMaterialChange(), onRemoveDielectricLayer(), rebuildLayerStackPanel(), showOnlyActiveLayers(), synchronizeWithBoard(), transferDataFromUIToStackup(), and updateIconColor().
|
protectedinherited |
Definition at line 47 of file panel_board_stackup_base.h.
Referenced by addMaterialChooser(), addSpacer(), buildLayerStackPanel(), createBmComboBox(), createRowData(), PANEL_SETUP_BOARD_STACKUP_BASE::PANEL_SETUP_BOARD_STACKUP_BASE(), and rebuildLayerStackPanel().
|
private |
Definition at line 243 of file panel_board_stackup.h.
Referenced by onMaterialChange().
|
private |
Definition at line 241 of file panel_board_stackup.h.
Referenced by onMaterialChange().
|
private |
Definition at line 231 of file panel_board_stackup.h.
Referenced by buildLayerStackPanel(), GetStackup(), onExportToClipboard(), onMaterialChange(), onRemoveDielectricLayer(), onRemoveDielUI(), transferDataFromUIToStackup(), and TransferDataFromWindow().
|
protectedinherited |
Definition at line 55 of file panel_board_stackup_base.h.
Referenced by PANEL_SETUP_BOARD_STACKUP_BASE::PANEL_SETUP_BOARD_STACKUP_BASE(), and rebuildLayerStackPanel().
|
protectedinherited |
Definition at line 58 of file panel_board_stackup_base.h.
Referenced by PANEL_SETUP_BOARD_STACKUP_BASE::PANEL_SETUP_BOARD_STACKUP_BASE().
|
protectedinherited |
Definition at line 56 of file panel_board_stackup_base.h.
Referenced by PANEL_SETUP_BOARD_STACKUP_BASE::PANEL_SETUP_BOARD_STACKUP_BASE(), and rebuildLayerStackPanel().
|
protectedinherited |
Definition at line 49 of file panel_board_stackup_base.h.
Referenced by PANEL_SETUP_BOARD_STACKUP_BASE::PANEL_SETUP_BOARD_STACKUP_BASE(), and rebuildLayerStackPanel().
|
protectedinherited |
Definition at line 50 of file panel_board_stackup_base.h.
Referenced by PANEL_SETUP_BOARD_STACKUP_BASE::PANEL_SETUP_BOARD_STACKUP_BASE(), and rebuildLayerStackPanel().
|
protectedinherited |
Definition at line 57 of file panel_board_stackup_base.h.
Referenced by PANEL_SETUP_BOARD_STACKUP_BASE::PANEL_SETUP_BOARD_STACKUP_BASE(), and rebuildLayerStackPanel().
|
protectedinherited |
Definition at line 52 of file panel_board_stackup_base.h.
Referenced by PANEL_SETUP_BOARD_STACKUP_BASE::PANEL_SETUP_BOARD_STACKUP_BASE(), and rebuildLayerStackPanel().
|
protectedinherited |
Definition at line 53 of file panel_board_stackup_base.h.
Referenced by PANEL_SETUP_BOARD_STACKUP_BASE::PANEL_SETUP_BOARD_STACKUP_BASE(), and rebuildLayerStackPanel().
|
protectedinherited |
Definition at line 51 of file panel_board_stackup_base.h.
Referenced by PANEL_SETUP_BOARD_STACKUP_BASE::PANEL_SETUP_BOARD_STACKUP_BASE(), and rebuildLayerStackPanel().
|
protectedinherited |
Definition at line 59 of file panel_board_stackup_base.h.
Referenced by computeBoardThickness(), PANEL_SETUP_BOARD_STACKUP(), and PANEL_SETUP_BOARD_STACKUP_BASE::PANEL_SETUP_BOARD_STACKUP_BASE().
|
private |
Definition at line 250 of file panel_board_stackup.h.
Referenced by computeBoardThickness(), createRowData(), onExportToClipboard(), PANEL_SETUP_BOARD_STACKUP(), and synchronizeWithBoard().