Audacity 3.2.0
Public Member Functions | Public Attributes | List of all members
anonymous_namespace{PrefsPanel.cpp}::PrefsItemVisitor Struct Referencefinal
Inheritance diagram for anonymous_namespace{PrefsPanel.cpp}::PrefsItemVisitor:
[legend]
Collaboration diagram for anonymous_namespace{PrefsPanel.cpp}::PrefsItemVisitor:
[legend]

Public Member Functions

 PrefsItemVisitor (PrefsPanel::Factories &factories_)
 
void BeginGroup (Registry::GroupItem &item, const Path &) override
 
void EndGroup (Registry::GroupItem &item, const Path &) override
 
- Public Member Functions inherited from Registry::Visitor
virtual ~Visitor ()
 
virtual void BeginGroup (GroupItem &item, const Path &path)
 
virtual void EndGroup (GroupItem &item, const Path &path)
 
virtual void Visit (SingleItem &item, const Path &path)
 

Public Attributes

PrefsPanel::Factoriesfactories
 
std::vector< size_t > childCounts
 
std::vector< size_t > indices
 

Additional Inherited Members

- Public Types inherited from Registry::Visitor
using Path = std::vector< Identifier >
 

Detailed Description

Definition at line 35 of file PrefsPanel.cpp.

Constructor & Destructor Documentation

◆ PrefsItemVisitor()

anonymous_namespace{PrefsPanel.cpp}::PrefsItemVisitor::PrefsItemVisitor ( PrefsPanel::Factories factories_)
inline

Definition at line 36 of file PrefsPanel.cpp.

37 : factories{ factories_ }
38 {
39 childCounts.push_back( 0 );
40 }

Member Function Documentation

◆ BeginGroup()

void anonymous_namespace{PrefsPanel.cpp}::PrefsItemVisitor::BeginGroup ( Registry::GroupItem item,
const Path  
)
inlineoverridevirtual

Reimplemented from Registry::Visitor.

Definition at line 41 of file PrefsPanel.cpp.

42 {
43 auto pItem = dynamic_cast<PrefsItem*>( &item );
44 if (!pItem)
45 return;
46 indices.push_back( factories.size() );
47 factories.emplace_back( pItem->factory, 0, pItem->expanded );
48 ++childCounts.back();
49 childCounts.push_back( 0 );
50 }

◆ EndGroup()

void anonymous_namespace{PrefsPanel.cpp}::PrefsItemVisitor::EndGroup ( Registry::GroupItem item,
const Path  
)
inlineoverridevirtual

Reimplemented from Registry::Visitor.

Definition at line 51 of file PrefsPanel.cpp.

52 {
53 auto pItem = dynamic_cast<PrefsItem*>( &item );
54 if (!pItem)
55 return;
56 auto &factory = factories[ indices.back() ];
57 factory.nChildren = childCounts.back();
58 childCounts.pop_back();
59 indices.pop_back();
60 }
static RegisteredToolbarFactory factory

References cloud::factory.

Member Data Documentation

◆ childCounts

std::vector<size_t> anonymous_namespace{PrefsPanel.cpp}::PrefsItemVisitor::childCounts

Definition at line 63 of file PrefsPanel.cpp.

◆ factories

PrefsPanel::Factories& anonymous_namespace{PrefsPanel.cpp}::PrefsItemVisitor::factories

Definition at line 62 of file PrefsPanel.cpp.

◆ indices

std::vector<size_t> anonymous_namespace{PrefsPanel.cpp}::PrefsItemVisitor::indices

Definition at line 64 of file PrefsPanel.cpp.


The documentation for this struct was generated from the following file: