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_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... | |
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. More... | |
wxControl * | addSpacer (int aPos) |
add a Spacer in m_fgGridSizer when a empty cell is needed More... | |
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. 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 (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. 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... | |
int | computeBoardThickness () |
Recompute the board thickness and update the textbox. More... | |
void | setDefaultLayerWidths (int targetThickness) |
Set the widths of dielectric layers to sensible defaults. 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 | onCopperLayersSelCount (wxCommandEvent &event) override |
void | onAdjustDielectricThickness (wxCommandEvent &event) override |
void | updateIconColor (int aRow=-1) |
Update the icons color (swatches in first grid column) More... | |
wxColor | getColorIconItem (int aRow) |
wxBitmapComboBox * | createColorBox (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 |
BOARD * | m_board |
BOARD_DESIGN_SETTINGS * | m_brdSettings |
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 89 of file panel_board_stackup.h.
PANEL_SETUP_BOARD_STACKUP::PANEL_SETUP_BOARD_STACKUP | ( | wxWindow * | aParentWindow, |
PCB_EDIT_FRAME * | aFrame, | ||
PANEL_SETUP_LAYERS * | aPanelLayers | ||
) |
Definition at line 74 of file panel_board_stackup.cpp.
References _, buildLayerStackPanel(), computeBoardThickness(), PCB_BASE_FRAME::GetBoard(), BOARD::GetDesignSettings(), BOARD::GetEnabledLayers(), KiScaledBitmap(), 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_panelLayers, PANEL_SETUP_BOARD_STACKUP_BASE::m_tcCTValue, WX_PANEL::SetBorders(), PANEL_SETUP_LAYERS::SetPhysicalStackupPanel(), BOARD_STACKUP::StackupAllowedBrdLayers(), and synchronizeWithBoard().
PANEL_SETUP_BOARD_STACKUP::~PANEL_SETUP_BOARD_STACKUP | ( | ) |
Definition at line 124 of file panel_board_stackup.cpp.
References disconnectEvents().
|
private |
add a Spacer in m_fgGridSizer when a empty cell is needed
Definition at line 752 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 1029 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 530 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 1587 of file panel_board_stackup.cpp.
References _, BS_ITEM_TYPE_SILKSCREEN, LAYER_SELECTOR::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 211 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 1530 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 557 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 406 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 1518 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 1524 of file panel_board_stackup.cpp.
References m_rowUiItemsList.
Referenced by onThicknessChange().
void PANEL_SETUP_BOARD_STACKUP::ImportSettingsFrom | ( | BOARD * | aBoard | ) |
Definition at line 1294 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 760 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 246 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(), and EDA_LIST_DIALOG::SetListLabel().
|
overrideprivatevirtual |
Reimplemented from PANEL_SETUP_BOARD_STACKUP_BASE.
Definition at line 142 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 1339 of file panel_board_stackup.cpp.
References color, LAYER_SELECTOR::DrawColorSwatch(), DIALOG_COLOR_PICKER::GetColor(), GetDefaultUserColor(), BOARD_STACKUP_ITEM::GetType(), ID_ITEM_COLOR, IsCustomColorIdx(), m_colorSwatchesSize, m_rowUiItemsList, and updateIconColor().
Referenced by createColorBox(), and disconnectEvents().
|
overrideprivatevirtual |
Reimplemented from PANEL_SETUP_BOARD_STACKUP_BASE.
Definition at line 130 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 385 of file panel_board_stackup.cpp.
References BuildStackupReport(), UNITS_PROVIDER::GetUserUnits(), m_frame, m_stackup, 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 1313 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 1378 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(), and transferDataFromUIToStackup().
Referenced by disconnectEvents(), and lazyBuildRowUI().
|
overrideprivatevirtual |
Reimplemented from PANEL_SETUP_BOARD_STACKUP_BASE.
Definition at line 308 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(), and EDA_LIST_DIALOG::SetListLabel().
|
overrideprivatevirtual |
Reimplemented from PANEL_SETUP_BOARD_STACKUP_BASE.
Definition at line 365 of file panel_board_stackup.cpp.
References BS_ITEM_TYPE_DIELECTRIC, BOARD_STACKUP::GetList(), and m_stackup.
|
private |
Definition at line 1504 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 |
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 958 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 420 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 697 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 577 of file panel_board_stackup.cpp.
References BS_ITEM_TYPE_DIELECTRIC, LAYER_SELECTOR::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 1091 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 1237 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 563 of file panel_board_stackup.cpp.
References LSET::ExternalCuMask(), F_Cu, GetCopperLayerCount(), and m_enabledLayers.
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 1560 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 244 of file panel_board_stackup.h.
Referenced by ImportSettingsFrom(), lazyBuildRowUI(), PANEL_SETUP_BOARD_STACKUP(), synchronizeWithBoard(), and TransferDataFromWindow().
|
private |
Definition at line 245 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 251 of file panel_board_stackup.h.
Referenced by PANEL_SETUP_BOARD_STACKUP(), and updateIconColor().
|
private |
Definition at line 250 of file panel_board_stackup.h.
Referenced by createColorBox(), onColorSelected(), PANEL_SETUP_BOARD_STACKUP(), and synchronizeWithBoard().
|
private |
Definition at line 253 of file panel_board_stackup.h.
Referenced by createColorBox(), disconnectEvents(), lazyBuildRowUI(), and rebuildLayerStackPanel().
|
private |
Definition at line 249 of file panel_board_stackup.h.
Referenced by lazyBuildRowUI(), and PANEL_SETUP_BOARD_STACKUP().
|
private |
Definition at line 236 of file panel_board_stackup.h.
Referenced by onMaterialChange().
|
private |
Definition at line 231 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 246 of file panel_board_stackup.h.
Referenced by computeBoardThickness(), lazyBuildRowUI(), onAdjustDielectricThickness(), onCopperLayersSelCount(), onExportToClipboard(), onThicknessChange(), 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().
|
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 248 of file panel_board_stackup.h.
Referenced by lazyBuildRowUI(), and PANEL_SETUP_BOARD_STACKUP().
|
private |
Definition at line 247 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 229 of file panel_board_stackup.h.
Referenced by OnLayersOptionsChanged(), and PANEL_SETUP_BOARD_STACKUP().
|
private |
Definition at line 242 of file panel_board_stackup.h.
Referenced by buildLayerStackPanel(), computeBoardThickness(), GetSelectedColor(), GetStackupItem(), GetSublayerId(), onAddDielectricLayer(), onAdjustDielectricThickness(), onColorSelected(), onMaterialChange(), onRemoveDielectricLayer(), 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 240 of file panel_board_stackup.h.
Referenced by onMaterialChange().
|
private |
Definition at line 238 of file panel_board_stackup.h.
Referenced by onMaterialChange().
|
private |
Definition at line 228 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(), PANEL_SETUP_BOARD_STACKUP(), and PANEL_SETUP_BOARD_STACKUP_BASE::PANEL_SETUP_BOARD_STACKUP_BASE().