KiCad PCB EDA Suite
|
#include <panel_board_stackup.h>
Public Member Functions | |
PANEL_SETUP_BOARD_STACKUP (wxWindow *aParentWindow, PCB_EDIT_FRAME *aFrame, PANEL_SETUP_LAYERS *aPanelLayers, PANEL_SETUP_BOARD_FINISH *aPanelFinish) | |
~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. | |
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. | |
bool | TransferDataFromWindow () override |
Protected Attributes | |
wxStaticText * | m_lblCopperLayers |
wxChoice * | m_choiceCopperLayers |
wxCheckBox * | m_impedanceControlled |
wxButton * | m_buttonAddDielectricLayer |
wxButton * | m_buttonRemoveDielectricLayer |
WX_PANEL * | m_panel1 |
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_buttonAdjust |
wxButton * | m_buttonExport |
Private Member Functions | |
void | lazyBuildRowUI (BOARD_STACKUP_ROW_UI_ITEM &ui_row_item, int aPos) |
Creates the controls in a BOARD_STACKUP_ROW_UI_ITEM relative to the aStackupItem. | |
wxControl * | addSpacer (int aPos) |
add a Spacer in m_fgGridSizer when a empty cell is needed | |
void | buildLayerStackPanel (bool aCreateInitialStackup=false, bool aRelinkStackup=false) |
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. | |
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 ... ) | |
void | showOnlyActiveLayers () |
Show or do not show items in m_fgGridSizer according to the stackup of the current board. | |
void | rebuildLayerStackPanel (bool aRelinkItems=false) |
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. | |
bool | transferDataFromUIToStackup () |
Transfer current UI settings to m_stackup but not to the board. | |
void | updateCopperLayerCount () |
Updates the enabled copper layers when the dropdown is changed. | |
int | computeBoardThickness () |
Recompute the board thickness and update the textbox. | |
void | setDefaultLayerWidths (int targetThickness) |
Set the widths of dielectric layers to sensible defaults. | |
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 | onCopperLayersSelCount (wxCommandEvent &event) override |
void | onAdjustDielectricThickness (wxCommandEvent &event) override |
void | updateIconColor (int aRow=-1) |
Update the icons color (swatches in first grid column) | |
wxColor | getColorIconItem (int aRow) |
wxBitmapComboBox * | createColorBox (BOARD_STACKUP_ITEM *aStackupItem, int aRow) |
creates a bitmap combobox to select a layer color | |
void | onUnitsChanged (wxCommandEvent &event) |
void | disconnectEvents () |
disconnect event handlers connected to wxControl items found in list m_controlItemsList | |
Private Attributes | |
BOARD_STACKUP | m_stackup |
PANEL_SETUP_LAYERS * | m_panelLayers |
LSET | m_enabledLayers |
PANEL_SETUP_BOARD_FINISH * | m_panelFinish |
DIELECTRIC_SUBSTRATE_LIST | m_delectricMatList |
DIELECTRIC_SUBSTRATE_LIST | m_solderMaskMatList |
DIELECTRIC_SUBSTRATE_LIST | m_silkscreenMatList |
std::vector< BOARD_STACKUP_ROW_UI_ITEM > | m_rowUiItemsList |
BOARD * | m_board |
BOARD_DESIGN_SETTINGS * | m_brdSettings |
PCB_EDIT_FRAME * | m_frame |
EDA_UNITS | m_lastUnits |
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 90 of file panel_board_stackup.h.
PANEL_SETUP_BOARD_STACKUP::PANEL_SETUP_BOARD_STACKUP | ( | wxWindow * | aParentWindow, |
PCB_EDIT_FRAME * | aFrame, | ||
PANEL_SETUP_LAYERS * | aPanelLayers, | ||
PANEL_SETUP_BOARD_FINISH * | aPanelFinish | ||
) |
Definition at line 77 of file panel_board_stackup.cpp.
References _, buildLayerStackPanel(), computeBoardThickness(), BOARD::GetDesignSettings(), BOARD::GetEnabledLayers(), KiBitmapBundle(), PANEL_SETUP_BOARD_STACKUP_BASE::m_bitmapLockThickness, m_board, m_brdSettings, m_colorIconsSize, m_colorSwatchesSize, m_core_prepreg_choice, m_enabledLayers, m_frame, m_numericFieldsSize, m_numericTextCtrlSize, PANEL_SETUP_BOARD_STACKUP_BASE::m_panel1, m_panelFinish, m_panelLayers, PANEL_SETUP_BOARD_STACKUP_BASE::m_tcCTValue, onUnitsChanged(), WX_PANEL::SetBorders(), PANEL_SETUP_LAYERS::SetPhysicalStackupPanel(), BOARD_STACKUP::StackupAllowedBrdLayers(), and synchronizeWithBoard().
PANEL_SETUP_BOARD_STACKUP::~PANEL_SETUP_BOARD_STACKUP | ( | ) |
Definition at line 132 of file panel_board_stackup.cpp.
References disconnectEvents().
|
private |
add a Spacer in m_fgGridSizer when a empty cell is needed
Definition at line 800 of file panel_board_stackup.cpp.
References PANEL_SETUP_BOARD_STACKUP_BASE::m_fgGridSizer, and PANEL_SETUP_BOARD_STACKUP_BASE::m_scGridWin.
Referenced by lazyBuildRowUI().
|
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.
aCreateInitialStackup | = true to create a initial stackup list for the dialog |
aRelinkStackup | = true to re-link m_stackup to m_brdSettings false to build the stackup panel from the existing stackup list. |
Definition at line 1080 of file panel_board_stackup.cpp.
References BOARD_STACKUP::BuildDefaultStackupList(), BOARD_DESIGN_SETTINGS::GetCopperLayerCount(), BOARD_STACKUP::GetList(), BOARD_DESIGN_SETTINGS::GetStackupDescriptor(), m_brdSettings, m_rowUiItemsList, m_stackup, and UNDEFINED_LAYER.
Referenced by PANEL_SETUP_BOARD_STACKUP(), and rebuildLayerStackPanel().
|
private |
Recompute the board thickness and update the textbox.
Definition at line 573 of file panel_board_stackup.cpp.
References BOARD_STACKUP_ITEM::IsThicknessEditable(), m_frame, m_rowUiItemsList, PANEL_SETUP_BOARD_STACKUP_BASE::m_tcCTValue, UNITS_PROVIDER::StringFromValue(), and UNITS_PROVIDER::ValueFromString().
Referenced by ImportSettingsFrom(), onAddDielectricLayer(), onAdjustDielectricThickness(), onCopperLayersSelCount(), onRemoveDielectricLayer(), onThicknessChange(), and PANEL_SETUP_BOARD_STACKUP().
|
private |
creates a bitmap combobox to select a layer color
aStackupItem | = the BOARD_STACKUP_ITEM related 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 1634 of file panel_board_stackup.cpp.
References _, BS_ITEM_TYPE_SILKSCREEN, LAYER_PRESENTATION::DrawColorSwatch(), BOARD_STACKUP_ITEM::GetColor(), GetStandardColor(), GetStandardColorName(), GetStandardColors(), BOARD_STACKUP_ITEM::GetType(), ID_ITEM_COLOR, IsCustomColorIdx(), m_colorSwatchesSize, m_controlItemsList, PANEL_SETUP_BOARD_STACKUP_BASE::m_scGridWin, and onColorSelected().
Referenced by lazyBuildRowUI().
|
private |
disconnect event handlers connected to wxControl items found in list m_controlItemsList
Definition at line 252 of file panel_board_stackup.cpp.
References m_controlItemsList, 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 1577 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 600 of file panel_board_stackup.cpp.
References PANEL_SETUP_BOARD_STACKUP_BASE::m_choiceCopperLayers.
Referenced by DIALOG_BOARD_SETUP::onPageChanged(), setDefaultLayerWidths(), PANEL_SETUP_LAYERS::TransferDataFromWindow(), and updateCopperLayerCount().
wxColor PANEL_SETUP_BOARD_STACKUP::GetSelectedColor | ( | int | aRow | ) | const |
Return the color currently selected for the row aRow.
Definition at line 449 of file panel_board_stackup.cpp.
References GetStandardColor(), BOARD_STACKUP_ITEM::GetType(), IsCustomColorIdx(), BOARD_STACKUP_ROW_UI_ITEM::m_ColorCtrl, BOARD_STACKUP_ROW_UI_ITEM::m_Item, m_rowUiItemsList, and KIGFX::COLOR4D::ToColour().
Referenced by getColorIconItem().
BOARD_STACKUP_ITEM * PANEL_SETUP_BOARD_STACKUP::GetStackupItem | ( | int | aRow | ) |
Definition at line 1565 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 1571 of file panel_board_stackup.cpp.
References m_rowUiItemsList.
Referenced by onThicknessChange().
void PANEL_SETUP_BOARD_STACKUP::ImportSettingsFrom | ( | BOARD * | aBoard | ) |
Definition at line 1341 of file panel_board_stackup.cpp.
References computeBoardThickness(), BOARD::GetDesignSettings(), BOARD::GetEnabledLayers(), m_board, m_brdSettings, m_enabledLayers, rebuildLayerStackPanel(), BOARD_STACKUP::StackupAllowedBrdLayers(), and synchronizeWithBoard().
Referenced by DIALOG_BOARD_SETUP::onAuxiliaryAction().
|
private |
Creates the controls in 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 808 of file panel_board_stackup.cpp.
References _, addSpacer(), BS_ITEM_TYPE_DIELECTRIC, createColorBox(), BOARD_STACKUP_ITEM::FormatDielectricLayerName(), BOARD_STACKUP_ITEM::GetBrdLayerId(), BOARD_STACKUP_ITEM::GetColor(), GetColorUserDefinedListIdx(), GetDefaultUserColor(), BOARD_STACKUP_ITEM::GetEpsilonR(), BOARD_STACKUP_ITEM::GetLayerName(), BOARD::GetLayerName(), BOARD_STACKUP_ITEM::GetLossTangent(), BOARD_STACKUP_ITEM::GetMaterial(), GetStandardColorName(), GetStandardColors(), 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(), IsPrmSpecified(), BOARD_STACKUP_ITEM::IsThicknessEditable(), BOARD_STACKUP_ITEM::IsThicknessLocked(), KEY_COPPER, KEY_CORE, m_board, 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, m_frame, BOARD_STACKUP_ROW_UI_ITEM::m_Icon, BOARD_STACKUP_ROW_UI_ITEM::m_Item, 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_MaterialButt, BOARD_STACKUP_ROW_UI_ITEM::m_MaterialCtrl, m_numericFieldsSize, m_numericTextCtrlSize, BOARD_STACKUP_ROW_UI_ITEM::m_Row, PANEL_SETUP_BOARD_STACKUP_BASE::m_scGridWin, BOARD_STACKUP_ROW_UI_ITEM::m_SubItem, BOARD_STACKUP_ROW_UI_ITEM::m_ThicknessCtrl, BOARD_STACKUP_ROW_UI_ITEM::m_ThicknessLockCtrl, BOARD_STACKUP_ROW_UI_ITEM::m_UserColor, NotSpecifiedPrm(), onMaterialChange(), onThicknessChange(), BOARD_STACKUP_ITEM::SetLayerName(), UNITS_PROVIDER::StringFromValue(), KIGFX::COLOR4D::ToColour(), and UIDouble2Str().
Referenced by showOnlyActiveLayers().
|
overrideprivatevirtual |
Reimplemented from PANEL_SETUP_BOARD_STACKUP_BASE.
Definition at line 287 of file panel_board_stackup.cpp.
References _, BOARD_STACKUP_ITEM::AddDielectricPrms(), BS_ITEM_TYPE_DIELECTRIC, computeBoardThickness(), BOARD_STACKUP_ITEM::FormatDielectricLayerName(), PAGED_DIALOG::GetDialog(), EDA_LIST_DIALOG::GetSelection(), BOARD_STACKUP_ITEM::GetSublayersCount(), BOARD_STACKUP_ITEM::GetType(), EDA_LIST_DIALOG::HideFilter(), m_rowUiItemsList, rebuildLayerStackPanel(), EDA_LIST_DIALOG::SetListLabel(), and DIALOG_SHIM::ShowModal().
|
overrideprivatevirtual |
Reimplemented from PANEL_SETUP_BOARD_STACKUP_BASE.
Definition at line 183 of file panel_board_stackup.cpp.
References _, computeBoardThickness(), EDA_UNIT_UTILS::GetText(), UNITS_PROVIDER::GetUserUnits(), BOARD_STACKUP_ITEM::IsThicknessEditable(), m_frame, m_rowUiItemsList, setDefaultLayerWidths(), UNITS_PROVIDER::StringFromValue(), and UNITS_PROVIDER::ValueFromString().
|
private |
Definition at line 1386 of file panel_board_stackup.cpp.
References color, LAYER_PRESENTATION::DrawColorSwatch(), DIALOG_COLOR_PICKER::GetColor(), GetDefaultUserColor(), BOARD_STACKUP_ITEM::GetType(), ID_ITEM_COLOR, IsCustomColorIdx(), m_colorSwatchesSize, m_rowUiItemsList, DIALOG_SHIM::ShowModal(), and updateIconColor().
Referenced by createColorBox(), and disconnectEvents().
|
overrideprivatevirtual |
Reimplemented from PANEL_SETUP_BOARD_STACKUP_BASE.
Definition at line 171 of file panel_board_stackup.cpp.
References computeBoardThickness(), m_frame, PANEL_SETUP_BOARD_STACKUP_BASE::m_tcCTValue, setDefaultLayerWidths(), showOnlyActiveLayers(), updateCopperLayerCount(), updateIconColor(), and UNITS_PROVIDER::ValueFromString().
|
overrideprivatevirtual |
Reimplemented from PANEL_SETUP_BOARD_STACKUP_BASE.
Definition at line 426 of file panel_board_stackup.cpp.
References BuildStackupReport(), UNITS_PROVIDER::GetUserUnits(), m_frame, m_panelFinish, m_stackup, transferDataFromUIToStackup(), and PANEL_SETUP_BOARD_FINISH::TransferDataFromWindow().
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 1360 of file panel_board_stackup.cpp.
References PANEL_SETUP_LAYERS::GetUILayerMask(), PANEL_SETUP_LAYERS::IsInitialized(), m_enabledLayers, m_panelLayers, Refresh(), BOARD_STACKUP::StackupAllowedBrdLayers(), and synchronizeWithBoard().
Referenced by DIALOG_BOARD_SETUP::onPageChanged().
|
private |
Definition at line 1425 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_ITEM::GetColor(), BOARD_STACKUP::GetList(), BOARD_STACKUP_ITEM::GetMaterial(), DIALOG_DIELECTRIC_MATERIAL::GetSelectedSubstrate(), GetStandardColorName(), GetStandardColors(), 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::SetColor(), BOARD_STACKUP_ITEM::SetEpsilonR(), BOARD_STACKUP_ITEM::SetLossTangent(), BOARD_STACKUP_ITEM::SetMaterial(), DIALOG_SHIM::ShowModal(), and transferDataFromUIToStackup().
Referenced by disconnectEvents(), and lazyBuildRowUI().
|
overrideprivatevirtual |
Reimplemented from PANEL_SETUP_BOARD_STACKUP_BASE.
Definition at line 349 of file panel_board_stackup.cpp.
References _, BS_ITEM_TYPE_DIELECTRIC, computeBoardThickness(), PAGED_DIALOG::GetDialog(), BOARD_STACKUP::GetList(), EDA_LIST_DIALOG::GetSelection(), EDA_LIST_DIALOG::HideFilter(), m_rowUiItemsList, m_stackup, rebuildLayerStackPanel(), BOARD_STACKUP_ITEM::RemoveDielectricPrms(), EDA_LIST_DIALOG::SetListLabel(), and DIALOG_SHIM::ShowModal().
|
overrideprivatevirtual |
Reimplemented from PANEL_SETUP_BOARD_STACKUP_BASE.
Definition at line 406 of file panel_board_stackup.cpp.
References BS_ITEM_TYPE_DIELECTRIC, BOARD_STACKUP::GetList(), and m_stackup.
|
private |
Definition at line 1551 of file panel_board_stackup.cpp.
References computeBoardThickness(), GetStackupItem(), GetSublayerId(), ID_ITEM_THICKNESS, m_frame, BOARD_STACKUP_ITEM::SetThickness(), and UNITS_PROVIDER::ValueFromString().
Referenced by disconnectEvents(), and lazyBuildRowUI().
|
private |
Definition at line 138 of file panel_board_stackup.cpp.
References convert, UNITS_PROVIDER::GetIuScale(), UNITS_PROVIDER::GetUserUnits(), BOARD_STACKUP_ITEM::IsEnabled(), BOARD_STACKUP_ITEM::IsThicknessEditable(), m_frame, m_lastUnits, m_rowUiItemsList, PANEL_SETUP_BOARD_STACKUP_BASE::m_tcCTValue, scale, EDA_UNIT_UTILS::UI::StringFromValue(), and EDA_UNIT_UTILS::UI::ValueFromString().
Referenced by PANEL_SETUP_BOARD_STACKUP().
|
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.
aRelinkItems | will recreate the links between m_stackup and m_brdSettings |
Definition at line 1009 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, showOnlyActiveLayers(), and updateIconColor().
Referenced by ImportSettingsFrom(), onAddDielectricLayer(), and onRemoveDielectricLayer().
|
private |
Set the widths of dielectric layers to sensible defaults.
targetThickness | target thickness of PCB in IU |
Definition at line 463 of file panel_board_stackup.cpp.
References BS_ITEM_TYPE_COPPER, BS_ITEM_TYPE_DIELECTRIC, BS_ITEM_TYPE_SOLDERMASK, GetCopperLayerCount(), BOARD_STACKUP_ITEM::GetType(), BOARD_STACKUP_ITEM::IsThicknessEditable(), m_frame, m_rowUiItemsList, EDA_IU_SCALE::mmToIU(), pcbIUScale, UNITS_PROVIDER::StringFromValue(), and UNITS_PROVIDER::ValueFromString().
Referenced by onAdjustDielectricThickness(), and onCopperLayersSelCount().
|
private |
Show or do not show items in m_fgGridSizer according to the stackup of the current board.
The panel stackup stores all possible 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 745 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(), lazyBuildRowUI(), m_enabledLayers, m_rowUiItemsList, and BOARD_STACKUP_ITEM::SetEnabled().
Referenced by onCopperLayersSelCount(), 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 625 of file panel_board_stackup.cpp.
References BS_ITEM_TYPE_DIELECTRIC, LAYER_PRESENTATION::DrawColorSwatch(), BOARD_STACKUP_ITEM::GetColor(), GetColorUserDefinedListIdx(), BOARD::GetCopperLayerCount(), BOARD_STACKUP_ITEM::GetEpsilonR(), BOARD_STACKUP_ITEM::GetLossTangent(), BOARD_STACKUP_ITEM::GetMaterial(), BOARD_DESIGN_SETTINGS::GetStackupDescriptor(), GetStandardColorName(), GetStandardColors(), 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, m_frame, BOARD_STACKUP::m_HasDielectricConstrains, PANEL_SETUP_BOARD_STACKUP_BASE::m_impedanceControlled, m_rowUiItemsList, NotSpecifiedPrm(), showOnlyActiveLayers(), UNITS_PROVIDER::StringFromValue(), UIDouble2Str(), 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 1142 of file panel_board_stackup.cpp.
References _, BOARD_STACKUP_ITEM::AddDielectricPrms(), BS_ITEM_TYPE_DIELECTRIC, BOARD_STACKUP_ITEM::GetMaterial(), GetStandardColorName(), BOARD_STACKUP_ITEM::GetSublayersCount(), BOARD_STACKUP_ITEM::GetType(), BOARD_STACKUP_ITEM::HasEpsilonRValue(), BOARD_STACKUP_ITEM::HasLossTangentValue(), BOARD_STACKUP_ITEM::IsColorEditable(), IsCustomColorIdx(), BOARD_STACKUP_ITEM::IsMaterialEditable(), IsPrmSpecified(), BOARD_STACKUP_ITEM::IsThicknessEditable(), KEY_CORE, KEY_PREPREG, m_frame, BOARD_STACKUP::m_HasDielectricConstrains, PANEL_SETUP_BOARD_STACKUP_BASE::m_impedanceControlled, m_rowUiItemsList, m_stackup, NotSpecifiedPrm(), 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(), and UNITS_PROVIDER::ValueFromString().
Referenced by onExportToClipboard(), onMaterialChange(), and TransferDataFromWindow().
|
override |
Definition at line 1284 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, m_frame, BOARD_STACKUP::m_HasDielectricConstrains, BOARD_DESIGN_SETTINGS::m_HasStackup, PANEL_SETUP_BOARD_STACKUP_BASE::m_impedanceControlled, 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 606 of file panel_board_stackup.cpp.
References B_Cu, LSET::ExternalCuMask(), GetCopperLayerCount(), m_enabledLayers, and BASE_SET::set().
Referenced by onCopperLayersSelCount().
|
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 1607 of file panel_board_stackup.cpp.
References drawBitmap(), getColorIconItem(), m_colorIconsSize, and m_rowUiItemsList.
Referenced by onColorSelected(), onCopperLayersSelCount(), rebuildLayerStackPanel(), and synchronizeWithBoard().
|
protectedinherited |
Definition at line 57 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 249 of file panel_board_stackup.h.
Referenced by ImportSettingsFrom(), lazyBuildRowUI(), PANEL_SETUP_BOARD_STACKUP(), synchronizeWithBoard(), and TransferDataFromWindow().
|
private |
Definition at line 250 of file panel_board_stackup.h.
Referenced by buildLayerStackPanel(), ImportSettingsFrom(), PANEL_SETUP_BOARD_STACKUP(), synchronizeWithBoard(), and TransferDataFromWindow().
|
protectedinherited |
Definition at line 47 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 63 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 64 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 48 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 45 of file panel_board_stackup_base.h.
Referenced by GetCopperLayerCount(), PANEL_SETUP_BOARD_STACKUP_BASE::PANEL_SETUP_BOARD_STACKUP_BASE(), synchronizeWithBoard(), and PANEL_SETUP_BOARD_STACKUP_BASE::~PANEL_SETUP_BOARD_STACKUP_BASE().
|
private |
Definition at line 257 of file panel_board_stackup.h.
Referenced by PANEL_SETUP_BOARD_STACKUP(), and updateIconColor().
|
private |
Definition at line 256 of file panel_board_stackup.h.
Referenced by createColorBox(), onColorSelected(), PANEL_SETUP_BOARD_STACKUP(), and synchronizeWithBoard().
|
private |
Definition at line 259 of file panel_board_stackup.h.
Referenced by createColorBox(), disconnectEvents(), lazyBuildRowUI(), and rebuildLayerStackPanel().
|
private |
Definition at line 255 of file panel_board_stackup.h.
Referenced by lazyBuildRowUI(), and PANEL_SETUP_BOARD_STACKUP().
|
private |
Definition at line 241 of file panel_board_stackup.h.
Referenced by onMaterialChange().
|
private |
Definition at line 235 of file panel_board_stackup.h.
Referenced by ImportSettingsFrom(), OnLayersOptionsChanged(), PANEL_SETUP_BOARD_STACKUP(), showOnlyActiveLayers(), and updateCopperLayerCount().
|
protectedinherited |
Definition at line 51 of file panel_board_stackup_base.h.
Referenced by addSpacer(), lazyBuildRowUI(), 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(), lazyBuildRowUI(), onAdjustDielectricThickness(), onCopperLayersSelCount(), onExportToClipboard(), onThicknessChange(), onUnitsChanged(), PANEL_SETUP_BOARD_STACKUP(), setDefaultLayerWidths(), synchronizeWithBoard(), transferDataFromUIToStackup(), and TransferDataFromWindow().
|
protectedinherited |
Definition at line 46 of file panel_board_stackup_base.h.
Referenced by PANEL_SETUP_BOARD_STACKUP_BASE::PANEL_SETUP_BOARD_STACKUP_BASE(), synchronizeWithBoard(), transferDataFromUIToStackup(), and TransferDataFromWindow().
|
private |
Definition at line 252 of file panel_board_stackup.h.
Referenced by onUnitsChanged().
|
protectedinherited |
Definition at line 44 of file panel_board_stackup_base.h.
Referenced by PANEL_SETUP_BOARD_STACKUP_BASE::PANEL_SETUP_BOARD_STACKUP_BASE().
|
private |
Definition at line 254 of file panel_board_stackup.h.
Referenced by lazyBuildRowUI(), and PANEL_SETUP_BOARD_STACKUP().
|
private |
Definition at line 253 of file panel_board_stackup.h.
Referenced by lazyBuildRowUI(), and PANEL_SETUP_BOARD_STACKUP().
|
protectedinherited |
Definition at line 49 of file panel_board_stackup_base.h.
Referenced by PANEL_SETUP_BOARD_STACKUP(), and PANEL_SETUP_BOARD_STACKUP_BASE::PANEL_SETUP_BOARD_STACKUP_BASE().
|
private |
Definition at line 239 of file panel_board_stackup.h.
Referenced by onExportToClipboard(), and PANEL_SETUP_BOARD_STACKUP().
|
private |
Definition at line 233 of file panel_board_stackup.h.
Referenced by OnLayersOptionsChanged(), and PANEL_SETUP_BOARD_STACKUP().
|
private |
Definition at line 247 of file panel_board_stackup.h.
Referenced by buildLayerStackPanel(), computeBoardThickness(), GetSelectedColor(), GetStackupItem(), GetSublayerId(), onAddDielectricLayer(), onAdjustDielectricThickness(), onColorSelected(), onMaterialChange(), onRemoveDielectricLayer(), onUnitsChanged(), rebuildLayerStackPanel(), setDefaultLayerWidths(), showOnlyActiveLayers(), synchronizeWithBoard(), transferDataFromUIToStackup(), and updateIconColor().
|
protectedinherited |
Definition at line 50 of file panel_board_stackup_base.h.
Referenced by addSpacer(), createColorBox(), lazyBuildRowUI(), PANEL_SETUP_BOARD_STACKUP_BASE::PANEL_SETUP_BOARD_STACKUP_BASE(), and rebuildLayerStackPanel().
|
private |
Definition at line 245 of file panel_board_stackup.h.
Referenced by onMaterialChange().
|
private |
Definition at line 243 of file panel_board_stackup.h.
Referenced by onMaterialChange().
|
private |
Definition at line 232 of file panel_board_stackup.h.
Referenced by buildLayerStackPanel(), onExportToClipboard(), onMaterialChange(), onRemoveDielectricLayer(), onRemoveDielUI(), transferDataFromUIToStackup(), and TransferDataFromWindow().
|
protectedinherited |
Definition at line 58 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 61 of file panel_board_stackup_base.h.
Referenced by PANEL_SETUP_BOARD_STACKUP_BASE::PANEL_SETUP_BOARD_STACKUP_BASE().
|
protectedinherited |
Definition at line 59 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 60 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 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 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 54 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 62 of file panel_board_stackup_base.h.
Referenced by computeBoardThickness(), onCopperLayersSelCount(), onUnitsChanged(), PANEL_SETUP_BOARD_STACKUP(), and PANEL_SETUP_BOARD_STACKUP_BASE::PANEL_SETUP_BOARD_STACKUP_BASE().