KiCad PCB EDA Suite
DIALOG_COPPER_ZONE Class Reference
Inheritance diagram for DIALOG_COPPER_ZONE:
DIALOG_COPPER_ZONE_BASE DIALOG_SHIM KIWAY_HOLDER

Public Types

enum  HOLDER_TYPE { DIALOG, FRAME, PANEL }
 

Public Member Functions

 DIALOG_COPPER_ZONE (PCB_BASE_FRAME *aParent, ZONE_SETTINGS *aSettings)
 
void SetInitialFocus (wxWindow *aWindow)
 Sets the window (usually a wxTextCtrl) that should be focused when the dialog is shown. More...
 
int ShowQuasiModal ()
 
void EndQuasiModal (int retCode)
 
bool IsQuasiModal () const
 
bool Show (bool show) override
 
bool Enable (bool enable) override
 
void OnPaint (wxPaintEvent &event)
 
void OnModify ()
 
void SetPosition (const wxPoint &aNewPosition)
 Force the position of the dialog to a new position. More...
 
EDA_UNITS GetUserUnits () const
 
HOLDER_TYPE GetType () const
 
KIWAYKiway () const
 Return a reference to the KIWAY that this object has an opportunity to participate in. More...
 
PROJECTPrj () const
 Return a reference to the PROJECT associated with this KIWAY. More...
 
void SetKiway (wxWindow *aDest, KIWAY *aKiway)
 It is only used for debugging, since "this" is not a wxWindow*. More...
 

Static Public Member Functions

static bool IsCtrl (int aChar, const wxKeyEvent &e)
 
static bool IsShiftCtrl (int aChar, const wxKeyEvent &e)
 

Protected Types

enum  {
  ID_DIALOG_COPPER_ZONE_BASE = 1000, ID_TEXTCTRL_NETNAMES_FILTER, ID_NETNAME_SELECTION, ID_M_PRIORITYLEVELCTRL,
  ID_M_OUTLINEAPPEARANCECTRL, ID_CORNER_SMOOTHING, ID_M_CORNERSMOOTHINGCTRL, ID_M_PADINZONEOPT,
  wxID_ANTIPAD_SIZE, wxID_COPPER_BRIDGE_VALUE, wxID_BUTTON_EXPORT
}
 

Protected Member Functions

void finishDialogSettings ()
 In all dialogs, we must call the same functions to fix minimal dlg size, the default position and perhaps some others to fix a few issues depending on Windows Managers this helper function does these calls. More...
 
void setSizeInDU (int x, int y)
 Set the dialog to the given dimensions in "dialog units". More...
 
int horizPixelsFromDU (int x) const
 Convert an integer number of dialog units to pixels, horizontally. More...
 
int vertPixelsFromDU (int y) const
 Convert an integer number of dialog units to pixels, vertically. More...
 
void resetSize ()
 Clear the existing dialog size and position. More...
 
virtual void OnCharHook (wxKeyEvent &aEvt)
 

Protected Attributes

wxBoxSizer * m_MainBoxSizer
 
wxInfoBar * m_copperZoneInfo
 
wxDataViewListCtrl * m_layers
 
wxTextCtrl * m_ShowNetNameFilter
 
wxCheckBox * m_hideAutoGenNetNamesOpt
 
wxCheckBox * m_sortByPadsOpt
 
wxListBox * m_ListNetNameSelection
 
wxStaticText * m_zoneNameLabel
 
wxTextCtrl * m_tcZoneName
 
wxStaticText * m_staticTextPriorityLevel
 
wxSpinCtrl * m_PriorityLevelCtrl
 
wxCheckBox * m_constrainOutline
 
wxCheckBox * m_cbLocked
 
wxStaticText * m_staticTextStyle
 
wxChoice * m_OutlineDisplayCtrl
 
wxStaticLine * m_staticline1
 
wxStaticText * m_staticTextSmoothing
 
wxChoice * m_cornerSmoothingChoice
 
wxStaticText * m_cornerRadiusLabel
 
wxTextCtrl * m_cornerRadiusCtrl
 
wxStaticText * m_cornerRadiusUnits
 
wxStaticText * m_clearanceLabel
 
wxTextCtrl * m_clearanceCtrl
 
wxStaticText * m_clearanceUnits
 
wxStaticText * m_minWidthLabel
 
wxTextCtrl * m_minWidthCtrl
 
wxStaticText * m_minWidthUnits
 
wxStaticLine * m_staticline2
 
wxStaticText * m_connectionLabel
 
wxChoice * m_PadInZoneOpt
 
wxStaticText * m_antipadLabel
 
wxTextCtrl * m_antipadCtrl
 
wxStaticText * m_antipadUnits
 
wxStaticText * m_spokeWidthLabel
 
wxTextCtrl * m_spokeWidthCtrl
 
wxStaticText * m_spokeWidthUnits
 
wxStaticText * m_staticTextGridFillType
 
wxChoice * m_GridStyleCtrl
 
wxStaticText * m_staticTextGrindOrient
 
wxTextCtrl * m_tcGridStyleOrientation
 
wxStaticText * m_staticTextRotUnits
 
wxStaticText * m_staticTextStyleThickness
 
wxTextCtrl * m_tcGridStyleThickness
 
wxStaticText * m_GridStyleThicknessUnits
 
wxStaticText * m_staticTextGridGap
 
wxTextCtrl * m_tcGridStyleGap
 
wxStaticText * m_GridStyleGapUnits
 
wxStaticText * m_staticTextGridSmoothingLevel
 
wxSpinCtrl * m_spinCtrlSmoothLevel
 
wxStaticText * m_staticTextGridSmootingVal
 
wxSpinCtrlDouble * m_spinCtrlSmoothValue
 
wxStaticLine * m_staticline5
 
wxStaticText * m_staticText40
 
wxChoice * m_cbRemoveIslands
 
wxStaticText * m_islandThresholdLabel
 
wxTextCtrl * m_tcIslandThreshold
 
wxStaticText * m_islandThresholdUnits
 
wxButton * m_ExportSetupButton
 
wxStdDialogButtonSizer * m_sdbSizer
 
wxButton * m_sdbSizerOK
 
wxButton * m_sdbSizerCancel
 
EDA_UNITS m_units
 
std::string m_hash_key
 
bool m_useCalculatedSize
 
bool m_firstPaintEvent
 
wxWindow * m_initialFocusTarget
 
WX_EVENT_LOOPm_qmodal_loop
 
bool m_qmodal_showing
 
WDO_ENABLE_DISABLEm_qmodal_parent_disabler
 
EDA_BASE_FRAMEm_parentFrame
 
std::vector< wxWindow * > m_tabOrder
 
wxSize m_initialSize
 

Private Types

using NET_FILTER = std::unique_ptr< EDA_PATTERN_MATCH >
 
using NET_FILTER_LIST = std::vector< NET_FILTER >
 

Private Member Functions

bool TransferDataToWindow () override
 
bool TransferDataFromWindow () override
 
bool AcceptOptions (bool aUseExportableSetupOnly=false)
 
void OnStyleSelection (wxCommandEvent &event) override
 
void OnLayerSelection (wxDataViewEvent &event) override
 
void OnNetSortingOptionSelected (wxCommandEvent &event) override
 
void ExportSetupToOtherCopperZones (wxCommandEvent &event) override
 
void OnShowNetNameFilterChange (wxCommandEvent &event) override
 
void OnUpdateUI (wxUpdateUIEvent &) override
 
void OnButtonCancelClick (wxCommandEvent &event) override
 
void OnClose (wxCloseEvent &event) override
 
void OnNetSelectionUpdated (wxCommandEvent &event) override
 
void OnRemoveIslandsSelection (wxCommandEvent &event) override
 
void readNetInformation ()
 
void readFilteringAndSortingCriteria ()
 
void buildListOfNets (const NETINFO_LIST &nets)
 
wxArrayString buildListOfNetsToDisplay ()
 
void sortNetsByPadCount (std::vector< NETINFO_ITEM * > &nets, const int maxNetCode)
 
void updateDisplayedListOfNets ()
 
int ensureSelectedNetIsVisible (int selectedNetCode, wxArrayString &netsList)
 
void displayNetsList (const wxArrayString &netNamesList, int selectIndex)
 
void updateShowNetsFilter ()
 
wxString getUnescapedNetName (const NETINFO_ITEM *net)
 
void sortNetsIfRequired ()
 
wxArrayString getSortedNetNamesList ()
 
wxArrayString applyShowFilter (const wxArrayString &sortedNetNames)
 
wxArrayString applyHideFilterIfRequired (const wxArrayString &netNames)
 
bool isAutoGenerated (const wxString &netName)
 
void updateCurrentNetSelection ()
 
void updateInfoBar ()
 
void handleRemoveIslandsSelection ()
 
void storePersistentNetSortConfigurations ()
 
void loadPersistentNetSortConfigurations ()
 

Private Attributes

PCB_BASE_FRAMEm_Parent
 
bool m_settingsExported
 
ZONE_SETTINGS m_settings
 
ZONE_SETTINGSm_ptr
 
bool m_netSortingByPadCount
 
NET_FILTER_LIST m_showNetsFilter
 
int m_cornerSmoothingType
 
int m_maxNetCode
 
int m_currentlySelectedNetcode
 
UNIT_BINDER m_cornerRadius
 
UNIT_BINDER m_clearance
 
UNIT_BINDER m_minWidth
 
UNIT_BINDER m_antipadClearance
 
UNIT_BINDER m_spokeWidth
 
UNIT_BINDER m_gridStyleRotation
 
UNIT_BINDER m_gridStyleThickness
 
UNIT_BINDER m_gridStyleGap
 
UNIT_BINDER m_islandThreshold
 
bool m_hideAutoGeneratedNets
 
std::map< wxString, int > m_netNameToNetCode
 
std::vector< NETINFO_ITEM * > m_netInfoItemList
 

Static Private Attributes

static constexpr int INVALID_NET_CODE { 0 }
 
static constexpr int DEFAULT_SORT_CONFIG { -1 }
 
static constexpr int NO_PERSISTENT_SORT_MODE { 0 }
 
static constexpr int HIDE_ANONYMOUS_NETS { 1 << 0 }
 
static constexpr int SORT_BY_PAD_COUNT { 1 << 1 }
 

Detailed Description

Definition at line 43 of file dialog_copper_zones.cpp.

Member Typedef Documentation

◆ NET_FILTER

using DIALOG_COPPER_ZONE::NET_FILTER = std::unique_ptr<EDA_PATTERN_MATCH>
private

Definition at line 49 of file dialog_copper_zones.cpp.

◆ NET_FILTER_LIST

using DIALOG_COPPER_ZONE::NET_FILTER_LIST = std::vector<NET_FILTER>
private

Definition at line 50 of file dialog_copper_zones.cpp.

Member Enumeration Documentation

◆ anonymous enum

anonymous enum
protectedinherited
Enumerator
ID_DIALOG_COPPER_ZONE_BASE 
ID_TEXTCTRL_NETNAMES_FILTER 
ID_NETNAME_SELECTION 
ID_M_PRIORITYLEVELCTRL 
ID_M_OUTLINEAPPEARANCECTRL 
ID_CORNER_SMOOTHING 
ID_M_CORNERSMOOTHINGCTRL 
ID_M_PADINZONEOPT 
wxID_ANTIPAD_SIZE 
wxID_COPPER_BRIDGE_VALUE 
wxID_BUTTON_EXPORT 

Definition at line 47 of file dialog_copper_zones_base.h.

◆ HOLDER_TYPE

enum KIWAY_HOLDER::HOLDER_TYPE
inherited
Enumerator
DIALOG 
FRAME 
PANEL 

Definition at line 39 of file kiway_holder.h.

Constructor & Destructor Documentation

◆ DIALOG_COPPER_ZONE()

DIALOG_COPPER_ZONE::DIALOG_COPPER_ZONE ( PCB_BASE_FRAME aParent,
ZONE_SETTINGS aSettings 
)

Definition at line 165 of file dialog_copper_zones.cpp.

165  :
166  DIALOG_COPPER_ZONE_BASE( aParent ),
180  m_hideAutoGeneratedNets{ false }
181 {
182  m_Parent = aParent;
183 
184  m_ptr = aSettings;
185  m_settings = *aSettings;
187 
188  m_settingsExported = false;
191 
192  m_netSortingByPadCount = true; // false = alphabetic sort, true = pad count sort
193 
194  m_sdbSizerOK->SetDefault();
195  m_ShowNetNameFilter->SetHint( _( "Filter" ) );
196 
197  m_cbRemoveIslands->Bind( wxEVT_CHOICE,
198  [&]( wxCommandEvent& )
199  {
200  // Area mode is index 2
201  bool val = m_cbRemoveIslands->GetSelection() == 2;
202 
203  m_tcIslandThreshold->Enable( val );
204  m_islandThresholdLabel->Enable( val );
205  m_islandThresholdUnits->Enable( val );
206  } );
207 
209 }
static constexpr int INVALID_NET_CODE
PCB_BASE_FRAME * m_Parent
#define _(s)
void finishDialogSettings()
In all dialogs, we must call the same functions to fix minimal dlg size, the default position and per...
UNIT_BINDER m_gridStyleThickness
DIALOG_COPPER_ZONE_BASE(wxWindow *parent, wxWindowID id=ID_DIALOG_COPPER_ZONE_BASE, const wxString &title=_("Copper Zone Properties"), const wxPoint &pos=wxDefaultPosition, const wxSize &size=wxSize(-1,-1), long style=wxDEFAULT_DIALOG_STYLE|wxRESIZE_BORDER)
void SetupLayersList(wxDataViewListCtrl *aList, PCB_BASE_FRAME *aFrame, bool aShowCopper, bool aFpEditorMode=false)
A helper routine for the various zone dialogs (copper, non-copper, keepout).

Member Function Documentation

◆ AcceptOptions()

bool DIALOG_COPPER_ZONE::AcceptOptions ( bool  aUseExportableSetupOnly = false)
private
Parameters
aUseExportableSetupOnlyis true to use exportable parameters only (used to export this setup to other zones).
Returns
bool - false if incorrect options, true if ok.

Definition at line 439 of file dialog_copper_zones.cpp.

440 {
441  if( !m_clearance.Validate( 0, Mils2iu( ZONE_CLEARANCE_MAX_VALUE_MIL ) ) )
442  return false;
443 
444  if( !m_minWidth.Validate( Mils2iu( ZONE_THICKNESS_MIN_VALUE_MIL ), INT_MAX ) )
445  return false;
446 
447  if( !m_cornerRadius.Validate( 0, INT_MAX ) )
448  return false;
449 
450  if( !m_spokeWidth.Validate( 0, INT_MAX ) )
451  return false;
452 
454 
456  {
457  int minThickness = m_minWidth.GetValue();
458 
459  if( !m_gridStyleThickness.Validate( minThickness, INT_MAX ) )
460  return false;
461 
462  if( !m_gridStyleGap.Validate( minThickness, INT_MAX ) )
463  return false;
464  }
465 
466  switch( m_PadInZoneOpt->GetSelection() )
467  {
472  }
473 
474  switch( m_OutlineDisplayCtrl->GetSelection() )
475  {
479  }
480 
482 
483  cfg->m_Zones.hatching_style = static_cast<int>( m_settings.m_ZoneBorderDisplayStyle );
484 
487 
489 
491  ? 0 : m_cornerRadius.GetValue() );
492 
494 
496  m_settings.m_Locked = m_cbLocked->GetValue();
497 
500 
502  {
503  DisplayError( this, _( "Thermal spoke width cannot be smaller than the minimum width." ) );
504  return false;
505  }
506 
508  cfg->m_Zones.clearance = Iu2Mils( m_settings.m_ZoneClearance );
512 
514  static_cast<ISLAND_REMOVAL_MODE>( m_cbRemoveIslands->GetSelection() ) );
516 
517  // If we use only exportable to others zones parameters, exit here:
518  if( aUseExportableSetupOnly )
519  return true;
520 
521  // Get the layer selection for this zone
522  int layers = 0;
523 
524  for( int ii = 0; ii < m_layers->GetItemCount(); ++ii )
525  {
526  if( m_layers->GetToggleValue( (unsigned) ii, 0 ) )
527  layers++;
528  }
529 
530  if( layers == 0 )
531  {
532  DisplayError( this, _( "No layer selected." ) );
533  return false;
534  }
535 
537 
538  m_settings.m_Name = m_tcZoneName->GetValue();
539 
540  return true;
541 }
void DisplayError(wxWindow *aParent, const wxString &aText, int aDisplayTime)
Display an error or warning message box with aMessage.
Definition: confirm.cpp:279
void SetMinIslandArea(long long int aArea)
void SetIslandRemovalMode(ISLAND_REMOVAL_MODE aRemove)
void SetCornerSmoothingType(int aType)
ZONE_BORDER_DISPLAY_STYLE m_ZoneBorderDisplayStyle
Option to show the zone area (outlines only, short hatches or full hatches.
int GetCornerSmoothingType() const
#define ZONE_CLEARANCE_MAX_VALUE_MIL
Definition: zones.h:34
wxString m_Name
Definition: zone_settings.h:95
T NormalizeAngle180(T Angle)
Normalize angle to be in the -180.0 .. 180.0 range.
Definition: trigo.h:387
int m_NetcodeSelection
Definition: zone_settings.h:93
pads are covered by copper
void SetPadConnection(ZONE_CONNECTION aPadConnection)
PCB_BASE_FRAME * m_Parent
#define _(s)
Thermal relief only for THT pads.
Use thermal relief for pads.
ZONE_FILL_MODE m_FillMode
Definition: zone_settings.h:81
#define ZONE_THICKNESS_MIN_VALUE_MIL
Definition: zones.h:32
virtual bool Validate(double aMin, double aMax, EDA_UNITS aUnits=EDA_UNITS::UNSCALED)
Validate the control against the given range, informing the user of any errors found.
long m_ThermalReliefSpokeWidth
UNIT_BINDER m_gridStyleThickness
virtual void SetValue(int aValue)
Set new value (in Internal Units) for the text field, taking care of units conversion.
void SetCornerRadius(int aRadius)
PCBNEW_SETTINGS * GetPcbNewSettings() const
Pads are not covered.
virtual long long int GetValue()
Return the current value in Internal Units.
long m_ThermalReliefGap
int m_ZoneMinThickness
Definition: zone_settings.h:83

References _, PCBNEW_SETTINGS::ZONES::clearance, DIAGONAL_EDGE, DIAGONAL_FULL, DisplayError(), FULL, ZONE_SETTINGS::GetCornerSmoothingType(), PCB_BASE_FRAME::GetPcbNewSettings(), UNIT_BINDER::GetValue(), HATCH_PATTERN, PCBNEW_SETTINGS::ZONES::hatching_style, m_antipadClearance, DIALOG_COPPER_ZONE_BASE::m_cbLocked, DIALOG_COPPER_ZONE_BASE::m_cbRemoveIslands, m_clearance, DIALOG_COPPER_ZONE_BASE::m_constrainOutline, m_cornerRadius, DIALOG_COPPER_ZONE_BASE::m_cornerSmoothingChoice, m_currentlySelectedNetcode, ZONE_SETTINGS::m_FillMode, m_gridStyleGap, m_gridStyleRotation, m_gridStyleThickness, m_islandThreshold, DIALOG_COPPER_ZONE_BASE::m_layers, ZONE_SETTINGS::m_Locked, m_minWidth, ZONE_SETTINGS::m_Name, ZONE_SETTINGS::m_NetcodeSelection, DIALOG_COPPER_ZONE_BASE::m_OutlineDisplayCtrl, DIALOG_COPPER_ZONE_BASE::m_PadInZoneOpt, m_Parent, DIALOG_COPPER_ZONE_BASE::m_PriorityLevelCtrl, m_settings, m_spokeWidth, DIALOG_COPPER_ZONE_BASE::m_tcZoneName, ZONE_SETTINGS::m_ThermalReliefGap, ZONE_SETTINGS::m_ThermalReliefSpokeWidth, ZONE_SETTINGS::m_Zone_45_Only, ZONE_SETTINGS::m_ZoneBorderDisplayStyle, ZONE_SETTINGS::m_ZoneClearance, ZONE_SETTINGS::m_ZoneMinThickness, ZONE_SETTINGS::m_ZonePriority, PCBNEW_SETTINGS::m_Zones, PCBNEW_SETTINGS::ZONES::min_thickness, NO_HATCH, NONE, NormalizeAngle180(), ZONE_SETTINGS::SetCornerRadius(), ZONE_SETTINGS::SetCornerSmoothingType(), ZONE_SETTINGS::SetIslandRemovalMode(), ZONE_SETTINGS::SetMinIslandArea(), ZONE_SETTINGS::SetPadConnection(), UNIT_BINDER::SetValue(), ZONE_SETTINGS::SMOOTHING_NONE, storePersistentNetSortConfigurations(), THERMAL, PCBNEW_SETTINGS::ZONES::thermal_relief_copper_width, PCBNEW_SETTINGS::ZONES::thermal_relief_gap, THT_THERMAL, UNIT_BINDER::Validate(), ZONE_CLEARANCE_MAX_VALUE_MIL, and ZONE_THICKNESS_MIN_VALUE_MIL.

Referenced by ExportSetupToOtherCopperZones(), and TransferDataFromWindow().

◆ applyHideFilterIfRequired()

wxArrayString DIALOG_COPPER_ZONE::applyHideFilterIfRequired ( const wxArrayString &  netNames)
private

Definition at line 791 of file dialog_copper_zones.cpp.

792 {
793  wxArrayString filteredNetNames;
794 
796  {
797  for( const wxString& netName : netNames )
798  {
799  if( !isAutoGenerated( netName ) )
800  {
801  filteredNetNames.Add( netName );
802  }
803  }
804  }
805  else
806  {
807  filteredNetNames = netNames;
808  }
809 
810  filteredNetNames.Insert( wxT( "<no net>" ), INVALID_NET_CODE );
811 
812  return filteredNetNames;
813 }
static constexpr int INVALID_NET_CODE
bool isAutoGenerated(const wxString &netName)

References INVALID_NET_CODE, isAutoGenerated(), and m_hideAutoGeneratedNets.

Referenced by buildListOfNetsToDisplay().

◆ applyShowFilter()

wxArrayString DIALOG_COPPER_ZONE::applyShowFilter ( const wxArrayString &  sortedNetNames)
private

Definition at line 772 of file dialog_copper_zones.cpp.

773 {
774  wxArrayString netsAfterShowFilter;
775 
776  for( const wxString& netName : netNames )
777  {
778  for( const NET_FILTER& filter : m_showNetsFilter )
779  {
780  if( filter->Find( netName.Lower() ) )
781  {
782  netsAfterShowFilter.Add( netName );
783  }
784  }
785  }
786 
787  return netsAfterShowFilter;
788 }
std::unique_ptr< EDA_PATTERN_MATCH > NET_FILTER
NET_FILTER_LIST m_showNetsFilter

References filter, and m_showNetsFilter.

Referenced by buildListOfNetsToDisplay().

◆ buildListOfNets()

void DIALOG_COPPER_ZONE::buildListOfNets ( const NETINFO_LIST nets)
private

Definition at line 327 of file dialog_copper_zones.cpp.

328 {
329  m_netInfoItemList.clear();
330  m_netInfoItemList.reserve( nets.GetNetCount() );
331 
332  m_netNameToNetCode.clear();
333  m_netNameToNetCode[wxT( "<no net>" )] = INVALID_NET_CODE;
334 
336 
337  for( NETINFO_ITEM* net : nets )
338  {
339  const int& netCode = net->GetNetCode();
340  const wxString& netName = getUnescapedNetName( net );
341 
342  m_netNameToNetCode[netName] = netCode;
343 
344  if( netCode > INVALID_NET_CODE && net->IsCurrent() )
345  {
346  m_netInfoItemList.push_back( net );
347  m_maxNetCode = std::max( netCode, m_maxNetCode );
348  }
349  }
350 }
static constexpr int INVALID_NET_CODE
std::map< wxString, int > m_netNameToNetCode
std::vector< NETINFO_ITEM * > m_netInfoItemList
Handle the data for a net.
Definition: netinfo.h:66
unsigned GetNetCount() const
Definition: netinfo.h:341
wxString getUnescapedNetName(const NETINFO_ITEM *net)

References NETINFO_LIST::GetNetCount(), getUnescapedNetName(), INVALID_NET_CODE, m_maxNetCode, m_netInfoItemList, and m_netNameToNetCode.

Referenced by readNetInformation().

◆ buildListOfNetsToDisplay()

wxArrayString DIALOG_COPPER_ZONE::buildListOfNetsToDisplay ( )
private

Definition at line 709 of file dialog_copper_zones.cpp.

710 {
712 
713  const wxArrayString sortedNetNames = getSortedNetNamesList();
714 
715  const wxArrayString netsAfterShowFilter = applyShowFilter( sortedNetNames );
716 
717  wxArrayString filteredNetNames = applyHideFilterIfRequired( netsAfterShowFilter );
718 
719  return filteredNetNames;
720 }
wxArrayString applyHideFilterIfRequired(const wxArrayString &netNames)
wxArrayString applyShowFilter(const wxArrayString &sortedNetNames)
wxArrayString getSortedNetNamesList()

References applyHideFilterIfRequired(), applyShowFilter(), getSortedNetNamesList(), and sortNetsIfRequired().

Referenced by updateDisplayedListOfNets().

◆ displayNetsList()

void DIALOG_COPPER_ZONE::displayNetsList ( const wxArrayString &  netNamesList,
int  selectIndex 
)
private

Definition at line 822 of file dialog_copper_zones.cpp.

823 {
824  m_ListNetNameSelection->Clear();
825  m_ListNetNameSelection->InsertItems( netNamesList, 0 );
826  m_ListNetNameSelection->SetSelection( selectIndex );
827  m_ListNetNameSelection->EnsureVisible( selectIndex );
828 }

References DIALOG_COPPER_ZONE_BASE::m_ListNetNameSelection.

Referenced by updateDisplayedListOfNets().

◆ Enable()

bool DIALOG_SHIM::Enable ( bool  enable)
overrideinherited

Definition at line 312 of file dialog_shim.cpp.

313 {
314  // so we can do logging of this state change:
315  return wxDialog::Enable( enable );
316 }

◆ EndQuasiModal()

void DIALOG_SHIM::EndQuasiModal ( int  retCode)
inherited

Definition at line 480 of file dialog_shim.cpp.

481 {
482  // Hook up validator and transfer data from controls handling so quasi-modal dialogs
483  // handle validation in the same way as other dialogs.
484  if( ( retCode == wxID_OK ) && ( !Validate() || !TransferDataFromWindow() ) )
485  return;
486 
487  SetReturnCode( retCode );
488 
489  if( !IsQuasiModal() )
490  {
491  wxFAIL_MSG( "either DIALOG_SHIM::EndQuasiModal called twice or ShowQuasiModal"
492  "wasn't called" );
493  return;
494  }
495 
496  if( m_qmodal_loop )
497  {
498  if( m_qmodal_loop->IsRunning() )
499  m_qmodal_loop->Exit( 0 );
500  else
501  m_qmodal_loop->ScheduleExit( 0 );
502 
503  m_qmodal_loop = nullptr;
504  }
505 
507  m_qmodal_parent_disabler = nullptr;
508 
509  Show( false );
510 }
bool IsQuasiModal() const
Definition: dialog_shim.h:106
WX_EVENT_LOOP * m_qmodal_loop
Definition: dialog_shim.h:213
bool Show(bool show) override
WDO_ENABLE_DISABLE * m_qmodal_parent_disabler
Definition: dialog_shim.h:216

References DIALOG_SHIM::IsQuasiModal(), DIALOG_SHIM::m_qmodal_loop, DIALOG_SHIM::m_qmodal_parent_disabler, and DIALOG_SHIM::Show().

Referenced by NETLIST_DIALOG::OnAddGenerator(), DIALOG_SHIM::OnButton(), DIALOG_EDIT_SYMBOLS_LIBID::onCancel(), DIALOG_LIB_SYMBOL_PROPERTIES::OnCancelButtonClick(), DIALOG_SYMBOL_PROPERTIES::OnCancelButtonClick(), DIALOG_LIB_EDIT_PIN_TABLE::OnClose(), DIALOG_CHOOSE_FOOTPRINT::OnCloseTimer(), DIALOG_SHIM::OnCloseWindow(), NETLIST_DIALOG::OnDelGenerator(), DIALOG_SYMBOL_PROPERTIES::OnEditLibrarySymbol(), DIALOG_SYMBOL_PROPERTIES::OnEditSymbol(), DIALOG_SYMBOL_PROPERTIES::OnExchangeSymbol(), PCB_ONE_LAYER_SELECTOR::OnLeftGridCellClick(), PCB_ONE_LAYER_SELECTOR::OnRightGridCellClick(), DIALOG_SYMBOL_PROPERTIES::OnUpdateSymbol(), DIALOG_CHOOSE_FOOTPRINT::OnUseBrowser(), DIALOG_PUSH_PAD_PROPERTIES::PadPropertiesAccept(), and DIALOG_SHIM::~DIALOG_SHIM().

◆ ensureSelectedNetIsVisible()

int DIALOG_COPPER_ZONE::ensureSelectedNetIsVisible ( int  selectedNetCode,
wxArrayString &  netsList 
)
private

Definition at line 831 of file dialog_copper_zones.cpp.

832 {
833  int selectedIndex = 0;
834  if( selectedNetCode > INVALID_NET_CODE )
835  {
836  NETINFO_ITEM* selectedNet = m_Parent->GetBoard()->FindNet( selectedNetCode );
837 
838  if( selectedNet )
839  {
840  const wxString& netName = getUnescapedNetName( selectedNet );
841  selectedIndex = netsList.Index( netName );
842 
843  if( wxNOT_FOUND == selectedIndex )
844  {
845  // the currently selected net must *always* be visible.
846  // <no net> is the zero'th index, so pick next lowest
847  netsList.Insert( netName, 1 );
848  selectedIndex = 1;
849  }
850  }
851  }
852 
853  return selectedIndex;
854 }
static constexpr int INVALID_NET_CODE
NETINFO_ITEM * FindNet(int aNetcode) const
Search for a net with the given netcode.
Definition: board.cpp:1325
PCB_BASE_FRAME * m_Parent
Handle the data for a net.
Definition: netinfo.h:66
BOARD * GetBoard() const
wxString getUnescapedNetName(const NETINFO_ITEM *net)

References BOARD::FindNet(), PCB_BASE_FRAME::GetBoard(), getUnescapedNetName(), INVALID_NET_CODE, and m_Parent.

Referenced by updateDisplayedListOfNets().

◆ ExportSetupToOtherCopperZones()

void DIALOG_COPPER_ZONE::ExportSetupToOtherCopperZones ( wxCommandEvent &  event)
overrideprivatevirtual

Reimplemented from DIALOG_COPPER_ZONE_BASE.

Definition at line 629 of file dialog_copper_zones.cpp.

630 {
631  if( !AcceptOptions( true ) )
632  return;
633 
634  // Export settings ( but layer and netcode ) to others copper zones
635  BOARD* pcb = m_Parent->GetBoard();
636 
637  for( ZONE* zone : pcb->Zones() )
638  {
639  // Cannot export settings from a copper zone
640  // to a zone keepout:
641  if( zone->GetIsRuleArea() )
642  continue;
643 
644  m_settings.ExportSetting( *zone, false ); // false = partial export
645  m_settingsExported = true;
646  m_Parent->OnModify();
647  }
648 }
ZONES & Zones()
Definition: board.h:239
bool AcceptOptions(bool aUseExportableSetupOnly=false)
PCB_BASE_FRAME * m_Parent
void ExportSetting(ZONE &aTarget, bool aFullExport=true) const
Function ExportSetting copy settings to a given zone.
Handle a list of polygons defining a copper zone.
Definition: zone.h:56
virtual void OnModify()
Must be called after a change in order to set the "modify" flag of the current screen and update the ...
Information pertinent to a Pcbnew printed circuit board.
Definition: board.h:190
BOARD * GetBoard() const

References AcceptOptions(), ZONE_SETTINGS::ExportSetting(), PCB_BASE_FRAME::GetBoard(), m_Parent, m_settings, m_settingsExported, PCB_BASE_FRAME::OnModify(), and BOARD::Zones().

◆ finishDialogSettings()

void DIALOG_SHIM::finishDialogSettings ( )
protectedinherited

In all dialogs, we must call the same functions to fix minimal dlg size, the default position and perhaps some others to fix a few issues depending on Windows Managers this helper function does these calls.

finishDialogSettings must be called from derived classes after all widgets have been initialized, and therefore their size fixed. If TransferDataToWindow() is used to initialize widgets, at the end of TransferDataToWindow, or better yet, at end of a wxInitDialogEvent handler.

Definition at line 151 of file dialog_shim.cpp.

152 {
153  // must be called from the constructor of derived classes,
154  // when all widgets are initialized, and therefore their size fixed
155 
156  // SetSizeHints fixes the minimal size of sizers in the dialog
157  // (SetSizeHints calls Fit(), so no need to call it)
158  GetSizer()->SetSizeHints( this );
159 }

Referenced by DIALOG_ANNOTATE::DIALOG_ANNOTATE(), DIALOG_BOARD_REANNOTATE::DIALOG_BOARD_REANNOTATE(), DIALOG_BOARD_SETUP::DIALOG_BOARD_SETUP(), DIALOG_BOM::DIALOG_BOM(), DIALOG_BUS_MANAGER::DIALOG_BUS_MANAGER(), DIALOG_CHANGE_SYMBOLS::DIALOG_CHANGE_SYMBOLS(), DIALOG_CLEANUP_TRACKS_AND_VIAS::DIALOG_CLEANUP_TRACKS_AND_VIAS(), DIALOG_DIMENSION_PROPERTIES::DIALOG_DIMENSION_PROPERTIES(), DIALOG_DRC::DIALOG_DRC(), DIALOG_EDIT_SYMBOLS_LIBID::DIALOG_EDIT_SYMBOLS_LIBID(), DIALOG_ENUM_PADS::DIALOG_ENUM_PADS(), DIALOG_ERC::DIALOG_ERC(), DIALOG_EXCHANGE_FOOTPRINTS::DIALOG_EXCHANGE_FOOTPRINTS(), DIALOG_EXPORT_3DFILE::DIALOG_EXPORT_3DFILE(), DIALOG_EXPORT_IDF3::DIALOG_EXPORT_IDF3(), DIALOG_EXPORT_STEP::DIALOG_EXPORT_STEP(), DIALOG_EXPORT_SVG::DIALOG_EXPORT_SVG(), DIALOG_FOOTPRINT_CHECKER::DIALOG_FOOTPRINT_CHECKER(), DIALOG_FOOTPRINT_PROPERTIES::DIALOG_FOOTPRINT_PROPERTIES(), DIALOG_FOOTPRINT_PROPERTIES_FP_EDITOR::DIALOG_FOOTPRINT_PROPERTIES_FP_EDITOR(), DIALOG_FOOTPRINT_WIZARD_LIST::DIALOG_FOOTPRINT_WIZARD_LIST(), DIALOG_GENCAD_EXPORT_OPTIONS::DIALOG_GENCAD_EXPORT_OPTIONS(), DIALOG_GLOBAL_EDIT_TEXT_AND_GRAPHICS::DIALOG_GLOBAL_EDIT_TEXT_AND_GRAPHICS(), DIALOG_GLOBAL_EDIT_TRACKS_AND_VIAS::DIALOG_GLOBAL_EDIT_TRACKS_AND_VIAS(), DIALOG_GLOBAL_LIB_TABLE_CONFIG::DIALOG_GLOBAL_LIB_TABLE_CONFIG(), DIALOG_GRID_SETTINGS::DIALOG_GRID_SETTINGS(), DIALOG_GROUP_PROPERTIES::DIALOG_GROUP_PROPERTIES(), DIALOG_IMAGE_EDITOR::DIALOG_IMAGE_EDITOR(), DIALOG_IMPORTED_LAYERS::DIALOG_IMPORTED_LAYERS(), DIALOG_INSPECTOR::DIALOG_INSPECTOR(), DIALOG_JUNCTION_PROPS::DIALOG_JUNCTION_PROPS(), DIALOG_LIB_NEW_SYMBOL::DIALOG_LIB_NEW_SYMBOL(), DIALOG_LIB_SHAPE_PROPERTIES::DIALOG_LIB_SHAPE_PROPERTIES(), DIALOG_LIB_SYMBOL_PROPERTIES::DIALOG_LIB_SYMBOL_PROPERTIES(), DIALOG_LIB_TEXT_PROPERTIES::DIALOG_LIB_TEXT_PROPERTIES(), DIALOG_LINE_WIRE_BUS_PROPERTIES::DIALOG_LINE_WIRE_BUS_PROPERTIES(), DIALOG_LIST_HOTKEYS::DIALOG_LIST_HOTKEYS(), DIALOG_LOCKED_ITEMS_QUERY::DIALOG_LOCKED_ITEMS_QUERY(), DIALOG_MOVE_EXACT::DIALOG_MOVE_EXACT(), DIALOG_NET_INSPECTOR::DIALOG_NET_INSPECTOR(), DIALOG_NETLIST::DIALOG_NETLIST(), DIALOG_NON_COPPER_ZONES_EDITOR::DIALOG_NON_COPPER_ZONES_EDITOR(), DIALOG_PAD_PRIMITIVE_POLY_PROPS::DIALOG_PAD_PRIMITIVE_POLY_PROPS(), DIALOG_PAD_PRIMITIVES_PROPERTIES::DIALOG_PAD_PRIMITIVES_PROPERTIES(), DIALOG_PAD_PROPERTIES::DIALOG_PAD_PROPERTIES(), DIALOG_PASTE_SPECIAL::DIALOG_PASTE_SPECIAL(), DIALOG_PIN_PROPERTIES::DIALOG_PIN_PROPERTIES(), DIALOG_PLOT_SCHEMATIC::DIALOG_PLOT_SCHEMATIC(), DIALOG_POSITION_RELATIVE::DIALOG_POSITION_RELATIVE(), DIALOG_PRINT_GENERIC::DIALOG_PRINT_GENERIC(), DIALOG_PRINT_USING_PRINTER::DIALOG_PRINT_USING_PRINTER(), DIALOG_PUSH_PAD_PROPERTIES::DIALOG_PUSH_PAD_PROPERTIES(), DIALOG_REGULATOR_FORM::DIALOG_REGULATOR_FORM(), DIALOG_RULE_AREA_PROPERTIES::DIALOG_RULE_AREA_PROPERTIES(), DIALOG_SCHEMATIC_SETUP::DIALOG_SCHEMATIC_SETUP(), DIALOG_SELECT_3DMODEL::DIALOG_SELECT_3DMODEL(), DIALOG_SHEET_PIN_PROPERTIES::DIALOG_SHEET_PIN_PROPERTIES(), DIALOG_SHEET_PROPERTIES::DIALOG_SHEET_PROPERTIES(), DIALOG_SWAP_LAYERS::DIALOG_SWAP_LAYERS(), DIALOG_SYMBOL_FIELDS_TABLE::DIALOG_SYMBOL_FIELDS_TABLE(), DIALOG_SYMBOL_PROPERTIES::DIALOG_SYMBOL_PROPERTIES(), DIALOG_TARGET_PROPERTIES::DIALOG_TARGET_PROPERTIES(), DIALOG_TEXT_AND_LABEL_PROPERTIES::DIALOG_TEXT_AND_LABEL_PROPERTIES(), DIALOG_TEXT_PROPERTIES::DIALOG_TEXT_PROPERTIES(), DIALOG_TRACK_VIA_PROPERTIES::DIALOG_TRACK_VIA_PROPERTIES(), DIALOG_TRACK_VIA_SIZE::DIALOG_TRACK_VIA_SIZE(), DIALOG_UNUSED_PAD_LAYERS::DIALOG_UNUSED_PAD_LAYERS(), DIALOG_UPDATE_FROM_PCB::DIALOG_UPDATE_FROM_PCB(), DIALOG_UPDATE_PCB::DIALOG_UPDATE_PCB(), DIALOG_UPDATE_SYMBOL_FIELDS::DIALOG_UPDATE_SYMBOL_FIELDS(), DIALOG_CONSTRAINTS_REPORTER::FinishInitialization(), PAGED_DIALOG::finishInitialization(), DIALOG_FIELD_PROPERTIES::init(), DIALOG_EDIT_LIBRARY_TABLES::InstallPanel(), NETLIST_DIALOG::NETLIST_DIALOG(), DIALOG_GRAPHIC_ITEM_PROPERTIES::OnInitDlg(), DIALOG_SHEET_PROPERTIES::OnInitDlg(), DIALOG_SYMBOL_PROPERTIES::OnInitDlg(), DIALOG_SPICE_MODEL::onInitDlg(), DIALOG_SIM_SETTINGS::onInitDlg(), DIALOG_SIGNAL_LIST::TransferDataToWindow(), DIALOG_BOARD_STATISTICS::TransferDataToWindow(), and DIALOG_COLOR_PICKER::TransferDataToWindow().

◆ getSortedNetNamesList()

wxArrayString DIALOG_COPPER_ZONE::getSortedNetNamesList ( )
private

Definition at line 758 of file dialog_copper_zones.cpp.

759 {
760  wxArrayString sortedNetNames;
761 
762  for( NETINFO_ITEM* net : m_netInfoItemList )
763  {
764  const wxString& netName = getUnescapedNetName( net );
765  sortedNetNames.Add( netName );
766  }
767 
768  return sortedNetNames;
769 }
std::vector< NETINFO_ITEM * > m_netInfoItemList
Handle the data for a net.
Definition: netinfo.h:66
wxString getUnescapedNetName(const NETINFO_ITEM *net)

References getUnescapedNetName(), and m_netInfoItemList.

Referenced by buildListOfNetsToDisplay().

◆ GetType()

HOLDER_TYPE KIWAY_HOLDER::GetType ( ) const
inlineinherited

Definition at line 46 of file kiway_holder.h.

46 { return m_type; }
HOLDER_TYPE m_type
Definition: kiway_holder.h:76

References KIWAY_HOLDER::m_type.

Referenced by DIALOG_SHIM::DIALOG_SHIM().

◆ getUnescapedNetName()

wxString DIALOG_COPPER_ZONE::getUnescapedNetName ( const NETINFO_ITEM net)
private

Definition at line 857 of file dialog_copper_zones.cpp.

858 {
859  return UnescapeString( net->GetNetname() );
860 }
const wxString & GetNetname() const
Definition: netinfo.h:121
wxString UnescapeString(const wxString &aSource)

References NETINFO_ITEM::GetNetname(), and UnescapeString().

Referenced by buildListOfNets(), ensureSelectedNetIsVisible(), and getSortedNetNamesList().

◆ GetUserUnits()

◆ handleRemoveIslandsSelection()

void DIALOG_COPPER_ZONE::handleRemoveIslandsSelection ( )
private

Definition at line 398 of file dialog_copper_zones.cpp.

399 {
400  bool noNetSelected = m_currentlySelectedNetcode == INVALID_NET_CODE;
401  bool enableSize = !noNetSelected && ( m_cbRemoveIslands->GetSelection() == 2 );
402 
403  // Zones with no net never have islands removed
404  m_cbRemoveIslands->Enable( !noNetSelected );
405  m_islandThresholdLabel->Enable( enableSize );
406  m_islandThresholdUnits->Enable( enableSize );
407  m_tcIslandThreshold->Enable( enableSize );
408 }
static constexpr int INVALID_NET_CODE

References INVALID_NET_CODE, DIALOG_COPPER_ZONE_BASE::m_cbRemoveIslands, m_currentlySelectedNetcode, DIALOG_COPPER_ZONE_BASE::m_islandThresholdLabel, DIALOG_COPPER_ZONE_BASE::m_islandThresholdUnits, and DIALOG_COPPER_ZONE_BASE::m_tcIslandThreshold.

Referenced by OnNetSelectionUpdated(), OnRemoveIslandsSelection(), and TransferDataToWindow().

◆ horizPixelsFromDU()

int DIALOG_SHIM::horizPixelsFromDU ( int  x) const
protectedinherited

Convert an integer number of dialog units to pixels, horizontally.

See SetSizeInDU or wxDialog documentation for more information.

Definition at line 169 of file dialog_shim.cpp.

170 {
171  wxSize sz( x, 0 );
172  return ConvertDialogToPixels( sz ).x;
173 }

Referenced by DIALOG_CHOOSE_FOOTPRINT::DIALOG_CHOOSE_FOOTPRINT(), and DIALOG_CHOOSE_SYMBOL::DIALOG_CHOOSE_SYMBOL().

◆ isAutoGenerated()

bool DIALOG_COPPER_ZONE::isAutoGenerated ( const wxString &  netName)
private

Definition at line 816 of file dialog_copper_zones.cpp.

817 {
818  return netName.StartsWith( "Net-(" ) || netName.StartsWith( "unconnected-(" );
819 }

Referenced by applyHideFilterIfRequired().

◆ IsCtrl()

static bool DIALOG_SHIM::IsCtrl ( int  aChar,
const wxKeyEvent &  e 
)
inlinestaticinherited

Definition at line 126 of file dialog_shim.h.

127  {
128  return e.GetKeyCode() == aChar && e.ControlDown() && !e.AltDown() &&
129  !e.ShiftDown() && !e.MetaDown();
130  }

◆ IsQuasiModal()

◆ IsShiftCtrl()

static bool DIALOG_SHIM::IsShiftCtrl ( int  aChar,
const wxKeyEvent &  e 
)
inlinestaticinherited

Definition at line 132 of file dialog_shim.h.

133  {
134  return e.GetKeyCode() == aChar && e.ControlDown() && !e.AltDown() &&
135  e.ShiftDown() && !e.MetaDown();
136  }

◆ Kiway()

KIWAY& KIWAY_HOLDER::Kiway ( ) const
inlineinherited

Return a reference to the KIWAY that this object has an opportunity to participate in.

A KIWAY_HOLDER is not necessarily a KIWAY_PLAYER.

Definition at line 53 of file kiway_holder.h.

54  {
55  wxASSERT( m_kiway ); // smoke out bugs in Debug build, then Release runs fine.
56  return *m_kiway;
57  }
KIWAY * m_kiway
Definition: kiway_holder.h:75

References KIWAY_HOLDER::m_kiway.

Referenced by PROJECT_TREE_ITEM::Activate(), FOOTPRINT_VIEWER_FRAME::AddFootprintToPCB(), PCB_BASE_EDIT_FRAME::AddLibrary(), SYMBOL_EDIT_FRAME::AddLibraryFile(), SYMBOL_EDITOR_CONTROL::AddSymbolToSchematic(), SYMBOL_EDIT_FRAME::canCloseWindow(), SCH_EDIT_FRAME::canCloseWindow(), KICAD_MANAGER_FRAME::CloseProject(), COMMON_CONTROL::ConfigurePaths(), DIALOG_CHOOSE_FOOTPRINT::ConstructRightPanel(), DIALOG_CHOOSE_SYMBOL::ConstructRightPanel(), PCB_BASE_FRAME::CreateAndShow3D_Frame(), FOOTPRINT_EDITOR_CONTROL::CreateFootprint(), CVPCB_MAINFRAME::CVPCB_MAINFRAME(), DIALOG_RESCUE_EACH::DIALOG_RESCUE_EACH(), DIALOG_SHIM::DIALOG_SHIM(), SCH_EDIT_FRAME::doCloseWindow(), FIELDS_GRID_TRICKS::doPopupSelection(), FIELDS_EDITOR_GRID_TRICKS::doPopupSelection(), BOARD_EDITOR_CONTROL::EditFpInFpEditor(), SCH_EDITOR_CONTROL::EditWithSymbolEditor(), BACK_ANNOTATE::FetchNetlistFromPCB(), KICAD_MANAGER_FRAME::ImportNonKiCadProject(), SCRIPTING_TOOL::Init(), EDA_DRAW_FRAME::IsScriptingConsoleVisible(), KICAD_MANAGER_FRAME::language_change(), KIWAY_PLAYER::language_change(), DIALOG_CHANGE_SYMBOLS::launchMatchIdSymbolBrowser(), DIALOG_CHANGE_SYMBOLS::launchNewIdSymbolBrowser(), LIB_TREE_MODEL_ADAPTER::LIB_TREE_MODEL_ADAPTER(), TEXT_BUTTON_SYMBOL_CHOOSER::OnButtonClick(), TEXT_BUTTON_FP_CHOOSER::OnButtonClick(), PL_EDITOR_FRAME::OnExit(), SCH_EDIT_FRAME::OnExit(), FOOTPRINT_EDIT_FRAME::OnExitKiCad(), FOOTPRINT_VIEWER_FRAME::OnExitKiCad(), SYMBOL_EDIT_FRAME::OnExitKiCad(), SAVE_AS_TRAVERSER::OnFile(), DIALOG_CHOOSE_SYMBOL::OnInitDialog(), SCH_EDIT_FRAME::OnOpenCvpcb(), SCH_EDIT_FRAME::OnOpenPcbnew(), EDA_BASE_FRAME::OnPreferences(), DIALOG_SYMBOL_REMAP::OnRemapSymbols(), DIALOG_FIELD_PROPERTIES::OnTextValueSelectButtonClick(), KICAD_MANAGER_FRAME::OnUnarchiveFiles(), FOOTPRINT_EDIT_FRAME::OnUpdateLoadFootprintFromBoard(), SCH_EDIT_FRAME::OnUpdatePCB(), FOOTPRINT_EDIT_FRAME::OnUpdateSaveFootprintToBoard(), PANEL_PCBNEW_COLOR_SETTINGS::PANEL_PCBNEW_COLOR_SETTINGS(), SCH_BASE_FRAME::PickSymbolFromLibBrowser(), KIWAY_HOLDER::Prj(), SCH_EDIT_TOOL::Properties(), BACK_ANNOTATE::PushNewLinksToPCB(), FOOTPRINT_WIZARD_FRAME::PythonPluginsReload(), FOOTPRINT_VIEWER_FRAME::ReCreateFootprintList(), SCH_EDITOR_CONTROL::rescueProject(), EE_INSPECTION_TOOL::RunSimulation(), SYMBOL_EDIT_FRAME::Save(), CVPCB_MAINFRAME::SaveFootprintAssociation(), FOOTPRINT_EDIT_FRAME::SaveFootprintToBoard(), LIB_TREE_MODEL_ADAPTER::SavePinnedItems(), EDA_DRAW_FRAME::ScriptingConsoleEnableDisable(), SCH_EDIT_FRAME::SendCrossProbeClearHighlight(), SCH_EDIT_FRAME::SendCrossProbeNetName(), PCB_EDIT_FRAME::SendCrossProbeNetName(), CVPCB_MAINFRAME::SendMessageToEESCHEMA(), PCB_EDIT_FRAME::SendMessageToEESCHEMA(), SCH_EDIT_FRAME::SendMessageToPCBNEW(), SCH_EDIT_FRAME::sendNetlistToCvpcb(), SCH_EDIT_FRAME::SetCrossProbeConnection(), SYMBOL_EDIT_FRAME::SetCurSymbol(), CVPCB_CONTROL::ShowFootprintViewer(), COMMON_CONTROL::ShowLibraryTable(), COMMON_CONTROL::ShowPlayer(), KICAD_MANAGER_CONTROL::ShowPlayer(), SCH_EDIT_FRAME::ShowSchematicSetupDialog(), SIM_PLOT_FRAME::SIM_PLOT_FRAME(), BOARD_EDITOR_CONTROL::UpdateSchematicFromPCB(), and DIALOG_EXCHANGE_FOOTPRINTS::ViewAndSelectFootprint().

◆ loadPersistentNetSortConfigurations()

void DIALOG_COPPER_ZONE::loadPersistentNetSortConfigurations ( )
private

Definition at line 614 of file dialog_copper_zones.cpp.

615 {
617  int savedConfig{ cfg->m_Zones.net_sort_mode };
618 
619  if( savedConfig == DEFAULT_SORT_CONFIG )
620  {
621  savedConfig = HIDE_ANONYMOUS_NETS;
622  }
623 
624  m_hideAutoGeneratedNets = ( savedConfig & HIDE_ANONYMOUS_NETS );
625  m_netSortingByPadCount = ( savedConfig & SORT_BY_PAD_COUNT );
626 }
PCB_BASE_FRAME * m_Parent
static constexpr int HIDE_ANONYMOUS_NETS
static constexpr int DEFAULT_SORT_CONFIG
PCBNEW_SETTINGS * GetPcbNewSettings() const
static constexpr int SORT_BY_PAD_COUNT

References DEFAULT_SORT_CONFIG, PCB_BASE_FRAME::GetPcbNewSettings(), HIDE_ANONYMOUS_NETS, m_hideAutoGeneratedNets, m_netSortingByPadCount, m_Parent, PCBNEW_SETTINGS::m_Zones, PCBNEW_SETTINGS::ZONES::net_sort_mode, and SORT_BY_PAD_COUNT.

Referenced by TransferDataToWindow().

◆ OnButtonCancelClick()

void DIALOG_COPPER_ZONE::OnButtonCancelClick ( wxCommandEvent &  event)
overrideprivatevirtual

Reimplemented from DIALOG_COPPER_ZONE_BASE.

Definition at line 369 of file dialog_copper_zones.cpp.

370 {
371  // After an "Export Settings to Other Zones" cancel and close must return
372  // ZONE_EXPORT_VALUES instead of wxID_CANCEL.
373  Close( true );
374 }

◆ OnCharHook()

void DIALOG_SHIM::OnCharHook ( wxKeyEvent &  aEvt)
protectedvirtualinherited

Reimplemented in DIALOG_CHOOSE_SYMBOL, HK_PROMPT_DIALOG, and HTML_MESSAGE_BOX.

Definition at line 570 of file dialog_shim.cpp.

571 {
572  if( aEvt.GetKeyCode() == 'U' && aEvt.GetModifiers() == wxMOD_CONTROL )
573  {
574  if( m_parentFrame )
575  {
577  return;
578  }
579  }
580  // shift-return (Mac default) or Ctrl-Return (GTK) for OK
581  else if( aEvt.GetKeyCode() == WXK_RETURN && ( aEvt.ShiftDown() || aEvt.ControlDown() ) )
582  {
583  wxPostEvent( this, wxCommandEvent( wxEVT_COMMAND_BUTTON_CLICKED, wxID_OK ) );
584  return;
585  }
586  else if( aEvt.GetKeyCode() == WXK_TAB && !aEvt.ControlDown() )
587  {
588  wxWindow* currentWindow = wxWindow::FindFocus();
589  int currentIdx = -1;
590  int delta = aEvt.ShiftDown() ? -1 : 1;
591 
592  auto advance = [&]( int& idx )
593  {
594  // Wrap-around modulus
595  int size = m_tabOrder.size();
596  idx = ( ( idx + delta ) % size + size ) % size;
597  };
598 
599  for( size_t i = 0; i < m_tabOrder.size(); ++i )
600  {
601  if( m_tabOrder[i] == currentWindow )
602  {
603  currentIdx = (int) i;
604  break;
605  }
606  }
607 
608  if( currentIdx >= 0 )
609  {
610  advance( currentIdx );
611 
612  //todo: We don't currently have non-textentry dialog boxes but this will break if
613  // we add them.
614 #ifdef __APPLE__
615  while( dynamic_cast<wxTextEntry*>( m_tabOrder[ currentIdx ] ) == nullptr )
616  advance( currentIdx );
617 #endif
618 
619  m_tabOrder[ currentIdx ]->SetFocus();
620  return;
621  }
622  }
623 
624  aEvt.Skip();
625 }
std::vector< wxWindow * > m_tabOrder
Definition: dialog_shim.h:220
EDA_BASE_FRAME * m_parentFrame
Definition: dialog_shim.h:218
virtual void ToggleUserUnits()
constexpr int delta

References delta, DIALOG_SHIM::m_parentFrame, DIALOG_SHIM::m_tabOrder, and EDA_BASE_FRAME::ToggleUserUnits().

Referenced by DIALOG_TEXT_PROPERTIES::DIALOG_TEXT_PROPERTIES(), and DIALOG_TEXT_PROPERTIES::~DIALOG_TEXT_PROPERTIES().

◆ OnClose()

void DIALOG_COPPER_ZONE::OnClose ( wxCloseEvent &  event)
overrideprivatevirtual

Reimplemented from DIALOG_COPPER_ZONE_BASE.

Definition at line 432 of file dialog_copper_zones.cpp.

433 {
434  SetReturnCode( m_settingsExported ? ZONE_EXPORT_VALUES : wxID_CANCEL );
435  event.Skip();
436 }
#define ZONE_EXPORT_VALUES
Definition: zones.h:37

References m_settingsExported, and ZONE_EXPORT_VALUES.

◆ OnLayerSelection()

void DIALOG_COPPER_ZONE::OnLayerSelection ( wxDataViewEvent &  event)
overrideprivatevirtual

Reimplemented from DIALOG_COPPER_ZONE_BASE.

Definition at line 571 of file dialog_copper_zones.cpp.

572 {
573  if( event.GetColumn() != 0 )
574  return;
575 
576  int row = m_layers->ItemToRow( event.GetItem() );
577 
578  bool checked = m_layers->GetToggleValue( row, 0 );
579 
580  wxVariant layerID;
581  m_layers->GetValue( layerID, row, 2 );
582 
583  m_settings.m_Layers.set( ToLAYER_ID( layerID.GetInteger() ), checked );
584 }
PCB_LAYER_ID ToLAYER_ID(int aLayer)
Definition: lset.cpp:905

References DIALOG_COPPER_ZONE_BASE::m_layers, ZONE_SETTINGS::m_Layers, m_settings, and ToLAYER_ID().

◆ OnModify()

◆ OnNetSelectionUpdated()

void DIALOG_COPPER_ZONE::OnNetSelectionUpdated ( wxCommandEvent &  event)
overrideprivatevirtual

Reimplemented from DIALOG_COPPER_ZONE_BASE.

Definition at line 377 of file dialog_copper_zones.cpp.

378 {
380 
381  updateInfoBar();
382 
383  // When info bar is updated, the nets-list shrinks.
384  // Therefore, we need to reestablish the list and maintain the
385  // correct selection
387 
389 }

References handleRemoveIslandsSelection(), updateCurrentNetSelection(), updateDisplayedListOfNets(), and updateInfoBar().

◆ OnNetSortingOptionSelected()

void DIALOG_COPPER_ZONE::OnNetSortingOptionSelected ( wxCommandEvent &  event)
overrideprivatevirtual

Reimplemented from DIALOG_COPPER_ZONE_BASE.

Definition at line 587 of file dialog_copper_zones.cpp.

588 {
590 }

References updateDisplayedListOfNets().

◆ OnPaint()

void DIALOG_SHIM::OnPaint ( wxPaintEvent &  event)
inherited

Definition at line 380 of file dialog_shim.cpp.

381 {
382  if( m_firstPaintEvent )
383  {
385 
386  selectAllInTextCtrls( GetChildren() );
387 
390  else
391  KIPLATFORM::UI::ForceFocus( this ); // Focus the dialog itself
392 
393  m_firstPaintEvent = false;
394  }
395 
396  event.Skip();
397 }
wxWindow * m_initialFocusTarget
Definition: dialog_shim.h:211
bool m_firstPaintEvent
Definition: dialog_shim.h:210
void ForceFocus(wxWindow *aWindow)
Pass the current focus to the window.
Definition: gtk/ui.cpp:44
void FixupCancelButtonCmdKeyCollision(wxWindow *aWindow)
Definition: gtk/ui.cpp:71
static void selectAllInTextCtrls(wxWindowList &children)

References KIPLATFORM::UI::FixupCancelButtonCmdKeyCollision(), KIPLATFORM::UI::ForceFocus(), DIALOG_SHIM::m_firstPaintEvent, DIALOG_SHIM::m_initialFocusTarget, and selectAllInTextCtrls().

Referenced by DIALOG_SHIM::DIALOG_SHIM().

◆ OnRemoveIslandsSelection()

void DIALOG_COPPER_ZONE::OnRemoveIslandsSelection ( wxCommandEvent &  event)
overrideprivatevirtual

Reimplemented from DIALOG_COPPER_ZONE_BASE.

Definition at line 392 of file dialog_copper_zones.cpp.

393 {
395 }

References handleRemoveIslandsSelection().

◆ OnShowNetNameFilterChange()

void DIALOG_COPPER_ZONE::OnShowNetNameFilterChange ( wxCommandEvent &  event)
overrideprivatevirtual

Reimplemented from DIALOG_COPPER_ZONE_BASE.

Definition at line 651 of file dialog_copper_zones.cpp.

652 {
654 }

References updateDisplayedListOfNets().

◆ OnStyleSelection()

void DIALOG_COPPER_ZONE::OnStyleSelection ( wxCommandEvent &  event)
overrideprivatevirtual

◆ OnUpdateUI()

void DIALOG_COPPER_ZONE::OnUpdateUI ( wxUpdateUIEvent &  )
overrideprivatevirtual

◆ Prj()

PROJECT & KIWAY_HOLDER::Prj ( ) const
inherited

Return a reference to the PROJECT associated with this KIWAY.

Definition at line 36 of file kiway_holder.cpp.

37 {
38  return Kiway().Prj();
39 }
KIWAY & Kiway() const
Return a reference to the KIWAY that this object has an opportunity to participate in.
Definition: kiway_holder.h:53
virtual PROJECT & Prj() const
Return the PROJECT associated with this KIWAY.
Definition: kiway.cpp:190

References KIWAY_HOLDER::Kiway(), and KIWAY::Prj().

Referenced by PCB_BASE_EDIT_FRAME::AddLibrary(), SYMBOL_LIBRARY_MANAGER::addLibrary(), SYMBOL_EDIT_FRAME::addLibTableEntry(), SCH_EDIT_FRAME::AppendSchematic(), AskSaveBoardFileName(), DIALOG_SYMBOL_REMAP::backupProject(), CVPCB_MAINFRAME::buildEquivalenceList(), CVPCB_MAINFRAME::BuildLibrariesListBox(), SIM_PLOT_FRAME::canCloseWindow(), PANEL_FP_PROPERTIES_3D_MODEL::Cfg3DPath(), KICAD_MANAGER_FRAME::CloseProject(), DIALOG_GEN_FOOTPRINT_POSITION::CreateAsciiFiles(), DIALOG_GEN_FOOTPRINT_POSITION::CreateGerberFiles(), PCB_BASE_EDIT_FRAME::createNewLibrary(), PCB_BASE_EDIT_FRAME::CreateNewProjectLibrary(), DIALOG_SYMBOL_REMAP::createProjectSymbolLibTable(), SCH_EDIT_FRAME::CreateScreens(), FOOTPRINT_EDIT_FRAME::DeleteFootprintFromLibrary(), DIALOG_ANNOTATE::DIALOG_ANNOTATE(), DIALOG_BOARD_REANNOTATE::DIALOG_BOARD_REANNOTATE(), DIALOG_BOARD_SETUP::DIALOG_BOARD_SETUP(), DIALOG_BOARD_STATISTICS::DIALOG_BOARD_STATISTICS(), DIALOG_CHANGE_SYMBOLS::DIALOG_CHANGE_SYMBOLS(), DIALOG_CHOOSE_FOOTPRINT::DIALOG_CHOOSE_FOOTPRINT(), DIALOG_CHOOSE_SYMBOL::DIALOG_CHOOSE_SYMBOL(), DIALOG_CONFIG_EQUFILES::DIALOG_CONFIG_EQUFILES(), DIALOG_EXCHANGE_FOOTPRINTS::DIALOG_EXCHANGE_FOOTPRINTS(), DIALOG_EXPORT_SVG::DIALOG_EXPORT_SVG(), DIALOG_GEN_FOOTPRINT_POSITION::DIALOG_GEN_FOOTPRINT_POSITION(), DIALOG_NETLIST::DIALOG_NETLIST(), DIALOG_PAGES_SETTINGS::DIALOG_PAGES_SETTINGS(), DIALOG_PLOT::DIALOG_PLOT(), DIALOG_PLOT_SCHEMATIC::DIALOG_PLOT_SCHEMATIC(), DIALOG_SCHEMATIC_SETUP::DIALOG_SCHEMATIC_SETUP(), DIALOG_SYMBOL_REMAP::DIALOG_SYMBOL_REMAP(), DIALOG_UPDATE_FROM_PCB::DIALOG_UPDATE_FROM_PCB(), DIALOG_UPDATE_PCB::DIALOG_UPDATE_PCB(), PL_DRAW_PANEL_GAL::DisplayDrawingSheet(), FOOTPRINT_PREVIEW_PANEL::DisplayFootprint(), SYMBOL_VIEWER_FRAME::DisplayLibInfos(), CVPCB_MAINFRAME::DisplayStatus(), PCB_EDIT_FRAME::doAutoSave(), SCH_EDIT_FRAME::doAutoSave(), PCB_BASE_EDIT_FRAME::doCloseWindow(), FOOTPRINT_EDIT_FRAME::doCloseWindow(), SCH_EDIT_FRAME::doCloseWindow(), FIELDS_GRID_TRICKS::doPopupSelection(), FIELDS_EDITOR_GRID_TRICKS::doPopupSelection(), KICAD_MANAGER_CONTROL::Execute(), PCB_EDIT_FRAME::Export_IDF3(), PCB_EDIT_FRAME::ExportFootprintsToLibrary(), BOARD_EDITOR_CONTROL::ExportNetlist(), DIALOG_EXPORT_SVG::ExportSVGFile(), SYMBOL_EDITOR_CONTROL::ExportSymbolAsSVG(), SYMBOL_EDITOR_CONTROL::ExportView(), PCB_EDIT_FRAME::ExportVRML_File(), BACK_ANNOTATE::FetchNetlistFromPCB(), PCB_EDIT_FRAME::Files_io_from_id(), PCB_EDIT_FRAME::GenD356File(), DIALOG_GENDRILL::GenDrillAndMapFiles(), FOOTPRINT_VIEWER_FRAME::getCurFootprintName(), SYMBOL_EDIT_FRAME::GetCurLib(), FOOTPRINT_VIEWER_FRAME::getCurNickname(), SIM_PLOT_FRAME::getDefaultFilename(), SIM_PLOT_FRAME::getDefaultPath(), PCB_BASE_EDIT_FRAME::GetDesignRulesPath(), DISPLAY_FOOTPRINTS_FRAME::GetFootprint(), DIALOG_SYMBOL_REMAP::getLibsNotInGlobalSymbolLibTable(), SCH_BASE_FRAME::GetLibSymbol(), DIALOG_PLOT_SCHEMATIC::getOutputPath(), KICAD_MANAGER_FRAME::GetProjectFileName(), SCH_EDIT_FRAME::GetSchematicJunctionSize(), SYMBOL_VIEWER_FRAME::GetSelectedSymbol(), SCH_EDIT_FRAME::importFile(), SCH_EDITOR_CONTROL::ImportFPAssignments(), DIALOG_CONFIG_EQUFILES::Init(), FOOTPRINT_EDIT_FRAME::initLibraryTree(), SCH_EDIT_FRAME::KiwayMailIn(), SYMBOL_EDIT_FRAME::KiwayMailIn(), EDA_DRAW_FRAME::LibraryFileBrowser(), CVPCB_MAINFRAME::LoadFootprintFiles(), DIALOG_SPICE_MODEL::loadLibrary(), KICAD_MANAGER_FRAME::LoadProject(), SCH_EDIT_FRAME::LoadProject(), SCH_EDIT_FRAME::LoadProjectSettings(), PCB_EDIT_FRAME::LoadProjectSettings(), SIM_PLOT_FRAME::LoadSettings(), SCH_EDIT_FRAME::LoadSheetFromFile(), SYMBOL_EDIT_FRAME::LoadSymbolFromCurrentLib(), EDA_BASE_FRAME::LoadWindowState(), SIM_PLOT_FRAME::loadWorkbook(), SIM_PLOT_FRAME::menuSaveWorkbook(), SIM_PLOT_FRAME::menuSaveWorkbookAs(), PANEL_FP_PROPERTIES_3D_MODEL::On3DModelCellChanged(), FOOTPRINT_VIEWER_FRAME::OnActivate(), PANEL_FP_PROPERTIES_3D_MODEL::OnAdd3DModel(), DIALOG_BOARD_SETUP::OnAuxiliaryAction(), KICAD_MANAGER_FRAME::OnBrowseInFileExplorer(), TEXT_BUTTON_URL::OnButtonClick(), TEXT_BUTTON_FILE_BROWSER::OnButtonClick(), DIALOG_EDIT_SYMBOLS_LIBID::onClickOrphansButton(), DIALOG_EXPORT_STEP::onExportButton(), DIALOG_GENDRILL::OnGenReportFile(), KICAD_MANAGER_FRAME::OnIdle(), SCH_EDIT_FRAME::OnImportProject(), DIALOG_CHOOSE_SYMBOL::OnInitDialog(), DIALOG_CONFIG_EQUFILES::OnOkClick(), SCH_EDIT_FRAME::OnOpenCvpcb(), KICAD_MANAGER_FRAME::OnOpenFileInTextEditor(), DIALOG_NETLIST::OnOpenNetlistClick(), SCH_EDIT_FRAME::OnOpenPcbnew(), DIALOG_PLOT::OnOutputDirectoryBrowseClicked(), DIALOG_EXPORT_SVG::OnOutputDirectoryBrowseClicked(), DIALOG_GEN_FOOTPRINT_POSITION::OnOutputDirectoryBrowseClicked(), DIALOG_GENDRILL::OnOutputDirectoryBrowseClicked(), DIALOG_PLOT_SCHEMATIC::OnOutputDirectoryBrowseClicked(), DIALOG_SCHEMATIC_SETUP::OnPageChange(), DIALOG_BOARD_SETUP::OnPageChange(), DIALOG_SYMBOL_REMAP::OnRemapSymbols(), FOOTPRINT_EDIT_FRAME::OnSaveFootprintAsPng(), DIALOG_ERC::OnSaveReport(), DIALOG_DRC::OnSaveReport(), DIALOG_TEXT_AND_LABEL_PROPERTIES::onScintillaCharAdded(), PROPERTIES_FRAME::onScintillaCharAdded(), DIALOG_SCH_FIELD_PROPERTIES::onScintillaCharAdded(), DIALOG_SPICE_MODEL::onSelectLibrary(), SYMBOL_VIEWER_FRAME::OnSelectSymbol(), KICAD_MANAGER_FRAME::OnUnarchiveFiles(), SCH_EDIT_FRAME::OnUpdatePCB(), PCB_EDIT_FRAME::OpenProjectFiles(), SCH_EDIT_FRAME::OpenProjectFiles(), PANEL_FP_PROPERTIES_3D_MODEL::PANEL_FP_PROPERTIES_3D_MODEL(), PANEL_PREVIEW_3D_MODEL::PANEL_PREVIEW_3D_MODEL(), SCH_EDITOR_CONTROL::Paste(), FOOTPRINT_EDITOR_CONTROL::PasteFootprint(), SCH_BASE_FRAME::PickSymbolFromLibTree(), DIALOG_PLOT::Plot(), DIALOG_PLOT_SCHEMATIC::plotOneSheetDXF(), DIALOG_PLOT_SCHEMATIC::plotOneSheetHpgl(), DIALOG_CHOOSE_SYMBOL::PopulateFootprintSelector(), SCH_EDITOR_CONTROL::Print(), EDA_DRAW_FRAME::PrintDrawingSheet(), SCH_EDIT_FRAME::PrintPage(), KICAD_MANAGER_FRAME::PrintPrjInfo(), CVPCB_MAINFRAME::ReadNetListAndFpFiles(), PCB_EDIT_FRAME::RecreateCmpFileFromBoard(), FOOTPRINT_VIEWER_FRAME::ReCreateFootprintList(), SYMBOL_VIEWER_FRAME::ReCreateLibList(), FOOTPRINT_VIEWER_FRAME::ReCreateLibraryList(), SYMBOL_VIEWER_FRAME::ReCreateSymbolList(), PANEL_FP_PROPERTIES_3D_MODEL::ReloadModelsFromFootprint(), EDA_3D_VIEWER_FRAME::ReloadRequest(), DIALOG_SYMBOL_REMAP::remapSymbolToLibTable(), SYMBOL_EDIT_FRAME::replaceLibTableEntry(), SCH_EDITOR_CONTROL::RescueLegacyProject(), SCH_EDITOR_CONTROL::RescueSymbolLibTableProject(), FOOTPRINT_EDIT_FRAME::restoreLastFootprint(), FOOTPRINT_EDIT_FRAME::retainLastFootprint(), FOOTPRINT_EDITOR_CONTROL::SaveAs(), FOOTPRINT_EDIT_FRAME::SaveFootprint(), FOOTPRINT_EDIT_FRAME::SaveFootprintAs(), FOOTPRINT_EDIT_FRAME::SaveFootprintInLibrary(), SYMBOL_EDIT_FRAME::saveLibrary(), PCB_EDIT_FRAME::SavePcbFile(), SCH_EDIT_FRAME::SaveProject(), PCB_EDIT_FRAME::SaveProjectSettings(), DIALOG_BOARD_STATISTICS::saveReportClicked(), SCH_EDIT_FRAME::saveSchematicFile(), SIM_PLOT_FRAME::SaveSettings(), EDA_BASE_FRAME::SaveSettings(), SYMBOL_EDIT_FRAME::saveSymbolAs(), SCH_BASE_FRAME::saveSymbolLibTables(), SIM_PLOT_FRAME::saveWorkbook(), FOOTPRINT_VIEWER_FRAME::SelectAndViewFootprint(), PCB_BASE_FRAME::SelectLibrary(), SYMBOL_EDIT_FRAME::SelectLibraryFromList(), PCB_BASE_EDIT_FRAME::selectLibTable(), SYMBOL_EDIT_FRAME::selectSymLibTable(), FOOTPRINT_VIEWER_FRAME::setCurFootprintName(), SYMBOL_EDIT_FRAME::SetCurLib(), FOOTPRINT_VIEWER_FRAME::setCurNickname(), SYMBOL_EDIT_FRAME::SetCurSymbol(), GERBVIEW_FRAME::SetPageSettings(), EE_INSPECTION_TOOL::ShowDatasheet(), DIALOG_CHOOSE_SYMBOL::ShowFootprintFor(), COMMON_CONTROL::ShowHelp(), SYMBOL_VIEWER_FRAME::ShowModal(), FOOTPRINT_VIEWER_FRAME::ShowModal(), SCH_EDIT_FRAME::ShowSchematicSetupDialog(), SYMBOL_LIBRARY_MANAGER::symTable(), SYMBOL_TREE_SYNCHRONIZING_ADAPTER::Sync(), FOOTPRINT_EDIT_FRAME::SyncLibraryTree(), EDA_3D_VIEWER_FRAME::takeScreenshot(), PANEL_SETUP_RULES::TransferDataFromWindow(), DIALOG_SHEET_PROPERTIES::TransferDataFromWindow(), NETLIST_DIALOG::TransferDataFromWindow(), DIALOG_EDIT_SYMBOLS_LIBID::TransferDataFromWindow(), PANEL_SETUP_RULES::TransferDataToWindow(), SCH_EDIT_FRAME::updateAutoSaveFile(), DIALOG_PAGES_SETTINGS::UpdateDrawingSheetExample(), FOOTPRINT_VIEWER_FRAME::UpdateTitle(), SIM_PLOT_FRAME::updateTitle(), FOOTPRINT_EDIT_FRAME::UpdateTitle(), SCH_EDIT_FRAME::UpdateTitle(), PANEL_FP_PROPERTIES_3D_MODEL::validateModelExists(), SCH_EDIT_FRAME::WriteNetListFile(), DIALOG_FOOTPRINT_PROPERTIES::~DIALOG_FOOTPRINT_PROPERTIES(), PANEL_FP_PROPERTIES_3D_MODEL::~PANEL_FP_PROPERTIES_3D_MODEL(), and SCH_EDIT_FRAME::~SCH_EDIT_FRAME().

◆ readFilteringAndSortingCriteria()

void DIALOG_COPPER_ZONE::readFilteringAndSortingCriteria ( )
private

◆ readNetInformation()

void DIALOG_COPPER_ZONE::readNetInformation ( )
private

Definition at line 316 of file dialog_copper_zones.cpp.

317 {
318  NETINFO_LIST& netInfoList = m_Parent->GetBoard()->GetNetInfo();
319 
320  if( netInfoList.GetNetCount() > 0 )
321  {
322  buildListOfNets( netInfoList );
323  }
324 }
void buildListOfNets(const NETINFO_LIST &nets)
const NETINFO_LIST & GetNetInfo() const
Definition: board.h:679
PCB_BASE_FRAME * m_Parent
Container for NETINFO_ITEM elements, which are the nets.
Definition: netinfo.h:317
unsigned GetNetCount() const
Definition: netinfo.h:341
BOARD * GetBoard() const

References buildListOfNets(), PCB_BASE_FRAME::GetBoard(), NETINFO_LIST::GetNetCount(), BOARD::GetNetInfo(), and m_Parent.

Referenced by TransferDataToWindow().

◆ resetSize()

void DIALOG_SHIM::resetSize ( )
protectedinherited

Clear the existing dialog size and position.

This will cause the dialog size to be clear so the next time the dialog is shown the sizers will layout the dialog accordingly. This useful when there are dialog windows that size changes due to layout dependency hidden controls.

Definition at line 287 of file dialog_shim.cpp.

288 {
289  const char* hash_key;
290 
291  if( m_hash_key.size() )
292  {
293  // a special case like EDA_LIST_DIALOG, which has multiple uses.
294  hash_key = m_hash_key.c_str();
295  }
296  else
297  {
298  hash_key = typeid(*this).name();
299  }
300 
301  std::unordered_map<std::string, wxRect>::iterator it = class_map.find( hash_key );
302 
303  if( it == class_map.end() )
304  return;
305 
306  wxRect rect = it->second;
307  rect.SetSize( wxSize( 0, 0 ) );
308  class_map[ hash_key ] = rect;
309 }
std::string m_hash_key
Definition: dialog_shim.h:201
static std::unordered_map< std::string, wxRect > class_map

References class_map, and DIALOG_SHIM::m_hash_key.

Referenced by DIALOG_LIB_SYMBOL_PROPERTIES::DIALOG_LIB_SYMBOL_PROPERTIES().

◆ SetInitialFocus()

void DIALOG_SHIM::SetInitialFocus ( wxWindow *  aWindow)
inlineinherited

Sets the window (usually a wxTextCtrl) that should be focused when the dialog is shown.

Definition at line 97 of file dialog_shim.h.

98  {
99  m_initialFocusTarget = aWindow;
100  }
wxWindow * m_initialFocusTarget
Definition: dialog_shim.h:211

References DIALOG_SHIM::m_initialFocusTarget.

Referenced by DIALOG_BOM::DIALOG_BOM(), DIALOG_CHOOSE_FOOTPRINT::DIALOG_CHOOSE_FOOTPRINT(), DIALOG_CHOOSE_SYMBOL::DIALOG_CHOOSE_SYMBOL(), DIALOG_CONFIGURE_PATHS::DIALOG_CONFIGURE_PATHS(), DIALOG_FIND::DIALOG_FIND(), DIALOG_FOOTPRINT_PROPERTIES::DIALOG_FOOTPRINT_PROPERTIES(), DIALOG_FOOTPRINT_PROPERTIES_FP_EDITOR::DIALOG_FOOTPRINT_PROPERTIES_FP_EDITOR(), DIALOG_FP_PLUGIN_OPTIONS::DIALOG_FP_PLUGIN_OPTIONS(), DIALOG_GRAPHIC_ITEM_PROPERTIES::DIALOG_GRAPHIC_ITEM_PROPERTIES(), DIALOG_GRID_SETTINGS::DIALOG_GRID_SETTINGS(), DIALOG_GROUP_PROPERTIES::DIALOG_GROUP_PROPERTIES(), DIALOG_IMPORT_GFX::DIALOG_IMPORT_GFX(), DIALOG_JUNCTION_PROPS::DIALOG_JUNCTION_PROPS(), DIALOG_LIB_SHAPE_PROPERTIES::DIALOG_LIB_SHAPE_PROPERTIES(), DIALOG_LIB_TEXT_PROPERTIES::DIALOG_LIB_TEXT_PROPERTIES(), DIALOG_LINE_WIRE_BUS_PROPERTIES::DIALOG_LINE_WIRE_BUS_PROPERTIES(), DIALOG_PAD_PRIMITIVES_PROPERTIES::DIALOG_PAD_PRIMITIVES_PROPERTIES(), DIALOG_PAD_PROPERTIES::DIALOG_PAD_PROPERTIES(), DIALOG_PIN_PROPERTIES::DIALOG_PIN_PROPERTIES(), DIALOG_POSITION_RELATIVE::DIALOG_POSITION_RELATIVE(), DIALOG_SCH_FIND::DIALOG_SCH_FIND(), DIALOG_SHEET_PIN_PROPERTIES::DIALOG_SHEET_PIN_PROPERTIES(), DIALOG_SYMBOL_FIELDS_TABLE::DIALOG_SYMBOL_FIELDS_TABLE(), DIALOG_TARGET_PROPERTIES::DIALOG_TARGET_PROPERTIES(), DIALOG_TEXT_AND_LABEL_PROPERTIES::DIALOG_TEXT_AND_LABEL_PROPERTIES(), DIALOG_TEXT_PROPERTIES::DIALOG_TEXT_PROPERTIES(), DIALOG_TRACK_VIA_PROPERTIES::DIALOG_TRACK_VIA_PROPERTIES(), EDA_VIEW_SWITCHER::EDA_VIEW_SWITCHER(), HK_PROMPT_DIALOG::HK_PROMPT_DIALOG(), DIALOG_FIELD_PROPERTIES::init(), DIALOG_EXCHANGE_FOOTPRINTS::OnMatchAllClicked(), DIALOG_EXCHANGE_FOOTPRINTS::OnMatchIDClicked(), DIALOG_EXCHANGE_FOOTPRINTS::OnMatchRefClicked(), DIALOG_EXCHANGE_FOOTPRINTS::OnMatchSelectedClicked(), DIALOG_EXCHANGE_FOOTPRINTS::OnMatchValueClicked(), PANEL_FP_LIB_TABLE::PANEL_FP_LIB_TABLE(), PANEL_SYM_LIB_TABLE::PANEL_SYM_LIB_TABLE(), FOOTPRINT_EDIT_FRAME::SaveFootprintAs(), SYMBOL_EDIT_FRAME::saveSymbolAs(), DIALOG_NON_COPPER_ZONES_EDITOR::TransferDataToWindow(), DIALOG_RULE_AREA_PROPERTIES::TransferDataToWindow(), TransferDataToWindow(), and WX_TEXT_ENTRY_DIALOG::WX_TEXT_ENTRY_DIALOG().

◆ SetKiway()

void KIWAY_HOLDER::SetKiway ( wxWindow *  aDest,
KIWAY aKiway 
)
inherited

It is only used for debugging, since "this" is not a wxWindow*.

"this" is a KIWAY_HOLDER mix-in.

Parameters
aDestis the recipient of aKiway pointer.
aKiwayis often from a parent window or from KIFACE::CreateWindow().

Definition at line 43 of file kiway_holder.cpp.

44 {
45 #if defined(DEBUG)
46  // offer a trap point for debugging most any window
47  wxASSERT( aDest );
48  if( !strcmp( typeid(aDest).name(), "DIALOG_EDIT_LIBENTRY_FIELDS_IN_LIB" ) )
49  {
50  int breakhere=1;
51  ignore_unused( breakhere );
52  }
53 #endif
54 
55  ignore_unused( aDest );
56 
57  m_kiway = aKiway;
58 }
KIWAY * m_kiway
Definition: kiway_holder.h:75
const char * name
Definition: DXF_plotter.cpp:56
void ignore_unused(const T &)
Definition: ignore.h:24

References ignore_unused(), KIWAY_HOLDER::m_kiway, and name.

Referenced by BM2CMP_FRAME::BM2CMP_FRAME(), PCB::IFACE::CreateWindow(), InvokePcbLibTableEditor(), InvokeSchEditSymbolLibTable(), PCB_CALCULATOR_FRAME::PCB_CALCULATOR_FRAME(), and SIM_PLOT_FRAME::SIM_PLOT_FRAME().

◆ SetPosition()

void DIALOG_SHIM::SetPosition ( const wxPoint &  aNewPosition)
inherited

Force the position of the dialog to a new position.

Parameters
aNewPositionis the new forced position

Definition at line 190 of file dialog_shim.cpp.

191 {
192  wxDialog::SetPosition( aNewPosition );
193 
194  // Now update the stored position:
195  const char* hash_key;
196 
197  if( m_hash_key.size() )
198  {
199  // a special case like EDA_LIST_DIALOG, which has multiple uses.
200  hash_key = m_hash_key.c_str();
201  }
202  else
203  {
204  hash_key = typeid(*this).name();
205  }
206 
207  std::unordered_map<std::string, wxRect>::iterator it = class_map.find( hash_key );
208 
209  if( it == class_map.end() )
210  return;
211 
212  wxRect rect = it->second;
213  rect.SetPosition( aNewPosition );
214 
215  class_map[ hash_key ] = rect;
216 }
std::string m_hash_key
Definition: dialog_shim.h:201
static std::unordered_map< std::string, wxRect > class_map
void SetPosition(const wxString &aStr, const wxString &aDefaultMeasurementUnit, int *aX, int *aY, const wxString &aActualConversion)

References class_map, DIALOG_SHIM::m_hash_key, and PCAD2KICAD::SetPosition().

Referenced by PCB_BASE_FRAME::SelectOneLayer().

◆ setSizeInDU()

void DIALOG_SHIM::setSizeInDU ( int  x,
int  y 
)
protectedinherited

Set the dialog to the given dimensions in "dialog units".

These are units equivalent to 4* the average character width and 8* the average character height, allowing a dialog to be sized in a way that scales it with the system font.

Definition at line 162 of file dialog_shim.cpp.

163 {
164  wxSize sz( x, y );
165  SetSize( ConvertDialogToPixels( sz ) );
166 }

Referenced by DIALOG_RESCUE_EACH::DIALOG_RESCUE_EACH(), HTML_MESSAGE_BOX::HTML_MESSAGE_BOX(), and HTML_MESSAGE_BOX::SetDialogSizeInDU().

◆ Show()

bool DIALOG_SHIM::Show ( bool  show)
overrideinherited

Definition at line 219 of file dialog_shim.cpp.

220 {
221  bool ret;
222  const char* hash_key;
223 
224  if( m_hash_key.size() )
225  {
226  // a special case like EDA_LIST_DIALOG, which has multiple uses.
227  hash_key = m_hash_key.c_str();
228  }
229  else
230  {
231  hash_key = typeid(*this).name();
232  }
233 
234  // Show or hide the window. If hiding, save current position and size.
235  // If showing, use previous position and size.
236  if( show )
237  {
238 #ifndef __WINDOWS__
239  wxDialog::Raise(); // Needed on OS X and some other window managers (i.e. Unity)
240 #endif
241  ret = wxDialog::Show( show );
242 
243  // classname is key, returns a zeroed out default EDA_RECT if none existed before.
244  wxRect savedDialogRect = class_map[ hash_key ];
245 
246  if( savedDialogRect.GetSize().x != 0 && savedDialogRect.GetSize().y != 0 )
247  {
248  if( m_useCalculatedSize )
249  {
250  SetSize( savedDialogRect.GetPosition().x, savedDialogRect.GetPosition().y,
251  wxDialog::GetSize().x, wxDialog::GetSize().y, 0 );
252  }
253  else
254  {
255  SetSize( savedDialogRect.GetPosition().x, savedDialogRect.GetPosition().y,
256  std::max( wxDialog::GetSize().x, savedDialogRect.GetSize().x ),
257  std::max( wxDialog::GetSize().y, savedDialogRect.GetSize().y ),
258  0 );
259  }
260  }
261  else if( m_initialSize != wxDefaultSize )
262  SetSize( m_initialSize );
263 
264  // Be sure that the dialog appears in a visible area
265  // (the dialog position might have been stored at the time when it was
266  // shown on another display)
267  if( wxDisplay::GetFromWindow( this ) == wxNOT_FOUND )
268  Centre();
269  }
270  else
271  {
272  // Save the dialog's position & size before hiding, using classname as key
273  class_map[ hash_key ] = wxRect( wxDialog::GetPosition(), wxDialog::GetSize() );
274 
275 #ifdef __WXMAC__
276  if ( m_eventLoop )
277  m_eventLoop->Exit( GetReturnCode() ); // Needed for APP-MODAL dlgs on OSX
278 #endif
279 
280  ret = wxDialog::Show( show );
281  }
282 
283  return ret;
284 }
std::string m_hash_key
Definition: dialog_shim.h:201
static std::unordered_map< std::string, wxRect > class_map
bool m_useCalculatedSize
Definition: dialog_shim.h:205
wxSize m_initialSize
Definition: dialog_shim.h:223

References class_map, DIALOG_SHIM::m_hash_key, DIALOG_SHIM::m_initialSize, and DIALOG_SHIM::m_useCalculatedSize.

Referenced by FOOTPRINT_EDITOR_CONTROL::CheckFootprint(), DRC_TOOL::CrossProbe(), DIALOG_SHIM::EndQuasiModal(), GROUP_TOOL::GroupProperties(), EE_INSPECTION_TOOL::NextMarker(), DRC_TOOL::NextMarker(), SCH_EDIT_FRAME::OnAnnotate(), DIALOG_DRC::OnDRCItemDClick(), DIALOG_ERC::OnERCItemDClick(), DIALOG_CLEANUP_GRAPHICS::OnLeftDClickItem(), DIALOG_CLEANUP_TRACKS_AND_VIAS::OnLeftDClickItem(), DIALOG_FOOTPRINT_CHECKER::OnLeftDClickItem(), GROUP_TOOL::PickNewMember(), POSITION_RELATIVE_TOOL::PositionRelative(), EE_INSPECTION_TOOL::PrevMarker(), DRC_TOOL::PrevMarker(), CVPCB_MAINFRAME::ReadNetListAndFpFiles(), EDA_VIEW_SWITCHER::Show(), DIALOG_PAD_PROPERTIES::Show(), DRC_TOOL::ShowDRCDialog(), EE_INSPECTION_TOOL::ShowERCDialog(), SCH_EDIT_FRAME::ShowFindReplaceDialog(), HTML_MESSAGE_BOX::ShowModeless(), DIALOG_SHIM::ShowQuasiModal(), DIALOG_POSITION_RELATIVE::UpdateAnchor(), and SCH_EDIT_FRAME::UpdateHierarchyNavigator().

◆ ShowQuasiModal()

int DIALOG_SHIM::ShowQuasiModal ( )
inherited

Definition at line 430 of file dialog_shim.cpp.

431 {
432  // This is an exception safe way to zero a pointer before returning.
433  // Yes, even though DismissModal() clears this first normally, this is
434  // here in case there's an exception before the dialog is dismissed.
435  struct NULLER
436  {
437  void*& m_what;
438  NULLER( void*& aPtr ) : m_what( aPtr ) {}
439  ~NULLER() { m_what = nullptr; } // indeed, set it to NULL on destruction
440  } clear_this( (void*&) m_qmodal_loop );
441 
442  // release the mouse if it's currently captured as the window having it
443  // will be disabled when this dialog is shown -- but will still keep the
444  // capture making it impossible to do anything in the modal dialog itself
445  wxWindow* win = wxWindow::GetCapture();
446  if( win )
447  win->ReleaseMouse();
448 
449  // Get the optimal parent
450  wxWindow* parent = GetParentForModalDialog( GetParent(), GetWindowStyle() );
451 
452  wxASSERT_MSG( !m_qmodal_parent_disabler,
453  wxT( "Caller using ShowQuasiModal() twice on same window?" ) );
454 
455  // quasi-modal: disable only my "optimal" parent
457 
458  // Apple in its infinite wisdom will raise a disabled window before even passing
459  // us the event, so we have no way to stop it. Instead, we must set an order on
460  // the windows so that the quasi-modal will be pushed in front of the disabled
461  // window when it is raised.
463 
464  Show( true );
465 
466  m_qmodal_showing = true;
467 
468  WX_EVENT_LOOP event_loop;
469 
470  m_qmodal_loop = &event_loop;
471 
472  event_loop.Run();
473 
474  m_qmodal_showing = false;
475 
476  return GetReturnCode();
477 }
bool m_qmodal_showing
Definition: dialog_shim.h:215
#define WX_EVENT_LOOP
Definition: kiway_player.h:41
WX_EVENT_LOOP * m_qmodal_loop
Definition: dialog_shim.h:213
bool Show(bool show) override
WDO_ENABLE_DISABLE * m_qmodal_parent_disabler
Definition: dialog_shim.h:216
Toggle a window's "enable" status to disabled, then enabled on destruction.
Definition: dialog_shim.cpp:44
void ReparentQuasiModal(wxNonOwnedWindow *aWindow)
Move a window's parent to be the top-level window and force the window to be on top.
Definition: gtk/ui.cpp:65

References DIALOG_SHIM::m_qmodal_loop, DIALOG_SHIM::m_qmodal_parent_disabler, DIALOG_SHIM::m_qmodal_showing, KIPLATFORM::UI::ReparentQuasiModal(), DIALOG_SHIM::Show(), and WX_EVENT_LOOP.

Referenced by SCH_EDIT_TOOL::ChangeSymbols(), S3D::Configure3DPaths(), COMMON_CONTROL::ConfigurePaths(), MICROWAVE_TOOL::createFootprint(), MICROWAVE_TOOL::createMicrowaveInductor(), SCH_DRAWING_TOOLS::createNewText(), SYMBOL_EDITOR_EDIT_TOOL::editFieldProperties(), SCH_EDIT_TOOL::editFieldText(), SCH_EDITOR_CONTROL::EditSymbolFields(), SYMBOL_EDITOR_EDIT_TOOL::editSymbolProperties(), GLOBAL_EDIT_TOOL::EditTracksAndVias(), GLOBAL_EDIT_TOOL::ExchangeFootprints(), InvokeCopperZonesEditor(), InvokeDialogCreateBOM(), InvokeDialogEditSymbolsLibId(), InvokeDialogRescueEach(), InvokeNonCopperZonesEditor(), SYMBOL_VIEWER_FRAME::OnSelectSymbol(), SCH_EDIT_FRAME::OpenProjectFiles(), SCH_EDIT_TOOL::Properties(), EDIT_TOOL::Properties(), SCH_EDITOR_CONTROL::RemapSymbols(), S3D::Select3DModel(), PCB_BASE_FRAME::SelectFootprintFromLibTree(), PCB_EDIT_FRAME::ShowBoardSetupDialog(), PCB_EDIT_FRAME::ShowDimensionPropertiesDialog(), PCB_EDIT_FRAME::ShowExchangeFootprintsDialog(), PCB_EDIT_FRAME::ShowFootprintPropertiesDialog(), PCB_BASE_EDIT_FRAME::ShowGraphicItemPropertiesDialog(), PCB_BASE_FRAME::ShowPadPropertiesDialog(), SCH_EDIT_FRAME::ShowSchematicSetupDialog(), and PCB_BASE_EDIT_FRAME::ShowTextPropertiesDialog().

◆ sortNetsByPadCount()

void DIALOG_COPPER_ZONE::sortNetsByPadCount ( std::vector< NETINFO_ITEM * > &  nets,
const int  maxNetCode 
)
private

Definition at line 736 of file dialog_copper_zones.cpp.

738 {
739  const std::vector<PAD*> pads = m_Parent->GetBoard()->GetPads();
740 
741  padCountListByNet.clear();
742 
743  // +1 is required for <no-net> item
744  padCountListByNet.assign( maxNetCode + 1, 0 );
745 
746  for( PAD* pad : pads )
747  {
748  const int netCode = pad->GetNetCode();
749 
750  if( netCode > INVALID_NET_CODE )
751  padCountListByNet[netCode]++;
752  }
753 
754  sort( nets.begin(), nets.end(), sortNetsByNodes );
755 }
static constexpr int INVALID_NET_CODE
static bool sortNetsByNodes(const NETINFO_ITEM *a, const NETINFO_ITEM *b)
static std::vector< int > padCountListByNet
PCB_BASE_FRAME * m_Parent
const std::vector< PAD * > GetPads() const
Return a reference to a list of all the pads.
Definition: board.cpp:1895
BOARD * GetBoard() const
Definition: pad.h:57

References PCB_BASE_FRAME::GetBoard(), BOARD::GetPads(), INVALID_NET_CODE, m_Parent, pad, padCountListByNet, and sortNetsByNodes().

Referenced by sortNetsIfRequired().

◆ sortNetsIfRequired()

void DIALOG_COPPER_ZONE::sortNetsIfRequired ( )
private

Definition at line 723 of file dialog_copper_zones.cpp.

724 {
726  {
728  }
729  else
730  {
731  sort( m_netInfoItemList.begin(), m_netInfoItemList.end(), sortNetsByNames );
732  }
733 }
std::vector< NETINFO_ITEM * > m_netInfoItemList
static bool sortNetsByNames(const NETINFO_ITEM *a, const NETINFO_ITEM *b)
void sortNetsByPadCount(std::vector< NETINFO_ITEM * > &nets, const int maxNetCode)

References m_maxNetCode, m_netInfoItemList, m_netSortingByPadCount, sortNetsByNames(), and sortNetsByPadCount().

Referenced by buildListOfNetsToDisplay().

◆ storePersistentNetSortConfigurations()

void DIALOG_COPPER_ZONE::storePersistentNetSortConfigurations ( )
private

Definition at line 593 of file dialog_copper_zones.cpp.

594 {
595  // These configurations are persistent across multiple invokations of
596  // this dialog
597  int newConfig{ NO_PERSISTENT_SORT_MODE };
598 
600  {
601  newConfig |= HIDE_ANONYMOUS_NETS;
602  }
603 
605  {
606  newConfig |= SORT_BY_PAD_COUNT;
607  }
608 
610  cfg->m_Zones.net_sort_mode = newConfig;
611 }
PCB_BASE_FRAME * m_Parent
static constexpr int HIDE_ANONYMOUS_NETS
static constexpr int NO_PERSISTENT_SORT_MODE
PCBNEW_SETTINGS * GetPcbNewSettings() const
static constexpr int SORT_BY_PAD_COUNT

References PCB_BASE_FRAME::GetPcbNewSettings(), HIDE_ANONYMOUS_NETS, m_hideAutoGeneratedNets, m_netSortingByPadCount, m_Parent, PCBNEW_SETTINGS::m_Zones, PCBNEW_SETTINGS::ZONES::net_sort_mode, NO_PERSISTENT_SORT_MODE, and SORT_BY_PAD_COUNT.

Referenced by AcceptOptions().

◆ TransferDataFromWindow()

bool DIALOG_COPPER_ZONE::TransferDataFromWindow ( )
overrideprivate

Definition at line 411 of file dialog_copper_zones.cpp.

412 {
413  if( m_GridStyleCtrl->GetSelection() > 0 )
415  else
417 
418  if( !AcceptOptions() )
419  return false;
420 
421  m_settings.m_HatchOrientation = m_gridStyleRotation.GetValue() / 10.0; // value is returned in deci-degree
426 
427  *m_ptr = m_settings;
428  return true;
429 }
int m_HatchSmoothingLevel
Definition: zone_settings.h:87
double m_HatchSmoothingValue
Definition: zone_settings.h:89
bool AcceptOptions(bool aUseExportableSetupOnly=false)
wxSpinCtrlDouble * m_spinCtrlSmoothValue
ZONE_FILL_MODE m_FillMode
Definition: zone_settings.h:81
UNIT_BINDER m_gridStyleThickness
virtual long long int GetValue()
Return the current value in Internal Units.
double m_HatchOrientation
Definition: zone_settings.h:86

References AcceptOptions(), UNIT_BINDER::GetValue(), HATCH_PATTERN, ZONE_SETTINGS::m_FillMode, DIALOG_COPPER_ZONE_BASE::m_GridStyleCtrl, m_gridStyleGap, m_gridStyleRotation, m_gridStyleThickness, ZONE_SETTINGS::m_HatchGap, ZONE_SETTINGS::m_HatchOrientation, ZONE_SETTINGS::m_HatchSmoothingLevel, ZONE_SETTINGS::m_HatchSmoothingValue, ZONE_SETTINGS::m_HatchThickness, m_ptr, m_settings, DIALOG_COPPER_ZONE_BASE::m_spinCtrlSmoothLevel, DIALOG_COPPER_ZONE_BASE::m_spinCtrlSmoothValue, and POLYGONS.

◆ TransferDataToWindow()

bool DIALOG_COPPER_ZONE::TransferDataToWindow ( )
overrideprivate

Definition at line 212 of file dialog_copper_zones.cpp.

213 {
215  m_cbLocked->SetValue( m_settings.m_Locked );
219 
221  {
222  case ZONE_BORDER_DISPLAY_STYLE::NO_HATCH: m_OutlineDisplayCtrl->SetSelection( 0 ); break;
223  case ZONE_BORDER_DISPLAY_STYLE::DIAGONAL_EDGE: m_OutlineDisplayCtrl->SetSelection( 1 ); break;
224  case ZONE_BORDER_DISPLAY_STYLE::DIAGONAL_FULL: m_OutlineDisplayCtrl->SetSelection( 2 ); break;
225  }
226 
229 
230  switch( m_settings.GetPadConnection() )
231  {
232  default:
233  case ZONE_CONNECTION::THERMAL: m_PadInZoneOpt->SetSelection( 1 ); break;
234  case ZONE_CONNECTION::THT_THERMAL: m_PadInZoneOpt->SetSelection( 2 ); break;
235  case ZONE_CONNECTION::NONE: m_PadInZoneOpt->SetSelection( 3 ); break;
236  case ZONE_CONNECTION::FULL: m_PadInZoneOpt->SetSelection( 0 ); break;
237  }
238 
239  // Do not enable/disable antipad clearance and spoke width. They might be needed if
240  // a footprint or pad overrides the zone to specify a thermal connection.
243 
245  m_islandThreshold.SetDoubleValue( static_cast<double>( m_settings.GetMinIslandArea() ) );
246 
247  m_cbRemoveIslands->SetSelection( static_cast<int>( m_settings.GetIslandRemovalMode() ) );
248 
250 
251  m_tcIslandThreshold->Enable( val );
252  m_islandThresholdLabel->Enable( val );
253  m_islandThresholdUnits->Enable( val );
254 
256 
259 
261 
262  // Initialize information required to display nets list
264 
265  switch( m_settings.m_FillMode )
266  {
267  case ZONE_FILL_MODE::HATCH_PATTERN: m_GridStyleCtrl->SetSelection( 1 ); break;
268  default: m_GridStyleCtrl->SetSelection( 0 ); break;
269  }
270 
272  m_gridStyleRotation.SetValue( m_settings.m_HatchOrientation * 10 ); // IU is decidegree
273 
274  // Gives a reasonable value to grid style parameters, if currently there are no defined
275  // parameters for grid pattern thickness and gap (if the value is 0)
276  // the grid pattern thickness default value is (arbitrary) m_ZoneMinThickness * 4
277  // or 1mm
278  // the grid pattern gap default value is (arbitrary) m_ZoneMinThickness * 6
279  // or 1.5 mm
280  int bestvalue = m_settings.m_HatchThickness;
281 
282  if( bestvalue <= 0 ) // No defined value for m_HatchThickness
283  bestvalue = std::max( m_settings.m_ZoneMinThickness * 4, Millimeter2iu( 1.0 ) );
284 
286 
287  bestvalue = m_settings.m_HatchGap;
288 
289  if( bestvalue <= 0 ) // No defined value for m_HatchGap
290  bestvalue = std::max( m_settings.m_ZoneMinThickness * 6, Millimeter2iu( 1.5 ) );
291 
292  m_gridStyleGap.SetValue( std::max( bestvalue, m_settings.m_ZoneMinThickness ) );
293 
296 
297  m_tcZoneName->SetValue( m_settings.m_Name );
298 
299  updateInfoBar();
301 
303 
305 
306  // Enable/Disable some widgets
307  wxCommandEvent event;
308  OnStyleSelection( event );
309 
310  Fit();
311 
312  return true;
313 }
int m_HatchSmoothingLevel
Definition: zone_settings.h:87
double m_HatchSmoothingValue
Definition: zone_settings.h:89
long long int GetMinIslandArea() const
ZONE_BORDER_DISPLAY_STYLE m_ZoneBorderDisplayStyle
Option to show the zone area (outlines only, short hatches or full hatches.
int GetCornerSmoothingType() const
void SetDataType(EDA_DATA_TYPE aDataType)
Used to override the datatype of the displayed property (default is DISTANCE)
wxString m_Name
Definition: zone_settings.h:95
const ISLAND_REMOVAL_MODE GetIslandRemovalMode() const
ZONE_CONNECTION GetPadConnection() const
void OnStyleSelection(wxCommandEvent &event) override
void SetInitialFocus(wxWindow *aWindow)
Sets the window (usually a wxTextCtrl) that should be focused when the dialog is shown.
Definition: dialog_shim.h:97
unsigned int GetCornerRadius() const
int m_NetcodeSelection
Definition: zone_settings.h:93
pads are covered by copper
wxSpinCtrlDouble * m_spinCtrlSmoothValue
Thermal relief only for THT pads.
Use thermal relief for pads.
ZONE_FILL_MODE m_FillMode
Definition: zone_settings.h:81
virtual void SetUnits(EDA_UNITS aUnits)
Normally not needed (as the UNIT_BINDER inherits from the parent frame), but can be used to set to DE...
Definition: unit_binder.cpp:92
long m_ThermalReliefSpokeWidth
UNIT_BINDER m_gridStyleThickness
virtual void SetValue(int aValue)
Set new value (in Internal Units) for the text field, taking care of units conversion.
Pads are not covered.
virtual void SetDoubleValue(double aValue)
Set new value (in Internal Units) for the text field, taking care of units conversion.
static constexpr int Millimeter2iu(double mm)
double m_HatchOrientation
Definition: zone_settings.h:86
long m_ThermalReliefGap
int m_ZoneMinThickness
Definition: zone_settings.h:83

References AREA, DEGREES, DIAGONAL_EDGE, DIAGONAL_FULL, FULL, ZONE_SETTINGS::GetCornerRadius(), ZONE_SETTINGS::GetCornerSmoothingType(), ZONE_SETTINGS::GetIslandRemovalMode(), ZONE_SETTINGS::GetMinIslandArea(), ZONE_SETTINGS::GetPadConnection(), handleRemoveIslandsSelection(), HATCH_PATTERN, loadPersistentNetSortConfigurations(), m_antipadClearance, DIALOG_COPPER_ZONE_BASE::m_cbLocked, DIALOG_COPPER_ZONE_BASE::m_cbRemoveIslands, m_clearance, DIALOG_COPPER_ZONE_BASE::m_constrainOutline, m_cornerRadius, DIALOG_COPPER_ZONE_BASE::m_cornerSmoothingChoice, m_currentlySelectedNetcode, ZONE_SETTINGS::m_FillMode, DIALOG_COPPER_ZONE_BASE::m_GridStyleCtrl, m_gridStyleGap, m_gridStyleRotation, m_gridStyleThickness, ZONE_SETTINGS::m_HatchGap, ZONE_SETTINGS::m_HatchOrientation, ZONE_SETTINGS::m_HatchSmoothingLevel, ZONE_SETTINGS::m_HatchSmoothingValue, ZONE_SETTINGS::m_HatchThickness, m_hideAutoGeneratedNets, DIALOG_COPPER_ZONE_BASE::m_hideAutoGenNetNamesOpt, m_islandThreshold, DIALOG_COPPER_ZONE_BASE::m_islandThresholdLabel, DIALOG_COPPER_ZONE_BASE::m_islandThresholdUnits, ZONE_SETTINGS::m_Locked, m_minWidth, ZONE_SETTINGS::m_Name, ZONE_SETTINGS::m_NetcodeSelection, m_netSortingByPadCount, DIALOG_COPPER_ZONE_BASE::m_OutlineDisplayCtrl, DIALOG_COPPER_ZONE_BASE::m_PadInZoneOpt, DIALOG_COPPER_ZONE_BASE::m_PriorityLevelCtrl, m_settings, DIALOG_COPPER_ZONE_BASE::m_ShowNetNameFilter, DIALOG_COPPER_ZONE_BASE::m_sortByPadsOpt, DIALOG_COPPER_ZONE_BASE::m_spinCtrlSmoothLevel, DIALOG_COPPER_ZONE_BASE::m_spinCtrlSmoothValue, m_spokeWidth, DIALOG_COPPER_ZONE_BASE::m_tcIslandThreshold, DIALOG_COPPER_ZONE_BASE::m_tcZoneName, ZONE_SETTINGS::m_ThermalReliefGap, ZONE_SETTINGS::m_ThermalReliefSpokeWidth, ZONE_SETTINGS::m_Zone_45_Only, ZONE_SETTINGS::m_ZoneBorderDisplayStyle, ZONE_SETTINGS::m_ZoneClearance, ZONE_SETTINGS::m_ZoneMinThickness, ZONE_SETTINGS::m_ZonePriority, Millimeter2iu(), NO_HATCH, NONE, OnStyleSelection(), readNetInformation(), UNIT_BINDER::SetDataType(), UNIT_BINDER::SetDoubleValue(), DIALOG_SHIM::SetInitialFocus(), UNIT_BINDER::SetUnits(), UNIT_BINDER::SetValue(), THERMAL, THT_THERMAL, updateDisplayedListOfNets(), and updateInfoBar().

◆ updateCurrentNetSelection()

void DIALOG_COPPER_ZONE::updateCurrentNetSelection ( )
private

Definition at line 544 of file dialog_copper_zones.cpp.

545 {
546  const int netSelection{ m_ListNetNameSelection->GetSelection() };
547 
548  if( netSelection )
549  {
550  const wxString& selectedNetName = m_ListNetNameSelection->GetString( netSelection );
552  }
553  else
554  {
556  }
557 }
static constexpr int INVALID_NET_CODE
std::map< wxString, int > m_netNameToNetCode

References INVALID_NET_CODE, m_currentlySelectedNetcode, DIALOG_COPPER_ZONE_BASE::m_ListNetNameSelection, and m_netNameToNetCode.

Referenced by OnNetSelectionUpdated().

◆ updateDisplayedListOfNets()

void DIALOG_COPPER_ZONE::updateDisplayedListOfNets ( )
private

Definition at line 657 of file dialog_copper_zones.cpp.

658 {
660 
661  wxArrayString listOfNets = buildListOfNetsToDisplay();
662 
663  const int selectedNet = ensureSelectedNetIsVisible( m_currentlySelectedNetcode, listOfNets );
664 
665  displayNetsList( listOfNets, selectedNet );
666 }
wxArrayString buildListOfNetsToDisplay()
int ensureSelectedNetIsVisible(int selectedNetCode, wxArrayString &netsList)
void displayNetsList(const wxArrayString &netNamesList, int selectIndex)

References buildListOfNetsToDisplay(), displayNetsList(), ensureSelectedNetIsVisible(), m_currentlySelectedNetcode, and readFilteringAndSortingCriteria().

Referenced by OnNetSelectionUpdated(), OnNetSortingOptionSelected(), OnShowNetNameFilterChange(), and TransferDataToWindow().

◆ updateInfoBar()

void DIALOG_COPPER_ZONE::updateInfoBar ( )
private

Definition at line 863 of file dialog_copper_zones.cpp.

864 {
865  if( m_currentlySelectedNetcode <= INVALID_NET_CODE && !m_copperZoneInfo->IsShown() )
866  {
867  m_copperZoneInfo->ShowMessage(
868  _( "Selecting <no net> will create an isolated copper island." ), wxICON_WARNING );
869  }
871  {
872  m_copperZoneInfo->Dismiss();
873  }
874 }
static constexpr int INVALID_NET_CODE
#define _(s)

References _, INVALID_NET_CODE, DIALOG_COPPER_ZONE_BASE::m_copperZoneInfo, and m_currentlySelectedNetcode.

Referenced by OnNetSelectionUpdated(), and TransferDataToWindow().

◆ updateShowNetsFilter()

void DIALOG_COPPER_ZONE::updateShowNetsFilter ( )
private

Definition at line 681 of file dialog_copper_zones.cpp.

682 {
683  wxString netNameShowFilter = m_ShowNetNameFilter->GetValue();
684 
685  if( netNameShowFilter.Len() == 0 )
686  {
687  netNameShowFilter = wxT( "*" );
688  }
689 
690  wxStringTokenizer showFilters( netNameShowFilter.Lower(), "," );
691 
692  m_showNetsFilter.clear();
693 
694  while( showFilters.HasMoreTokens() )
695  {
696  wxString filter = showFilters.GetNextToken();
697  filter.Trim( false );
698  filter.Trim( true );
699 
700  if( !filter.IsEmpty() )
701  {
702  m_showNetsFilter.emplace_back( std::make_unique<EDA_PATTERN_MATCH_WILDCARD>() );
703  m_showNetsFilter.back()->SetPattern( filter );
704  }
705  }
706 }
NET_FILTER_LIST m_showNetsFilter

References filter, DIALOG_COPPER_ZONE_BASE::m_ShowNetNameFilter, and m_showNetsFilter.

Referenced by readFilteringAndSortingCriteria().

◆ vertPixelsFromDU()

int DIALOG_SHIM::vertPixelsFromDU ( int  y) const
protectedinherited

Convert an integer number of dialog units to pixels, vertically.

See SetSizeInDU or wxDialog documentation for more information.

Definition at line 176 of file dialog_shim.cpp.

177 {
178  wxSize sz( 0, y );
179  return ConvertDialogToPixels( sz ).y;
180 }

Referenced by DIALOG_CHOOSE_SYMBOL::DIALOG_CHOOSE_SYMBOL().

Member Data Documentation

◆ DEFAULT_SORT_CONFIG

constexpr int DIALOG_COPPER_ZONE::DEFAULT_SORT_CONFIG { -1 }
staticprivate

Definition at line 54 of file dialog_copper_zones.cpp.

Referenced by loadPersistentNetSortConfigurations().

◆ HIDE_ANONYMOUS_NETS

constexpr int DIALOG_COPPER_ZONE::HIDE_ANONYMOUS_NETS { 1 << 0 }
staticprivate

◆ INVALID_NET_CODE

constexpr int DIALOG_COPPER_ZONE::INVALID_NET_CODE { 0 }
staticprivate

◆ m_antipadClearance

UNIT_BINDER DIALOG_COPPER_ZONE::m_antipadClearance
private

Definition at line 75 of file dialog_copper_zones.cpp.

Referenced by AcceptOptions(), and TransferDataToWindow().

◆ m_antipadCtrl

wxTextCtrl* DIALOG_COPPER_ZONE_BASE::m_antipadCtrl
protectedinherited

◆ m_antipadLabel

wxStaticText* DIALOG_COPPER_ZONE_BASE::m_antipadLabel
protectedinherited

◆ m_antipadUnits

wxStaticText* DIALOG_COPPER_ZONE_BASE::m_antipadUnits
protectedinherited

◆ m_cbLocked

wxCheckBox* DIALOG_COPPER_ZONE_BASE::m_cbLocked
protectedinherited

◆ m_cbRemoveIslands

◆ m_clearance

UNIT_BINDER DIALOG_COPPER_ZONE::m_clearance
private

Definition at line 73 of file dialog_copper_zones.cpp.

Referenced by AcceptOptions(), and TransferDataToWindow().

◆ m_clearanceCtrl

wxTextCtrl* DIALOG_COPPER_ZONE_BASE::m_clearanceCtrl
protectedinherited

◆ m_clearanceLabel

wxStaticText* DIALOG_COPPER_ZONE_BASE::m_clearanceLabel
protectedinherited

◆ m_clearanceUnits

wxStaticText* DIALOG_COPPER_ZONE_BASE::m_clearanceUnits
protectedinherited

◆ m_connectionLabel

wxStaticText* DIALOG_COPPER_ZONE_BASE::m_connectionLabel
protectedinherited

◆ m_constrainOutline

wxCheckBox* DIALOG_COPPER_ZONE_BASE::m_constrainOutline
protectedinherited

◆ m_copperZoneInfo

wxInfoBar* DIALOG_COPPER_ZONE_BASE::m_copperZoneInfo
protectedinherited

◆ m_cornerRadius

UNIT_BINDER DIALOG_COPPER_ZONE::m_cornerRadius
private

Definition at line 72 of file dialog_copper_zones.cpp.

Referenced by AcceptOptions(), and TransferDataToWindow().

◆ m_cornerRadiusCtrl

wxTextCtrl* DIALOG_COPPER_ZONE_BASE::m_cornerRadiusCtrl
protectedinherited

◆ m_cornerRadiusLabel

wxStaticText* DIALOG_COPPER_ZONE_BASE::m_cornerRadiusLabel
protectedinherited

◆ m_cornerRadiusUnits

wxStaticText* DIALOG_COPPER_ZONE_BASE::m_cornerRadiusUnits
protectedinherited

◆ m_cornerSmoothingChoice

wxChoice* DIALOG_COPPER_ZONE_BASE::m_cornerSmoothingChoice
protectedinherited

◆ m_cornerSmoothingType

int DIALOG_COPPER_ZONE::m_cornerSmoothingType
private

Definition at line 68 of file dialog_copper_zones.cpp.

Referenced by OnUpdateUI().

◆ m_currentlySelectedNetcode

int DIALOG_COPPER_ZONE::m_currentlySelectedNetcode
private

◆ m_ExportSetupButton

wxButton* DIALOG_COPPER_ZONE_BASE::m_ExportSetupButton
protectedinherited

◆ m_firstPaintEvent

bool DIALOG_SHIM::m_firstPaintEvent
protectedinherited

Definition at line 210 of file dialog_shim.h.

Referenced by DIALOG_SHIM::OnPaint().

◆ m_GridStyleCtrl

wxChoice* DIALOG_COPPER_ZONE_BASE::m_GridStyleCtrl
protectedinherited

◆ m_gridStyleGap

UNIT_BINDER DIALOG_COPPER_ZONE::m_gridStyleGap
private

◆ m_GridStyleGapUnits

wxStaticText* DIALOG_COPPER_ZONE_BASE::m_GridStyleGapUnits
protectedinherited

◆ m_gridStyleRotation

UNIT_BINDER DIALOG_COPPER_ZONE::m_gridStyleRotation
private

◆ m_gridStyleThickness

UNIT_BINDER DIALOG_COPPER_ZONE::m_gridStyleThickness
private

◆ m_GridStyleThicknessUnits

wxStaticText* DIALOG_COPPER_ZONE_BASE::m_GridStyleThicknessUnits
protectedinherited

◆ m_hash_key

◆ m_hideAutoGeneratedNets

◆ m_hideAutoGenNetNamesOpt

wxCheckBox* DIALOG_COPPER_ZONE_BASE::m_hideAutoGenNetNamesOpt
protectedinherited

◆ m_initialFocusTarget

wxWindow* DIALOG_SHIM::m_initialFocusTarget
protectedinherited

Definition at line 211 of file dialog_shim.h.

Referenced by DIALOG_SHIM::OnPaint(), and DIALOG_SHIM::SetInitialFocus().

◆ m_initialSize

wxSize DIALOG_SHIM::m_initialSize
protectedinherited

Definition at line 223 of file dialog_shim.h.

Referenced by DIALOG_SHIM::Show().

◆ m_islandThreshold

UNIT_BINDER DIALOG_COPPER_ZONE::m_islandThreshold
private

Definition at line 81 of file dialog_copper_zones.cpp.

Referenced by AcceptOptions(), and TransferDataToWindow().

◆ m_islandThresholdLabel

wxStaticText* DIALOG_COPPER_ZONE_BASE::m_islandThresholdLabel
protectedinherited

◆ m_islandThresholdUnits

wxStaticText* DIALOG_COPPER_ZONE_BASE::m_islandThresholdUnits
protectedinherited

◆ m_layers

wxDataViewListCtrl* DIALOG_COPPER_ZONE_BASE::m_layers
protectedinherited

◆ m_ListNetNameSelection

wxListBox* DIALOG_COPPER_ZONE_BASE::m_ListNetNameSelection
protectedinherited

◆ m_MainBoxSizer

wxBoxSizer* DIALOG_COPPER_ZONE_BASE::m_MainBoxSizer
protectedinherited

◆ m_maxNetCode

int DIALOG_COPPER_ZONE::m_maxNetCode
private

Definition at line 69 of file dialog_copper_zones.cpp.

Referenced by buildListOfNets(), and sortNetsIfRequired().

◆ m_minWidth

UNIT_BINDER DIALOG_COPPER_ZONE::m_minWidth
private

Definition at line 74 of file dialog_copper_zones.cpp.

Referenced by AcceptOptions(), and TransferDataToWindow().

◆ m_minWidthCtrl

wxTextCtrl* DIALOG_COPPER_ZONE_BASE::m_minWidthCtrl
protectedinherited

◆ m_minWidthLabel

wxStaticText* DIALOG_COPPER_ZONE_BASE::m_minWidthLabel
protectedinherited

◆ m_minWidthUnits

wxStaticText* DIALOG_COPPER_ZONE_BASE::m_minWidthUnits
protectedinherited

◆ m_netInfoItemList

std::vector<NETINFO_ITEM*> DIALOG_COPPER_ZONE::m_netInfoItemList
private

◆ m_netNameToNetCode

std::map<wxString, int> DIALOG_COPPER_ZONE::m_netNameToNetCode
private

Definition at line 84 of file dialog_copper_zones.cpp.

Referenced by buildListOfNets(), and updateCurrentNetSelection().

◆ m_netSortingByPadCount

◆ m_OutlineDisplayCtrl

wxChoice* DIALOG_COPPER_ZONE_BASE::m_OutlineDisplayCtrl
protectedinherited

◆ m_PadInZoneOpt

wxChoice* DIALOG_COPPER_ZONE_BASE::m_PadInZoneOpt
protectedinherited

◆ m_Parent

◆ m_parentFrame

EDA_BASE_FRAME* DIALOG_SHIM::m_parentFrame
protectedinherited

◆ m_PriorityLevelCtrl

wxSpinCtrl* DIALOG_COPPER_ZONE_BASE::m_PriorityLevelCtrl
protectedinherited

◆ m_ptr

ZONE_SETTINGS* DIALOG_COPPER_ZONE::m_ptr
private

Definition at line 64 of file dialog_copper_zones.cpp.

Referenced by TransferDataFromWindow().

◆ m_qmodal_loop

WX_EVENT_LOOP* DIALOG_SHIM::m_qmodal_loop
protectedinherited

Definition at line 213 of file dialog_shim.h.

Referenced by DIALOG_SHIM::EndQuasiModal(), and DIALOG_SHIM::ShowQuasiModal().

◆ m_qmodal_parent_disabler

WDO_ENABLE_DISABLE* DIALOG_SHIM::m_qmodal_parent_disabler
protectedinherited

◆ m_qmodal_showing

bool DIALOG_SHIM::m_qmodal_showing
protectedinherited

Definition at line 215 of file dialog_shim.h.

Referenced by DIALOG_SHIM::IsQuasiModal(), and DIALOG_SHIM::ShowQuasiModal().

◆ m_sdbSizer

wxStdDialogButtonSizer* DIALOG_COPPER_ZONE_BASE::m_sdbSizer
protectedinherited

◆ m_sdbSizerCancel

wxButton* DIALOG_COPPER_ZONE_BASE::m_sdbSizerCancel
protectedinherited

◆ m_sdbSizerOK

wxButton* DIALOG_COPPER_ZONE_BASE::m_sdbSizerOK
protectedinherited

◆ m_settings

ZONE_SETTINGS DIALOG_COPPER_ZONE::m_settings
private

◆ m_settingsExported

bool DIALOG_COPPER_ZONE::m_settingsExported
private

Definition at line 61 of file dialog_copper_zones.cpp.

Referenced by ExportSetupToOtherCopperZones(), and OnClose().

◆ m_ShowNetNameFilter

wxTextCtrl* DIALOG_COPPER_ZONE_BASE::m_ShowNetNameFilter
protectedinherited

◆ m_showNetsFilter

NET_FILTER_LIST DIALOG_COPPER_ZONE::m_showNetsFilter
private

Definition at line 66 of file dialog_copper_zones.cpp.

Referenced by applyShowFilter(), and updateShowNetsFilter().

◆ m_sortByPadsOpt

wxCheckBox* DIALOG_COPPER_ZONE_BASE::m_sortByPadsOpt
protectedinherited

◆ m_spinCtrlSmoothLevel

wxSpinCtrl* DIALOG_COPPER_ZONE_BASE::m_spinCtrlSmoothLevel
protectedinherited

◆ m_spinCtrlSmoothValue

wxSpinCtrlDouble* DIALOG_COPPER_ZONE_BASE::m_spinCtrlSmoothValue
protectedinherited

◆ m_spokeWidth

UNIT_BINDER DIALOG_COPPER_ZONE::m_spokeWidth
private

Definition at line 76 of file dialog_copper_zones.cpp.

Referenced by AcceptOptions(), and TransferDataToWindow().

◆ m_spokeWidthCtrl

wxTextCtrl* DIALOG_COPPER_ZONE_BASE::m_spokeWidthCtrl
protectedinherited

◆ m_spokeWidthLabel

wxStaticText* DIALOG_COPPER_ZONE_BASE::m_spokeWidthLabel
protectedinherited

◆ m_spokeWidthUnits

wxStaticText* DIALOG_COPPER_ZONE_BASE::m_spokeWidthUnits
protectedinherited

◆ m_staticline1

wxStaticLine* DIALOG_COPPER_ZONE_BASE::m_staticline1
protectedinherited

◆ m_staticline2

wxStaticLine* DIALOG_COPPER_ZONE_BASE::m_staticline2
protectedinherited

◆ m_staticline5

wxStaticLine* DIALOG_COPPER_ZONE_BASE::m_staticline5
protectedinherited

◆ m_staticText40

wxStaticText* DIALOG_COPPER_ZONE_BASE::m_staticText40
protectedinherited

◆ m_staticTextGridFillType

wxStaticText* DIALOG_COPPER_ZONE_BASE::m_staticTextGridFillType
protectedinherited

◆ m_staticTextGridGap

wxStaticText* DIALOG_COPPER_ZONE_BASE::m_staticTextGridGap
protectedinherited

◆ m_staticTextGridSmoothingLevel

wxStaticText* DIALOG_COPPER_ZONE_BASE::m_staticTextGridSmoothingLevel
protectedinherited

◆ m_staticTextGridSmootingVal

wxStaticText* DIALOG_COPPER_ZONE_BASE::m_staticTextGridSmootingVal
protectedinherited

◆ m_staticTextGrindOrient

wxStaticText* DIALOG_COPPER_ZONE_BASE::m_staticTextGrindOrient
protectedinherited

◆ m_staticTextPriorityLevel

wxStaticText* DIALOG_COPPER_ZONE_BASE::m_staticTextPriorityLevel
protectedinherited

◆ m_staticTextRotUnits

wxStaticText* DIALOG_COPPER_ZONE_BASE::m_staticTextRotUnits
protectedinherited

◆ m_staticTextSmoothing

wxStaticText* DIALOG_COPPER_ZONE_BASE::m_staticTextSmoothing
protectedinherited

◆ m_staticTextStyle

wxStaticText* DIALOG_COPPER_ZONE_BASE::m_staticTextStyle
protectedinherited

◆ m_staticTextStyleThickness

wxStaticText* DIALOG_COPPER_ZONE_BASE::m_staticTextStyleThickness
protectedinherited

◆ m_tabOrder

◆ m_tcGridStyleGap

wxTextCtrl* DIALOG_COPPER_ZONE_BASE::m_tcGridStyleGap
protectedinherited

◆ m_tcGridStyleOrientation

wxTextCtrl* DIALOG_COPPER_ZONE_BASE::m_tcGridStyleOrientation
protectedinherited

◆ m_tcGridStyleThickness

wxTextCtrl* DIALOG_COPPER_ZONE_BASE::m_tcGridStyleThickness
protectedinherited

◆ m_tcIslandThreshold

wxTextCtrl* DIALOG_COPPER_ZONE_BASE::m_tcIslandThreshold
protectedinherited

◆ m_tcZoneName

wxTextCtrl* DIALOG_COPPER_ZONE_BASE::m_tcZoneName
protectedinherited

◆ m_units

◆ m_useCalculatedSize

bool DIALOG_SHIM::m_useCalculatedSize
protectedinherited

◆ m_zoneNameLabel

wxStaticText* DIALOG_COPPER_ZONE_BASE::m_zoneNameLabel
protectedinherited

◆ NO_PERSISTENT_SORT_MODE

constexpr int DIALOG_COPPER_ZONE::NO_PERSISTENT_SORT_MODE { 0 }
staticprivate

Definition at line 55 of file dialog_copper_zones.cpp.

Referenced by storePersistentNetSortConfigurations().

◆ SORT_BY_PAD_COUNT

constexpr int DIALOG_COPPER_ZONE::SORT_BY_PAD_COUNT { 1 << 1 }
staticprivate

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