LMMS
Loading...
Searching...
No Matches
juce::ValueTree::SharedObject Class Reference
Inheritance diagram for juce::ValueTree::SharedObject:
juce::ReferenceCountedObject

Classes

struct  SetPropertyAction
struct  AddOrRemoveChildAction
struct  MoveChildAction

Public Types

using Ptr = ReferenceCountedObjectPtr<SharedObject>

Public Member Functions

 SharedObject (const Identifier &t) noexcept
 SharedObject (const SharedObject &other)
SharedObjectoperator= (const SharedObject &)=delete
 ~SharedObject ()
SharedObjectgetRoot () noexcept
template<typename Function>
void callListeners (ValueTree::Listener *listenerToExclude, Function fn) const
template<typename Function>
void callListenersForAllParents (ValueTree::Listener *listenerToExclude, Function fn) const
void sendPropertyChangeMessage (const Identifier &property, ValueTree::Listener *listenerToExclude=nullptr)
void sendChildAddedMessage (ValueTree child)
void sendChildRemovedMessage (ValueTree child, int index)
void sendChildOrderChangedMessage (int oldIndex, int newIndex)
void sendParentChangeMessage ()
void setProperty (const Identifier &name, const var &newValue, UndoManager *undoManager, ValueTree::Listener *listenerToExclude=nullptr)
bool hasProperty (const Identifier &name) const noexcept
void removeProperty (const Identifier &name, UndoManager *undoManager)
void removeAllProperties (UndoManager *undoManager)
void copyPropertiesFrom (const SharedObject &source, UndoManager *undoManager)
ValueTree getChildWithName (const Identifier &typeToMatch) const
ValueTree getOrCreateChildWithName (const Identifier &typeToMatch, UndoManager *undoManager)
ValueTree getChildWithProperty (const Identifier &propertyName, const var &propertyValue) const
bool isAChildOf (const SharedObject *possibleParent) const noexcept
int indexOf (const ValueTree &child) const noexcept
void addChild (SharedObject *child, int index, UndoManager *undoManager)
void removeChild (int childIndex, UndoManager *undoManager)
void removeAllChildren (UndoManager *undoManager)
void moveChild (int currentIndex, int newIndex, UndoManager *undoManager)
void reorderChildren (const OwnedArray< ValueTree > &newOrder, UndoManager *undoManager)
bool isEquivalentTo (const SharedObject &other) const noexcept
XmlElementcreateXml () const
void writeToStream (OutputStream &output) const
Public Member Functions inherited from juce::ReferenceCountedObject
void incReferenceCount () noexcept
void decReferenceCount () noexcept
bool decReferenceCountWithoutDeleting () noexcept
int getReferenceCount () const noexcept

Static Public Member Functions

static void writeObjectToStream (OutputStream &output, const SharedObject *object)

Public Attributes

const Identifier type
NamedValueSet properties
ReferenceCountedArray< SharedObjectchildren
SortedSet< ValueTree * > valueTreesWithListeners
SharedObjectparent = nullptr

Additional Inherited Members

Protected Member Functions inherited from juce::ReferenceCountedObject
 ReferenceCountedObject ()=default
 ReferenceCountedObject (const ReferenceCountedObject &) noexcept
 ReferenceCountedObject (ReferenceCountedObject &&) noexcept
ReferenceCountedObjectoperator= (const ReferenceCountedObject &) noexcept
ReferenceCountedObjectoperator= (ReferenceCountedObject &&) noexcept
virtual ~ReferenceCountedObject ()
void resetReferenceCount () noexcept

Member Typedef Documentation

◆ Ptr

using juce::ValueTree::SharedObject::Ptr = ReferenceCountedObjectPtr<SharedObject>

Constructor & Destructor Documentation

◆ SharedObject() [1/2]

juce::ValueTree::SharedObject::SharedObject ( const Identifier & t)
inlineexplicitnoexcept

◆ SharedObject() [2/2]

juce::ValueTree::SharedObject::SharedObject ( const SharedObject & other)
inline

◆ ~SharedObject()

juce::ValueTree::SharedObject::~SharedObject ( )
inline

Member Function Documentation

◆ addChild()

void juce::ValueTree::SharedObject::addChild ( SharedObject * child,
int index,
UndoManager * undoManager )
inline

◆ callListeners()

template<typename Function>
void juce::ValueTree::SharedObject::callListeners ( ValueTree::Listener * listenerToExclude,
Function fn ) const
inline

◆ callListenersForAllParents()

template<typename Function>
void juce::ValueTree::SharedObject::callListenersForAllParents ( ValueTree::Listener * listenerToExclude,
Function fn ) const
inline

◆ copyPropertiesFrom()

void juce::ValueTree::SharedObject::copyPropertiesFrom ( const SharedObject & source,
UndoManager * undoManager )
inline

◆ createXml()

XmlElement * juce::ValueTree::SharedObject::createXml ( ) const
inline

◆ getChildWithName()

ValueTree juce::ValueTree::SharedObject::getChildWithName ( const Identifier & typeToMatch) const
inline

◆ getChildWithProperty()

ValueTree juce::ValueTree::SharedObject::getChildWithProperty ( const Identifier & propertyName,
const var & propertyValue ) const
inline

◆ getOrCreateChildWithName()

ValueTree juce::ValueTree::SharedObject::getOrCreateChildWithName ( const Identifier & typeToMatch,
UndoManager * undoManager )
inline

◆ getRoot()

SharedObject & juce::ValueTree::SharedObject::getRoot ( )
inlinenoexcept

◆ hasProperty()

bool juce::ValueTree::SharedObject::hasProperty ( const Identifier & name) const
inlinenoexcept

◆ indexOf()

int juce::ValueTree::SharedObject::indexOf ( const ValueTree & child) const
inlinenoexcept

◆ isAChildOf()

bool juce::ValueTree::SharedObject::isAChildOf ( const SharedObject * possibleParent) const
inlinenoexcept

◆ isEquivalentTo()

bool juce::ValueTree::SharedObject::isEquivalentTo ( const SharedObject & other) const
inlinenoexcept

◆ moveChild()

void juce::ValueTree::SharedObject::moveChild ( int currentIndex,
int newIndex,
UndoManager * undoManager )
inline

◆ operator=()

SharedObject & juce::ValueTree::SharedObject::operator= ( const SharedObject & )
delete

◆ removeAllChildren()

void juce::ValueTree::SharedObject::removeAllChildren ( UndoManager * undoManager)
inline

◆ removeAllProperties()

void juce::ValueTree::SharedObject::removeAllProperties ( UndoManager * undoManager)
inline

◆ removeChild()

void juce::ValueTree::SharedObject::removeChild ( int childIndex,
UndoManager * undoManager )
inline

◆ removeProperty()

void juce::ValueTree::SharedObject::removeProperty ( const Identifier & name,
UndoManager * undoManager )
inline

◆ reorderChildren()

void juce::ValueTree::SharedObject::reorderChildren ( const OwnedArray< ValueTree > & newOrder,
UndoManager * undoManager )
inline

◆ sendChildAddedMessage()

void juce::ValueTree::SharedObject::sendChildAddedMessage ( ValueTree child)
inline

◆ sendChildOrderChangedMessage()

void juce::ValueTree::SharedObject::sendChildOrderChangedMessage ( int oldIndex,
int newIndex )
inline

◆ sendChildRemovedMessage()

void juce::ValueTree::SharedObject::sendChildRemovedMessage ( ValueTree child,
int index )
inline

◆ sendParentChangeMessage()

void juce::ValueTree::SharedObject::sendParentChangeMessage ( )
inline

◆ sendPropertyChangeMessage()

void juce::ValueTree::SharedObject::sendPropertyChangeMessage ( const Identifier & property,
ValueTree::Listener * listenerToExclude = nullptr )
inline

◆ setProperty()

void juce::ValueTree::SharedObject::setProperty ( const Identifier & name,
const var & newValue,
UndoManager * undoManager,
ValueTree::Listener * listenerToExclude = nullptr )
inline

◆ writeObjectToStream()

void juce::ValueTree::SharedObject::writeObjectToStream ( OutputStream & output,
const SharedObject * object )
inlinestatic

◆ writeToStream()

void juce::ValueTree::SharedObject::writeToStream ( OutputStream & output) const
inline

Member Data Documentation

◆ children

ReferenceCountedArray<SharedObject> juce::ValueTree::SharedObject::children

◆ parent

SharedObject* juce::ValueTree::SharedObject::parent = nullptr

◆ properties

NamedValueSet juce::ValueTree::SharedObject::properties

◆ type

const Identifier juce::ValueTree::SharedObject::type

◆ valueTreesWithListeners

SortedSet<ValueTree*> juce::ValueTree::SharedObject::valueTreesWithListeners

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