34#include <wx/dataview.h>
203 return defaultSettings;
210 LSET aLayers,
bool aFpEditorMode )
219 wxDataViewColumn* checkColumn = aList->AppendToggleColumn( wxEmptyString );
220 wxDataViewColumn* layerColumn = aList->AppendIconTextColumn( wxEmptyString );
221 wxDataViewColumn* layerIDColumn = aList->AppendTextColumn( wxEmptyString );
222 layerIDColumn->SetHidden(
true );
226 for(
LSEQ layer = aLayers.
UIOrder(); layer; ++layer )
231 if( aFpEditorMode && layerID ==
In1_Cu )
232 layerName =
_(
"Inner layers" );
241 icon.CopyFromBitmap( bitmap );
243 wxVector<wxVariant> row;
244 row.push_back( wxVariant(
m_Layers.test( layerID ) ) );
245 row.push_back( wxVariant( wxDataViewIconText( layerName, icon ) ) );
246 row.push_back( wxVariant( wxString::Format( wxT(
"%i" ), layerID ) ) );
247 aList->AppendItem( row );
250 aList->SetToggleValue(
true, (
unsigned) aList->GetItemCount() - 1, 0 );
253 int checkColSize = 22;
260 int checkColMargins = 40;
262 int checkColMargins = 0;
267 aList->SetIndent( 0 );
268 aList->SetMinClientSize( wxSize( checkColSize + checkColMargins + layerColSize,
269 aList->GetMinClientSize().y ) );
271 checkColumn->SetWidth( checkColSize );
272 layerColumn->SetWidth( layerColSize );
constexpr EDA_IU_SCALE pcbIUScale
bool SetNetCode(int aNetCode, bool aNoAssert)
Set net using a net code.
virtual void SetLocked(bool aLocked)
virtual bool IsLocked() const
Information pertinent to a Pcbnew printed circuit board.
const wxString GetLayerName(PCB_LAYER_ID aLayer) const
Return the name of a aLayer.
COLOR4D GetColor(int aLayer) const
static wxBitmap MakeBitmap(const KIGFX::COLOR4D &aColor, const KIGFX::COLOR4D &aBackground, const wxSize &aSize, const wxSize &aCheckerboardSize, const KIGFX::COLOR4D &aCheckerboardBackground)
A color representation with 4 components: red, green, blue, alpha.
LSEQ is a sequence (and therefore also a set) of PCB_LAYER_IDs.
LSET is a set of PCB_LAYER_IDs.
Base PCB main window class for Pcbnew, Gerbview, and CvPcb footprint viewer.
virtual COLOR_SETTINGS * GetColorSettings(bool aForceRefresh=false) const override
Helper to retrieve the current color settings.
ZONE_SETTINGS handles zones parameters.
bool GetDoNotAllowCopperPour() const
bool m_keepoutDoNotAllowPads
void SetIsRuleArea(bool aEnable)
unsigned int m_cornerRadius
bool GetDoNotAllowTracks() const
EDA_ANGLE m_HatchOrientation
int m_HatchBorderAlgorithm
void SetDoNotAllowVias(bool aEnable)
bool GetDoNotAllowFootprints() const
long long int m_minIslandArea
bool m_keepoutDoNotAllowTracks
bool GetDoNotAllowPads() const
double m_HatchSmoothingValue
void ExportSetting(ZONE &aTarget, bool aFullExport=true) const
Function ExportSetting copy settings to a given zone.
bool GetIsRuleArea() const
Accessors to parameters used in Rule Area zones:
int m_cornerSmoothingType
void SetDoNotAllowTracks(bool aEnable)
bool GetDoNotAllowVias() const
bool m_keepoutDoNotAllowCopperPour
ISLAND_REMOVAL_MODE m_removeIslands
double m_HatchHoleMinArea
long long int GetMinIslandArea() const
long m_ThermalReliefSpokeWidth
TEARDROP_TYPE m_TeardropType
static const ZONE_SETTINGS & GetDefaultSettings()
void SetCornerRadius(int aRadius)
void SetupLayersList(wxDataViewListCtrl *aList, PCB_BASE_FRAME *aFrame, LSET aLayers, bool aFpEditorMode)
A helper routine for the various zone dialogs (copper, non-copper, keepout).
ZONE_FILL_MODE m_FillMode
ZONE_CONNECTION m_padConnection
void SetDoNotAllowFootprints(bool aEnable)
void SetDoNotAllowPads(bool aEnable)
ZONE_SETTINGS & operator<<(const ZONE &aSource)
operator << ( const ZONE& ) was Function ImportSetting copies settings from a given zone into this ob...
int m_HatchSmoothingLevel
ISLAND_REMOVAL_MODE GetIslandRemovalMode() const
ZONE_BORDER_DISPLAY_STYLE m_ZoneBorderDisplayStyle
Option to show the zone area (outlines only, short hatches or full hatches.
bool m_keepoutDoNotAllowFootprints
bool m_keepoutDoNotAllowVias
void SetDoNotAllowCopperPour(bool aEnable)
Handle a list of polygons defining a copper zone.
void SetHatchThickness(int aThickness)
void SetHatchBorderAlgorithm(int aAlgo)
void SetDoNotAllowPads(bool aEnable)
int GetHatchBorderAlgorithm() const
bool GetIsRuleArea() const
Accessors to parameters used in Rule Area zones:
bool GetDoNotAllowVias() const
void SetCornerRadius(unsigned int aRadius)
void SetCornerSmoothingType(int aType)
void SetBorderDisplayStyle(ZONE_BORDER_DISPLAY_STYLE aBorderHatchStyle, int aBorderHatchPitch, bool aRebuilBorderdHatch)
Set all hatch parameters for the zone.
bool GetDoNotAllowPads() const
void SetMinThickness(int aMinThickness)
bool GetDoNotAllowTracks() const
void SetHatchOrientation(const EDA_ANGLE &aStep)
void SetHatchSmoothingValue(double aValue)
void SetHatchSmoothingLevel(int aLevel)
void SetDoNotAllowCopperPour(bool aEnable)
void SetThermalReliefSpokeWidth(int aThermalReliefSpokeWidth)
ISLAND_REMOVAL_MODE GetIslandRemovalMode() const
long long int GetMinIslandArea() const
void SetIsRuleArea(bool aEnable)
void SetDoNotAllowTracks(bool aEnable)
int GetLocalClearance(wxString *aSource) const override
Return any local clearances set in the "classic" (ie: pre-rule) system.
const wxString & GetZoneName() const
int GetMinThickness() const
void SetFillMode(ZONE_FILL_MODE aFillMode)
ZONE_CONNECTION GetPadConnection() const
int GetHatchThickness() const
double GetHatchHoleMinArea() const
void SetDoNotAllowVias(bool aEnable)
int GetThermalReliefSpokeWidth() const
int GetBorderHatchPitch() const
HatchBorder related methods.
void SetLocalClearance(int aClearance)
ZONE_BORDER_DISPLAY_STYLE GetHatchStyle() const
void SetThermalReliefGap(int aThermalReliefGap)
EDA_ANGLE GetHatchOrientation() const
void SetLayerSet(LSET aLayerSet) override
bool GetDoNotAllowFootprints() const
ZONE_FILL_MODE GetFillMode() const
virtual LSET GetLayerSet() const override
Return a std::bitset of all layers on which the item physically resides.
void SetDoNotAllowFootprints(bool aEnable)
bool GetDoNotAllowCopperPour() const
void SetHatchHoleMinArea(double aPct)
TEARDROP_TYPE GetTeardropAreaType() const
double GetHatchSmoothingValue() const
int GetHatchSmoothingLevel() const
unsigned int GetCornerRadius() const
int GetCornerSmoothingType() const
void SetAssignedPriority(unsigned aPriority)
void SetPadConnection(ZONE_CONNECTION aPadConnection)
void SetZoneName(const wxString &aName)
void SetTeardropAreaType(TEARDROP_TYPE aType)
Set the type of teardrop if the zone is a teardrop area for non teardrop area, the type must be TEARD...
void SetIslandRemovalMode(ISLAND_REMOVAL_MODE aRemove)
void SetMinIslandArea(long long int aArea)
int GetThermalReliefGap() const
void SetHatchGap(int aStep)
unsigned GetAssignedPriority() const
static constexpr EDA_ANGLE & ANGLE_0
@ LAYER_PCB_BACKGROUND
PCB background color.
PCB_LAYER_ID
A quick note on layer IDs:
wxSize GetTextSize(const wxString &aSingleLine, wxWindow *aWindow)
Return the size of aSingleLine of text when it is rendered in aWindow using whatever font is currentl...
constexpr int mmToIU(double mm) const
static const wxSize CHECKERBOARD_SIZE(8, 8)
static const wxSize LAYER_BITMAP_SIZE(24, 16)
Class ZONE_SETTINGS used to handle zones parameters in dialogs.
#define ZONE_THERMAL_RELIEF_GAP_MM
#define ZONE_BORDER_HATCH_DIST_MM
#define ZONE_THERMAL_RELIEF_COPPER_WIDTH_MM
#define ZONE_CLEARANCE_MM
#define ZONE_THICKNESS_MM