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=default
 
std::vector< std::shared_ptr< MANAGED_ZONE > > GetManagedZones () 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_zonesCloneMap
 
std::unordered_map< ZONE *, std::shared_ptr< ZONE_SETTINGS > > m_zoneSettings
 
std::vector< std::shared_ptr< MANAGED_ZONE > > m_managedZones
 
std::vector< ZONE * > m_clonedZoneList
 
std::vector< ZONE * > m_originalZoneList
 

Detailed Description

Definition at line 39 of file zones_container.h.

Constructor & Destructor Documentation

◆ ZONES_CONTAINER()

ZONES_CONTAINER::ZONES_CONTAINER ( BOARD board)

Definition at line 34 of file zones_container.cpp.

References m_clonedZoneList, m_managedZones, m_zonesCloneMap, and BOARD::Zones().

◆ ~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 112 of file zones_container.cpp.

References m_managedZones.

Referenced by OnUserConfirmChange().

◆ FlushZoneSettingsChange()

void ZONES_CONTAINER::FlushZoneSettingsChange ( )

Flush the zone settings change to the cloned ones.

Definition at line 103 of file zones_container.cpp.

References m_managedZones, and m_zoneSettings.

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 56 of file zones_container.h.

References m_clonedZoneList.

◆ GetManagedZones()

std::vector< std::shared_ptr< MANAGED_ZONE > > ZONES_CONTAINER::GetManagedZones ( ) const
inline

Definition at line 45 of file zones_container.h.

References m_managedZones.

◆ 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 62 of file zones_container.h.

References m_originalZoneList.

◆ GetZoneSettings()

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

Definition at line 65 of file zones_container.cpp.

References m_zoneSettings.

Referenced by PANEL_ZONE_PROPERTIES::ActivateSelectedZone().

◆ OnUserConfirmChange()

void ZONES_CONTAINER::OnUserConfirmChange ( )
overridevirtual

Member Data Documentation

◆ m_clonedZoneList

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

Definition at line 81 of file zones_container.h.

Referenced by GetClonedZoneList(), and ZONES_CONTAINER().

◆ m_managedZones

std::vector<std::shared_ptr<MANAGED_ZONE> > ZONES_CONTAINER::m_managedZones
private

◆ m_originalZoneList

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

Definition at line 82 of file zones_container.h.

Referenced by GetOriginalZoneList().

◆ m_zonesCloneMap

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

Definition at line 78 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 79 of file zones_container.h.

Referenced by FlushZoneSettingsChange(), and GetZoneSettings().


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