39#include "magic_enum.hpp"
83 for(
auto& preset : magic_enum::enum_values<IPC4761_PRESET>() )
90 wxString
name =
_(
"Unknown choice" );
93 name = name_it->second;
101 { wxID_CANCEL,
_(
"Close" ) } } );
148 m_vias->SetValue(
false );
149 else if( checked == 4 )
152 m_vias->Set3StateValue( wxCHK_UNDETERMINED );
188 if( !
m_brd->GetHighLightNetCodes().empty() )
192 wxArrayString netclassNames;
193 std::shared_ptr<NET_SETTINGS>& settings =
m_brd->GetDesignSettings().m_NetSettings;
195 netclassNames.push_back( settings->GetDefaultNetclass()->GetName() );
197 for(
const auto& [
name, netclass] : settings->GetNetclasses() )
198 netclassNames.push_back(
name );
225 wxCommandEvent
dummy;
264 if( trackWidthIndex >= 0 )
267 m_parent->SetTrackSegmentWidth( aItem, aUndoList,
false );
277 if( viaSizeIndex >= 0 )
280 m_parent->SetTrackSegmentWidth( aItem, aUndoList,
false );
317 if( aUndoList->
FindItem( aItem ) < 0 )
325 m_parent->GetBoard()->GetConnectivity()->Update( aItem );
330 m_parent->SetTrackSegmentWidth( aItem, aUndoList,
true );
345 while(
group && !
group->AsEdaItem()->IsSelected() )
420 if( itemsListPicker.
GetCount() > 0 )
425 m_parent->GetCanvas()->GetView()->Update( track );
428 m_parent->GetCanvas()->ForceRefresh();
virtual NETCLASS * GetEffectiveNetClass() const
Return the NETCLASS for this item.
Container for design settings for a BOARD object.
void SetViaSizeIndex(int aIndex)
Set the current via size list index to aIndex.
int GetTrackWidthIndex() const
int GetViaSizeIndex() const
void SetTrackWidthIndex(int aIndex)
Set the current track width list index to aIndex.
virtual PCB_LAYER_ID GetLayer() const
Return the primary layer this item is on.
virtual void SetLayer(PCB_LAYER_ID aLayer)
Set the layer this item is on.
PCB_LAYER_BOX_SELECTOR * m_layerCtrl
wxCheckBox * m_filterByTrackWidth
PCB_LAYER_BOX_SELECTOR * m_layerFilter
wxChoice * m_trackWidthCtrl
wxCheckBox * m_netclassFilterOpt
wxRadioButton * m_setToSpecifiedValues
wxCheckBox * m_filterByViaSize
wxChoice * m_protectionFeatures
wxCheckBox * m_buriedVias
wxStaticText * m_trackWidthLabel
wxChoice * m_netclassFilter
wxStaticText * m_layerLabel
wxCheckBox * m_netFilterOpt
wxStaticText * m_viaSizeLabel
wxCheckBox * m_throughVias
wxStaticText * m_annularRingsLabel
wxChoice * m_viaSizesCtrl
wxStaticText * m_trackWidthFilterUnits
wxTextCtrl * m_trackWidthFilterCtrl
wxCheckBox * m_layerFilterOpt
wxChoice * m_annularRingsCtrl
wxCheckBox * m_selectedItemsFilter
wxTextCtrl * m_viaSizeFilterCtrl
NET_SELECTOR * m_netFilter
DIALOG_GLOBAL_EDIT_TRACKS_AND_VIAS_BASE(wxWindow *parent, wxWindowID id=wxID_ANY, const wxString &title=_("Set Track and Via Properties"), const wxPoint &pos=wxDefaultPosition, const wxSize &size=wxSize(-1,-1), long style=wxDEFAULT_DIALOG_STYLE|wxRESIZE_BORDER)
wxStaticText * m_viaSizeFilterUnits
void OnNetFilterSelect(wxCommandEvent &event)
void onViaType(wxCommandEvent &aEvent) override
PCB_EDIT_FRAME * m_parent
void visitItem(PICKED_ITEMS_LIST *aUndoList, PCB_TRACK *aItem)
std::vector< BOARD_ITEM * > m_items_changed
UNIT_BINDER m_viaSizeFilter
void onActionButtonChange(wxCommandEvent &event) override
void processItem(PICKED_ITEMS_LIST *aUndoList, PCB_TRACK *aItem)
void onUnitsChanged(wxCommandEvent &aEvent)
void onVias(wxCommandEvent &aEvent) override
UNIT_BINDER m_trackWidthFilter
void updateViasCheckbox()
~DIALOG_GLOBAL_EDIT_TRACKS_AND_VIAS() override
DIALOG_GLOBAL_EDIT_TRACKS_AND_VIAS(PCB_EDIT_FRAME *aParent)
bool TransferDataFromWindow() override
bool TransferDataToWindow() override
void SetupStandardButtons(std::map< int, wxString > aLabels={})
void finishDialogSettings()
In all dialogs, we must call the same functions to fix minimal dlg size, the default position and per...
A set of EDA_ITEMs (i.e., without duplicates).
virtual EDA_GROUP * GetParentGroup() const
KICAD_T Type() const
Returns the type of object.
void SetLink(EDA_ITEM *aItem)
static LSET AllNonCuMask()
Return a mask holding all layer minus CU layers.
A collection of nets and the parameters used to route or test these nets.
bool ContainsNetclassWithName(const wxString &netclass) const
Determines if the given netclass name is a constituent of this (maybe aggregate) netclass.
void SetUnconnectedLayerMode(UNCONNECTED_LAYER_MODE aMode)
@ REMOVE_EXCEPT_START_AND_END
The main frame for Pcbnew.
virtual EDA_ITEM * Clone() const override
Create a duplicate of this item with linked list members set to NULL.
virtual int GetWidth() const
const PADSTACK & Padstack() const
A holder to handle information on schematic or board items.
void PushItem(const ITEM_PICKER &aItem)
Push aItem to the top of the list.
int FindItem(const EDA_ITEM *aItem) const
unsigned GetCount() const
const std::map< IPC4761_PRESET, wxString > m_IPC4761Names
void setViaConfiguration(PCB_VIA *aVia, const IPC4761_PRESET &aPreset)
static wxString g_netclassFilter
static wxString g_netFilter
PCB_LAYER_ID ToLAYER_ID(int aLayer)
Class to handle a set of BOARD_ITEMs.
std::vector< FAB_LAYER_COLOR > dummy
@ PCB_VIA_T
class PCB_VIA, a via (like a track segment on a copper layer)
@ PCB_ARC_T
class PCB_ARC, an arc track segment on a copper layer
@ PCB_TRACE_T
class PCB_TRACK, a track segment (segment on a copper layer)
#define INDETERMINATE_ACTION