KiCad PCB EDA Suite
Loading...
Searching...
No Matches
MODEL_ZONES_OVERVIEW Class Reference

#include <model_zones_overview.h>

Inheritance diagram for MODEL_ZONES_OVERVIEW:

Public Types

enum  { NAME , NET , LAYERS , COL_COUNT }
 

Public Member Functions

 MODEL_ZONES_OVERVIEW (std::vector< std::shared_ptr< MANAGED_ZONE > > aZones, BOARD *a_pcb, PCB_BASE_FRAME *aPCB_FRAME, wxWindow *a_dialog)
 
 ~MODEL_ZONES_OVERVIEW () override=default
 
void EnableFitterByName (bool aEnable)
 
void EnableFitterByNet (bool aEnable)
 
void GetValueByRow (wxVariant &aVariant, unsigned aRow, unsigned aCol) const override
 
bool SetValueByRow (const wxVariant &aVariant, unsigned aRow, unsigned aCol) override
 
unsigned int GetCount () const override
 
ZONEGetZone (wxDataViewItem const &item) const
 
wxDataViewItem GetItemByZone (ZONE *) const
 
std::optional< unsigned > MoveZoneIndex (unsigned aIndex, ZONE_INDEX_MOVEMENT aMovement)
 Move selected zone up/down.
 
std::optional< unsigned > SwapZonePriority (unsigned aDragIndex, unsigned aDropIndex)
 Swap two zone while drag && drop.
 
wxDataViewItem ApplyFilter (wxString const &aFilterText, wxDataViewItem aSelection)
 Filter the zones by the filter text.
 
wxDataViewItem ClearFilter (wxDataViewItem aSelection)
 Clear up the filter.
 
unsigned int GetAllZonesCount () const
 

Static Public Member Functions

static std::map< int, wxString > GetColumnNames ()
 

Private Member Functions

void SortZoneContainers ()
 
void OnRowCountChange ()
 

Private Attributes

std::vector< std::shared_ptr< MANAGED_ZONE > > m_allZones
 
std::vector< std::shared_ptr< MANAGED_ZONE > > m_filteredZones
 
BOARDm_pcb
 
PCB_BASE_FRAMEm_PCB_FRAME
 
wxWindow * m_dialog
 
bool m_sortByName
 
bool m_sortByNet
 

Detailed Description

Definition at line 53 of file model_zones_overview.h.

Member Enumeration Documentation

◆ anonymous enum

anonymous enum
Enumerator
NAME 
NET 
LAYERS 
COL_COUNT 

Definition at line 56 of file model_zones_overview.h.

Constructor & Destructor Documentation

◆ MODEL_ZONES_OVERVIEW()

MODEL_ZONES_OVERVIEW::MODEL_ZONES_OVERVIEW ( std::vector< std::shared_ptr< MANAGED_ZONE > >  aZones,
BOARD a_pcb,
PCB_BASE_FRAME aPCB_FRAME,
wxWindow *  a_dialog 
)

Definition at line 96 of file model_zones_overview.cpp.

References m_filteredZones, and Reset().

◆ ~MODEL_ZONES_OVERVIEW()

MODEL_ZONES_OVERVIEW::~MODEL_ZONES_OVERVIEW ( )
overridedefault

Member Function Documentation

◆ ApplyFilter()

wxDataViewItem MODEL_ZONES_OVERVIEW::ApplyFilter ( wxString const &  aFilterText,
wxDataViewItem  aSelection 
)

Filter the zones by the filter text.

Parameters
aFilterTextSub text matching zone name, net name or layer name
aSelectionCurrent selection
Returns
unsigned Selection after the filter is applied

Definition at line 242 of file model_zones_overview.cpp.

References ClearFilter(), GetAllZonesCount(), GetCount(), GetItemByZone(), BOARD_CONNECTED_ITEM::GetNetname(), GetZone(), ZONE::GetZoneName(), m_allZones, m_filteredZones, m_sortByName, m_sortByNet, OnRowCountChange(), Reset(), and SortZoneContainers().

◆ ClearFilter()

wxDataViewItem MODEL_ZONES_OVERVIEW::ClearFilter ( wxDataViewItem  aSelection)

Clear up the filter.

Parameters
aSelectionCurrent selection
Returns
unsigned

Definition at line 273 of file model_zones_overview.cpp.

References GetAllZonesCount(), GetCount(), GetItemByZone(), GetZone(), m_allZones, m_filteredZones, OnRowCountChange(), Reset(), and SortZoneContainers().

Referenced by ApplyFilter().

◆ EnableFitterByName()

void MODEL_ZONES_OVERVIEW::EnableFitterByName ( bool  aEnable)

Definition at line 147 of file model_zones_overview.cpp.

References m_sortByName.

◆ EnableFitterByNet()

void MODEL_ZONES_OVERVIEW::EnableFitterByNet ( bool  aEnable)

Definition at line 153 of file model_zones_overview.cpp.

References m_sortByNet.

◆ GetAllZonesCount()

unsigned int MODEL_ZONES_OVERVIEW::GetAllZonesCount ( ) const
inline

Definition at line 127 of file model_zones_overview.h.

References m_allZones.

Referenced by ApplyFilter(), and ClearFilter().

◆ GetColumnNames()

static std::map< int, wxString > MODEL_ZONES_OVERVIEW::GetColumnNames ( )
inlinestatic

Definition at line 65 of file model_zones_overview.h.

References _, LAYERS, NAME, and NET.

◆ GetCount()

unsigned int MODEL_ZONES_OVERVIEW::GetCount ( ) const
override

◆ GetItemByZone()

wxDataViewItem MODEL_ZONES_OVERVIEW::GetItemByZone ( ZONE aZone) const

Definition at line 185 of file model_zones_overview.cpp.

References GetZone(), and m_filteredZones.

Referenced by ApplyFilter(), and ClearFilter().

◆ GetValueByRow()

◆ GetZone()

ZONE * MODEL_ZONES_OVERVIEW::GetZone ( wxDataViewItem const &  item) const

Definition at line 171 of file model_zones_overview.cpp.

References GetCount(), and m_filteredZones.

Referenced by ApplyFilter(), ClearFilter(), and GetItemByZone().

◆ MoveZoneIndex()

std::optional< unsigned > MODEL_ZONES_OVERVIEW::MoveZoneIndex ( unsigned  aIndex,
ZONE_INDEX_MOVEMENT  aMovement 
)

Move selected zone up/down.

Returns
std::optional<unsigned> the new index for selected one if success

Definition at line 200 of file model_zones_overview.cpp.

References GetCount(), and SwapZonePriority().

◆ OnRowCountChange()

void MODEL_ZONES_OVERVIEW::OnRowCountChange ( )
private

Definition at line 49 of file model_zones_overview.cpp.

References GetCount(), and m_dialog.

Referenced by ApplyFilter(), and ClearFilter().

◆ SetValueByRow()

bool MODEL_ZONES_OVERVIEW::SetValueByRow ( const wxVariant &  aVariant,
unsigned  aRow,
unsigned  aCol 
)
override

Definition at line 159 of file model_zones_overview.cpp.

◆ SortZoneContainers()

void MODEL_ZONES_OVERVIEW::SortZoneContainers ( )
private

Definition at line 39 of file model_zones_overview.cpp.

References m_filteredZones.

Referenced by ApplyFilter(), and ClearFilter().

◆ SwapZonePriority()

std::optional< unsigned > MODEL_ZONES_OVERVIEW::SwapZonePriority ( unsigned  aDragIndex,
unsigned  aDropIndex 
)

Swap two zone while drag && drop.

Returns
std::optional<unsigned> the new index for the dragged one if success

Definition at line 221 of file model_zones_overview.cpp.

References GetCount(), and m_filteredZones.

Referenced by MoveZoneIndex().

Member Data Documentation

◆ m_allZones

std::vector<std::shared_ptr<MANAGED_ZONE> > MODEL_ZONES_OVERVIEW::m_allZones
private

Definition at line 135 of file model_zones_overview.h.

Referenced by ApplyFilter(), ClearFilter(), and GetAllZonesCount().

◆ m_dialog

wxWindow* MODEL_ZONES_OVERVIEW::m_dialog
private

Definition at line 139 of file model_zones_overview.h.

Referenced by OnRowCountChange().

◆ m_filteredZones

std::vector<std::shared_ptr<MANAGED_ZONE> > MODEL_ZONES_OVERVIEW::m_filteredZones
private

◆ m_pcb

BOARD* MODEL_ZONES_OVERVIEW::m_pcb
private

Definition at line 137 of file model_zones_overview.h.

Referenced by GetValueByRow().

◆ m_PCB_FRAME

PCB_BASE_FRAME* MODEL_ZONES_OVERVIEW::m_PCB_FRAME
private

Definition at line 138 of file model_zones_overview.h.

Referenced by GetValueByRow().

◆ m_sortByName

bool MODEL_ZONES_OVERVIEW::m_sortByName
private

Definition at line 140 of file model_zones_overview.h.

Referenced by ApplyFilter(), and EnableFitterByName().

◆ m_sortByNet

bool MODEL_ZONES_OVERVIEW::m_sortByNet
private

Definition at line 141 of file model_zones_overview.h.

Referenced by ApplyFilter(), and EnableFitterByNet().


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