Loading...
Searching...
No Matches
juce::ComponentBuilder::TypeHandler Class Referenceabstract

## Detailed Description

The class is a base class for objects that manage the loading of a type of component from a ValueTree.

To store and re-load a tree of components as a ValueTree, each component type must have a TypeHandler to represent it.

See also
  ComponentBuilder::registerTypeHandler(), Drawable::registerDrawableTypeHandlers()

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

- juce_gui_basics/layout/juce_ComponentBuilder.h

## Public Member Functions

| TypeHandler (const Identifier &valueTreeType)
| Creates a TypeHandler.
virtual | ~TypeHandler ()
| Destructor.
ComponentBuilder * | getBuilder () const noexcept
| Returns the builder that this type is registered with.
virtual Component * | addNewComponentFromState (const ValueTree &state, Component *parent)=0
| This method must create a new component from the given state, add it to the specified parent component (which may be null), and return it.
virtual void | updateComponentFromState (Component *component, const ValueTree &state)=0
| This method must update an existing component from a new ValueTree state.

## Public Attributes

const Identifier | type
| Returns the type of the ValueTrees that this handler can parse.

## Constructors and Destructors

## TypeHandler()

juce::ComponentBuilder::TypeHandler::TypeHandler | ( | const Identifier & | valueTreeType | ) |

explicit

Creates a TypeHandler.

The valueTreeType must be the type name of the ValueTrees that this handler can parse.

Referenced by ComponentBuilder.

## ~TypeHandler()

virtual juce::ComponentBuilder::TypeHandler::~TypeHandler | ( |  | ) |

virtual

Destructor.

## Member Functions

## getBuilder()

ComponentBuilder * juce::ComponentBuilder::TypeHandler::getBuilder | ( |  | ) | const

noexcept

Returns the builder that this type is registered with.

References ComponentBuilder.

## addNewComponentFromState()

virtual Component * juce::ComponentBuilder::TypeHandler::addNewComponentFromState | ( | const ValueTree & | state,
|  | Component * | parent )

pure virtual

This method must create a new component from the given state, add it to the specified parent component (which may be null), and return it.

The ValueTree will have been pre-checked to make sure that its type matches the type that this handler supports.

There's no need to set the new Component's ID to match that of the state - the builder will take care of that itself.

References addNewComponentFromState(), and juce::ComponentBuilder::state.

Referenced by addNewComponentFromState().

## updateComponentFromState()

virtual void juce::ComponentBuilder::TypeHandler::updateComponentFromState | ( | Component * | component,
|  | const ValueTree & | state )

pure virtual

This method must update an existing component from a new ValueTree state.

A component that has been created with addNewComponentFromState() may need to be updated if the ValueTree changes, so this method is used to do that. Your implementation must do whatever's necessary to update the component from the new state provided.

The ValueTree will have been pre-checked to make sure that its type matches the type that this handler supports, and the component will have been created by this type's addNewComponentFromState() method.

References juce::ComponentBuilder::state, and updateComponentFromState().

Referenced by updateComponentFromState().

## Member Data Documentation

## type

const Identifier juce::ComponentBuilder::TypeHandler::type

Returns the type of the ValueTrees that this handler can parse.

### Purchase

Get JUCE

### Discover

What's New in JUCE Features

### Learn

Documentaion Tutorials Made with JUCE Resources

### Support

JUCE Forum Newsletter Archive

### About

Contact Us JUCE Legal JUCE Licensing FAQ

### Events

Audio Developer Conference
© Raw Material Software Limited