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

#include <zone_settings_bag.h>

Public Member Functions

 ZONE_SETTINGS_BAG (BOARD *aBoard)
 
 ZONE_SETTINGS_BAG (ZONE_SETTINGS *aSettings)
 
 ZONE_SETTINGS_BAG ()=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 ()
 

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 38 of file zone_settings_bag.h.

Constructor & Destructor Documentation

◆ ZONE_SETTINGS_BAG() [1/3]

ZONE_SETTINGS_BAG::ZONE_SETTINGS_BAG ( BOARD * aBoard)

◆ ZONE_SETTINGS_BAG() [2/3]

ZONE_SETTINGS_BAG::ZONE_SETTINGS_BAG ( ZONE_SETTINGS * aSettings)

Definition at line 64 of file zone_settings_bag.cpp.

References m_zoneSettings.

◆ ZONE_SETTINGS_BAG() [3/3]

ZONE_SETTINGS_BAG::ZONE_SETTINGS_BAG ( )
default

Member Function Documentation

◆ FlushPriorityChange()

bool ZONE_SETTINGS_BAG::FlushPriorityChange ( )

Flush the priority change to the cloned ones.

Returns
true if priority changed

Definition at line 119 of file zone_settings_bag.cpp.

References m_managedZones.

Referenced by OnUserConfirmChange().

◆ FlushZoneSettingsChange()

void ZONE_SETTINGS_BAG::FlushZoneSettingsChange ( )

Flush the zone settings change to the cloned ones.

Definition at line 109 of file zone_settings_bag.cpp.

References m_managedZones, and m_zoneSettings.

Referenced by OnUserConfirmChange().

◆ GetClonedZoneList()

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

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

Returns
std::vector<ZONE*>&

Definition at line 58 of file zone_settings_bag.h.

References m_clonedZoneList.

◆ GetManagedZones()

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

Definition at line 46 of file zone_settings_bag.h.

References m_managedZones.

◆ GetOriginalZoneList()

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

Used for restoring the zones in the board after refilling.

Returns
std::vector<ZONE*>&

Definition at line 65 of file zone_settings_bag.h.

References m_originalZoneList.

◆ GetZoneSettings()

std::shared_ptr< ZONE_SETTINGS > ZONE_SETTINGS_BAG::GetZoneSettings ( ZONE * zone)

Definition at line 70 of file zone_settings_bag.cpp.

References m_zoneSettings.

◆ OnUserConfirmChange()

void ZONE_SETTINGS_BAG::OnUserConfirmChange ( )

Member Data Documentation

◆ m_clonedZoneList

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

Definition at line 86 of file zone_settings_bag.h.

Referenced by GetClonedZoneList(), and ZONE_SETTINGS_BAG().

◆ m_managedZones

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

◆ m_originalZoneList

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

Definition at line 87 of file zone_settings_bag.h.

Referenced by GetOriginalZoneList().

◆ m_zonesCloneMap

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

Definition at line 83 of file zone_settings_bag.h.

Referenced by OnUserConfirmChange(), and ZONE_SETTINGS_BAG().

◆ m_zoneSettings

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

Definition at line 84 of file zone_settings_bag.h.

Referenced by FlushZoneSettingsChange(), GetZoneSettings(), and ZONE_SETTINGS_BAG().


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