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

#include <zones_container.h>

Inheritance diagram for ZONES_CONTAINER:
ZONE_MANAGEMENT_BASE

Public Member Functions

 ZONES_CONTAINER (BOARD *board)
 
 ~ZONES_CONTAINER () override
 
std::vector< std::shared_ptr< ZONE_PRIORITY_CONTAINER > > GetZonesPriorityContainers () const
 
std::shared_ptr< ZONE_SETTINGSGetZoneSettings (ZONE *zone)
 
std::vector< ZONE * > & GetClonedZoneList ()
 Adapter for the zone filler ,zones are actually managed the smart ptr.
 
std::vector< ZONE * > & GetOriginalZoneList ()
 Used for restoring the zones in the board after refilling.
 
void FlushZoneSettingsChange ()
 Flush the zone settings change to the cloned ones.
 
bool FlushPriorityChange ()
 Flush the priority change to the cloned ones.
 
void OnUserConfirmChange () override
 

Private Attributes

std::unordered_map< ZONE *, std::shared_ptr< ZONE > > m_zonesColoneMap
 
std::unordered_map< ZONE *, std::shared_ptr< ZONE_SETTINGS > > m_zoneSettings
 
std::vector< std::shared_ptr< ZONE_PRIORITY_CONTAINER > > m_zonesPriorityContainer
 
std::vector< ZONE * > m_clonedZoneList
 
std::vector< ZONE * > m_originalZoneList
 

Detailed Description

Definition at line 37 of file zones_container.h.

Constructor & Destructor Documentation

◆ ZONES_CONTAINER()

ZONES_CONTAINER::ZONES_CONTAINER ( BOARD board)

◆ ~ZONES_CONTAINER()

ZONES_CONTAINER::~ZONES_CONTAINER ( )
overridedefault

Member Function Documentation

◆ FlushPriorityChange()

bool ZONES_CONTAINER::FlushPriorityChange ( )

Flush the priority change to the cloned ones.

Returns
true if priority changed

Definition at line 102 of file zones_container.cpp.

References m_zonesPriorityContainer.

Referenced by OnUserConfirmChange().

◆ FlushZoneSettingsChange()

void ZONES_CONTAINER::FlushZoneSettingsChange ( )

Flush the zone settings change to the cloned ones.

Definition at line 93 of file zones_container.cpp.

References m_zoneSettings, and m_zonesPriorityContainer.

Referenced by OnUserConfirmChange().

◆ GetClonedZoneList()

std::vector< ZONE * > & ZONES_CONTAINER::GetClonedZoneList ( )
inline

Adapter for the zone filler ,zones are actually managed the smart ptr.

Returns
std::vector<ZONE*>

Definition at line 54 of file zones_container.h.

References m_clonedZoneList.

◆ GetOriginalZoneList()

std::vector< ZONE * > & ZONES_CONTAINER::GetOriginalZoneList ( )
inline

Used for restoring the zones in the board after refilling.

Returns
std::vector<ZONE*>&

Definition at line 60 of file zones_container.h.

References m_originalZoneList.

◆ GetZoneSettings()

std::shared_ptr< ZONE_SETTINGS > ZONES_CONTAINER::GetZoneSettings ( ZONE zone)

Definition at line 71 of file zones_container.cpp.

References m_zoneSettings.

Referenced by PANEL_ZONE_PROPERTIES::ActivateSelectedZone().

◆ GetZonesPriorityContainers()

std::vector< std::shared_ptr< ZONE_PRIORITY_CONTAINER > > ZONES_CONTAINER::GetZonesPriorityContainers ( ) const
inline

Definition at line 43 of file zones_container.h.

References m_zonesPriorityContainer.

◆ OnUserConfirmChange()

void ZONES_CONTAINER::OnUserConfirmChange ( )
overridevirtual

Member Data Documentation

◆ m_clonedZoneList

std::vector<ZONE*> ZONES_CONTAINER::m_clonedZoneList
private

Definition at line 79 of file zones_container.h.

Referenced by GetClonedZoneList(), and ZONES_CONTAINER().

◆ m_originalZoneList

std::vector<ZONE*> ZONES_CONTAINER::m_originalZoneList
private

Definition at line 80 of file zones_container.h.

Referenced by GetOriginalZoneList().

◆ m_zonesColoneMap

std::unordered_map<ZONE*, std::shared_ptr<ZONE> > ZONES_CONTAINER::m_zonesColoneMap
private

Definition at line 76 of file zones_container.h.

Referenced by OnUserConfirmChange(), and ZONES_CONTAINER().

◆ m_zoneSettings

std::unordered_map<ZONE*, std::shared_ptr<ZONE_SETTINGS> > ZONES_CONTAINER::m_zoneSettings
private

Definition at line 77 of file zones_container.h.

Referenced by FlushZoneSettingsChange(), and GetZoneSettings().

◆ m_zonesPriorityContainer

std::vector<std::shared_ptr<ZONE_PRIORITY_CONTAINER> > ZONES_CONTAINER::m_zonesPriorityContainer
private

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