VSTGUI 4.10 Graphical User Interface Framework not only for VST plugins

Classes | Public Types | Public Member Functions | Static Public Attributes | Protected Types | Protected Member Functions | List of all members
UIDescription Class Reference
New classes » Version 4.0

XML description parser and view creator. More...

`#include <uidescription.h>`

Inheritance diagram for UIDescription:

## Classes
struct | Impl

## Public Types
enum | SaveFlags { kWriteWindowsResourceFile = 1 << WriteWindowsResourceFileBit , kWriteImagesIntoUIDescFile = 1 << WriteImagesIntoUIDescFileBit , kDoNotVerifyImageData = 1 << DoNotVerifyImageDataBit , kWriteAsXML = 1 << WriteAsXmlBit , kWriteImagesIntoXMLFile = kWriteImagesIntoUIDescFile , kDoNotVerifyImageXMLData = kDoNotVerifyImageData }
using | AttributeSaveFilterFunc = bool(*)(CView *view, const std::string &name)
using | FocusDrawing = FocusDrawingSettings

## Public Member Functions
| UIDescription (const CResourceDescription &uidescFile, IViewFactory *viewFactory=nullptr)
| UIDescription (IContentProvider *contentProvider, IViewFactory *viewFactory=nullptr)
| ~UIDescription () noexcept override
virtual bool | parse ()
virtual bool | save (UTF8StringPtr filename, int32_t flags=kWriteWindowsResourceFile, AttributeSaveFilterFunc func=nullptr)
virtual bool | saveWindowsRCFile (UTF8StringPtr filename)
bool | storeViews (const std::list< CView * > &views, OutputStream &stream, SharedPointer< UIAttributes > customData={}) const
bool | restoreViews (InputStream &stream, std::list< SharedPointer< CView > > &views, UIAttributes **customData=nullptr)
UTF8StringPtr | getFilePath () const
void | setFilePath (UTF8StringPtr path)
void | setSharedResources (const SharedPointer< UIDescription > &resources)
const SharedPointer< UIDescription > & | getSharedResources () const
const UIAttributes * | getViewAttributes (UTF8StringPtr name) const
void | setController (IController *controller) const
CView * | createView (UTF8StringPtr name, IController *controller) const override
CBitmap * | getBitmap (UTF8StringPtr name) const override
CFontRef | getFont (UTF8StringPtr name) const override
bool | getColor (UTF8StringPtr name, CColor &color) const override
CGradient * | getGradient (UTF8StringPtr name) const override
int32_t | getTagForName (UTF8StringPtr name) const override
IControlListener * | getControlListener (UTF8StringPtr name) const override
IController * | getController () const override
const IViewFactory * | getViewFactory () const override
UTF8StringPtr | lookupColorName (const CColor &color) const override
UTF8StringPtr | lookupFontName (const CFontRef font) const override
UTF8StringPtr | lookupBitmapName (const CBitmap *bitmap) const override
UTF8StringPtr | lookupGradientName (const CGradient *gradient) const override
UTF8StringPtr | lookupControlTagName (const int32_t tag) const override
bool | getVariable (UTF8StringPtr name, double &value) const override
bool | getVariable (UTF8StringPtr name, std::string &value) const override
void | collectTemplateViewNames (std::list< const std::string * > &names) const override
void | collectColorNames (std::list< const std::string * > &names) const override
void | collectFontNames (std::list< const std::string * > &names) const override
void | collectBitmapNames (std::list< const std::string * > &names) const override
void | collectGradientNames (std::list< const std::string * > &names) const override
void | collectControlTagNames (std::list< const std::string * > &names) const override
void | changeColorName (UTF8StringPtr oldName, UTF8StringPtr newName)
void | changeTagName (UTF8StringPtr oldName, UTF8StringPtr newName)
void | changeFontName (UTF8StringPtr oldName, UTF8StringPtr newName)
void | changeBitmapName (UTF8StringPtr oldName, UTF8StringPtr newName)
void | changeGradientName (UTF8StringPtr oldName, UTF8StringPtr newName)
void | changeColor (UTF8StringPtr name, const CColor &newColor)
void | changeFont (UTF8StringPtr name, CFontRef newFont)
void | changeGradient (UTF8StringPtr name, CGradient *newGradient)
void | changeBitmap (UTF8StringPtr name, UTF8StringPtr newName, const CRect *nineparttiledOffset=nullptr)
void | changeMultiFrameBitmap (UTF8StringPtr name, UTF8StringPtr newName, const CMultiFrameBitmapDescription *=nullptr)
void | changeBitmapFilters (UTF8StringPtr bitmapName, const std::list< SharedPointer< UIAttributes > > &filters)
void | collectBitmapFilters (UTF8StringPtr bitmapName, std::list< SharedPointer< UIAttributes > > &filters) const
void | removeColor (UTF8StringPtr name)
void | removeTag (UTF8StringPtr name)
void | removeFont (UTF8StringPtr name)
void | removeBitmap (UTF8StringPtr name)
void | removeGradient (UTF8StringPtr name)
void | changeAlternativeFontNames (UTF8StringPtr name, UTF8StringPtr alternativeFonts)
bool | getAlternativeFontNames (UTF8StringPtr name, std::string &alternativeFonts) const
bool | hasColorName (UTF8StringPtr name) const
bool | hasTagName (UTF8StringPtr name) const
bool | hasFontName (UTF8StringPtr name) const
bool | hasBitmapName (UTF8StringPtr name) const
bool | hasGradientName (UTF8StringPtr name) const
void | updateViewDescription (UTF8StringPtr name, CView *view)
bool | getTemplateNameFromView (CView *view, std::string &templateName) const
bool | addNewTemplate (UTF8StringPtr name, const SharedPointer< UIAttributes > &attr)
bool | removeTemplate (UTF8StringPtr name)
bool | changeTemplateName (UTF8StringPtr name, UTF8StringPtr newName)
bool | duplicateTemplate (UTF8StringPtr name, UTF8StringPtr duplicateName)
bool | setCustomAttributes (UTF8StringPtr name, const SharedPointer< UIAttributes > &attr)
SharedPointer< UIAttributes > | getCustomAttributes (UTF8StringPtr name) const
SharedPointer< UIAttributes > | getCustomAttributes (UTF8StringPtr name, bool create)
bool | getControlTagString (UTF8StringPtr tagName, std::string &tagString) const
bool | changeControlTagString (UTF8StringPtr tagName, const std::string &newTagString, bool create=false)
bool | calculateStringValue (UTF8StringPtr str, double &result) const
void | registerListener (UIDescriptionListener *listener)
void | unregisterListener (UIDescriptionListener *listener)
void | setBitmapCreator (IBitmapCreator *bitmapCreator)
void | setBitmapCreator2 (IBitmapCreator2 *bitmapCreator)
FocusDrawing | getFocusDrawingSettings () const
void | setFocusDrawingSettings (const FocusDrawing &fd)
void | freePlatformResources ()
SharedPointer< UINode > | getRootNode () const
Public Member Functions inherited from ReferenceCounted< T >
| ReferenceCounted ()=default
virtual | ~ReferenceCounted () noexcept=default
| ReferenceCounted (const ReferenceCounted &)
ReferenceCounted & | operator= (const ReferenceCounted &)
void | forget () override
| decrease refcount and delete object if refcount == 0 More...
void | remember () override
| increase refcount More...
virtual int32_t | getNbReference () const
| get refcount More...
virtual void | forget ()=0
| decrease refcount and delete object if refcount == 0 More...
virtual void | remember ()=0
| increase refcount More...
Public Member Functions inherited from IUIDescription
virtual | ~IUIDescription () noexcept=default
virtual CView * | createView (UTF8StringPtr name, IController *controller) const =0
virtual CBitmap * | getBitmap (UTF8StringPtr name) const =0
virtual CFontRef | getFont (UTF8StringPtr name) const =0
virtual bool | getColor (UTF8StringPtr name, CColor &color) const =0
virtual CGradient * | getGradient (UTF8StringPtr name) const =0
virtual int32_t | getTagForName (UTF8StringPtr name) const =0
virtual IControlListener * | getControlListener (UTF8StringPtr name) const =0
virtual IController * | getController () const =0
virtual UTF8StringPtr | lookupColorName (const CColor &color) const =0
virtual UTF8StringPtr | lookupFontName (const CFontRef font) const =0
virtual UTF8StringPtr | lookupBitmapName (const CBitmap *bitmap) const =0
virtual UTF8StringPtr | lookupGradientName (const CGradient *gradient) const =0
virtual UTF8StringPtr | lookupControlTagName (const int32_t tag) const =0
virtual bool | getVariable (UTF8StringPtr name, double &value) const =0
virtual bool | getVariable (UTF8StringPtr name, std::string &value) const =0
virtual void | collectTemplateViewNames (std::list< const std::string * > &names) const =0
virtual void | collectColorNames (std::list< const std::string * > &names) const =0
virtual void | collectFontNames (std::list< const std::string * > &names) const =0
virtual void | collectBitmapNames (std::list< const std::string * > &names) const =0
virtual void | collectGradientNames (std::list< const std::string * > &names) const =0
virtual void | collectControlTagNames (std::list< const std::string * > &names) const =0
virtual const IViewFactory * | getViewFactory () const =0

## Static Public Attributes
static CViewAttributeID | kTemplateNameAttributeID = 'uitl'
Static Public Attributes inherited from IUIDescription
static IdStringPtr | kCustomViewName = "custom-view-name"

## Protected Types
enum | SaveFlagBits { WriteWindowsResourceFileBit = 0 , WriteImagesIntoUIDescFileBit , DoNotVerifyImageDataBit , WriteAsXmlBit , LastSaveFlagBit }

## Protected Member Functions
void | addDefaultNodes ()
bool | saveToStream (OutputStream &stream, int32_t flags, AttributeSaveFilterFunc func)
bool | parsed () const
void | setContentProvider (IContentProvider *provider)
const CResourceDescription & | getUIDescFile () const

## Detailed Description

XML description parser and view creator.

## Member Typedef Documentation

## ◆ AttributeSaveFilterFunc

using AttributeSaveFilterFunc = bool (*) (CView* view, const std::string& name)

## ◆ FocusDrawing

using FocusDrawing = FocusDrawingSettings

## Member Enumeration Documentation

## ◆ SaveFlagBits

enum SaveFlagBits
| protected

Enumerator
WriteWindowsResourceFileBit |
WriteImagesIntoUIDescFileBit |
DoNotVerifyImageDataBit |
WriteAsXmlBit |
LastSaveFlagBit |

## ◆ SaveFlags

enum SaveFlags

Enumerator
kWriteWindowsResourceFile |
kWriteImagesIntoUIDescFile |
kDoNotVerifyImageData |
kWriteAsXML |
kWriteImagesIntoXMLFile |
kDoNotVerifyImageXMLData |

## Constructor & Destructor Documentation

## ◆ UIDescription() [1/2]

UIDescription | ( | const CResourceDescription & | uidescFile,
|  | IViewFactory * | viewFactory = `nullptr`
| ) |  |

## ◆ UIDescription() [2/2]

UIDescription | ( | IContentProvider * | contentProvider,
|  | IViewFactory * | viewFactory = `nullptr`
| ) |  |

## ◆ ~UIDescription()

~UIDescription | ( |  | ) |
| override noexcept

## Member Function Documentation

## ◆ addDefaultNodes()

void addDefaultNodes | ( |  | ) |
| protected

## ◆ addNewTemplate()

bool addNewTemplate | ( | UTF8StringPtr | name,
|  | const SharedPointer< UIAttributes > & | attr
| ) |  |

## ◆ calculateStringValue()

bool calculateStringValue | ( | UTF8StringPtr | str,
|  | double & | result
| ) |  | const

## ◆ changeAlternativeFontNames()

void changeAlternativeFontNames | ( | UTF8StringPtr | name,
|  | UTF8StringPtr | alternativeFonts
| ) |  |

## ◆ changeBitmap()

void changeBitmap | ( | UTF8StringPtr | name,
|  | UTF8StringPtr | newName,
|  | const CRect * | nineparttiledOffset = `nullptr`
| ) |  |

## ◆ changeBitmapFilters()

void changeBitmapFilters | ( | UTF8StringPtr | bitmapName,
|  | const std::list< SharedPointer< UIAttributes > > & | filters
| ) |  |

## ◆ changeBitmapName()

void changeBitmapName | ( | UTF8StringPtr | oldName,
|  | UTF8StringPtr | newName
| ) |  |

## ◆ changeColor()

void changeColor | ( | UTF8StringPtr | name,
|  | const CColor & | newColor
| ) |  |

## ◆ changeColorName()

void changeColorName | ( | UTF8StringPtr | oldName,
|  | UTF8StringPtr | newName
| ) |  |

## ◆ changeControlTagString()

bool changeControlTagString | ( | UTF8StringPtr | tagName,
|  | const std::string & | newTagString,
|  | bool | create = `false`
| ) |  |

## ◆ changeFont()

void changeFont | ( | UTF8StringPtr | name,
|  | CFontRef | newFont
| ) |  |

## ◆ changeFontName()

void changeFontName | ( | UTF8StringPtr | oldName,
|  | UTF8StringPtr | newName
| ) |  |

## ◆ changeGradient()

void changeGradient | ( | UTF8StringPtr | name,
|  | CGradient * | newGradient
| ) |  |

## ◆ changeGradientName()

void changeGradientName | ( | UTF8StringPtr | oldName,
|  | UTF8StringPtr | newName
| ) |  |

## ◆ changeMultiFrameBitmap()

void changeMultiFrameBitmap | ( | UTF8StringPtr | name,
|  | UTF8StringPtr | newName,
|  | const CMultiFrameBitmapDescription * | desc = `nullptr`
| ) |  |

## ◆ changeTagName()

void changeTagName | ( | UTF8StringPtr | oldName,
|  | UTF8StringPtr | newName
| ) |  |

## ◆ changeTemplateName()

bool changeTemplateName | ( | UTF8StringPtr | name,
|  | UTF8StringPtr | newName
| ) |  |

## ◆ collectBitmapFilters()

void collectBitmapFilters | ( | UTF8StringPtr | bitmapName,
|  | std::list< SharedPointer< UIAttributes > > & | filters
| ) |  | const

## ◆ collectBitmapNames()

void collectBitmapNames | ( | std::list< const std::string * > & | names | ) | const
| override virtual

Implements IUIDescription.

## ◆ collectColorNames()

void collectColorNames | ( | std::list< const std::string * > & | names | ) | const
| override virtual

Implements IUIDescription.

## ◆ collectControlTagNames()

void collectControlTagNames | ( | std::list< const std::string * > & | names | ) | const
| override virtual

Implements IUIDescription.

## ◆ collectFontNames()

void collectFontNames | ( | std::list< const std::string * > & | names | ) | const
| override virtual

Implements IUIDescription.

## ◆ collectGradientNames()

void collectGradientNames | ( | std::list< const std::string * > & | names | ) | const
| override virtual

Implements IUIDescription.

## ◆ collectTemplateViewNames()

void collectTemplateViewNames | ( | std::list< const std::string * > & | names | ) | const
| override virtual

Implements IUIDescription.

## ◆ createView()

CView * createView | ( | UTF8StringPtr | name,
|  | IController * | controller
| ) |  | const
| override virtual

Implements IUIDescription.

## ◆ duplicateTemplate()

bool duplicateTemplate | ( | UTF8StringPtr | name,
|  | UTF8StringPtr | duplicateName
| ) |  |

## ◆ freePlatformResources()

void freePlatformResources | ( |  | ) |

## ◆ getAlternativeFontNames()

bool getAlternativeFontNames | ( | UTF8StringPtr | name,
|  | std::string & | alternativeFonts
| ) |  | const

## ◆ getBitmap()

CBitmap * getBitmap | ( | UTF8StringPtr | name | ) | const
| override virtual

Implements IUIDescription.

## ◆ getColor()

bool getColor | ( | UTF8StringPtr | name,
|  | CColor & | color
| ) |  | const
| override virtual

Implements IUIDescription.

## ◆ getController()

IController * getController | ( |  | ) | const
| override virtual

Implements IUIDescription.

## ◆ getControlListener()

IControlListener * getControlListener | ( | UTF8StringPtr | name | ) | const
| override virtual

Implements IUIDescription.

## ◆ getControlTagString()

bool getControlTagString | ( | UTF8StringPtr | tagName,
|  | std::string & | tagString
| ) |  | const

## ◆ getCustomAttributes() [1/2]

SharedPointer< UIAttributes > getCustomAttributes | ( | UTF8StringPtr | name | ) | const

## ◆ getCustomAttributes() [2/2]

SharedPointer< UIAttributes > getCustomAttributes | ( | UTF8StringPtr | name,
|  | bool | create
| ) |  |

## ◆ getFilePath()

UTF8StringPtr getFilePath | ( |  | ) | const

## ◆ getFocusDrawingSettings()

UIDescription::FocusDrawing getFocusDrawingSettings | ( |  | ) | const

## ◆ getFont()

CFontRef getFont | ( | UTF8StringPtr | name | ) | const
| override virtual

Implements IUIDescription.

## ◆ getGradient()

CGradient * getGradient | ( | UTF8StringPtr | name | ) | const
| override virtual

Implements IUIDescription.

## ◆ getRootNode()

auto getRootNode | ( |  | ) | const

## ◆ getSharedResources()

const SharedPointer< UIDescription > & getSharedResources | ( |  | ) | const

## ◆ getTagForName()

int32_t getTagForName | ( | UTF8StringPtr | name | ) | const
| override virtual

Implements IUIDescription.

## ◆ getTemplateNameFromView()

bool getTemplateNameFromView | ( | CView * | view,
|  | std::string & | templateName
| ) |  | const

## ◆ getUIDescFile()

const CResourceDescription & getUIDescFile | ( |  | ) | const
| protected

## ◆ getVariable() [1/2]

bool getVariable | ( | UTF8StringPtr | name,
|  | double & | value
| ) |  | const
| override virtual

Implements IUIDescription.

## ◆ getVariable() [2/2]

bool getVariable | ( | UTF8StringPtr | name,
|  | std::string & | value
| ) |  | const
| override virtual

Implements IUIDescription.

## ◆ getViewAttributes()

const UIAttributes * getViewAttributes | ( | UTF8StringPtr | name | ) | const

## ◆ getViewFactory()

const IViewFactory * getViewFactory | ( |  | ) | const
| override virtual

Implements IUIDescription.

## ◆ hasBitmapName()

bool hasBitmapName | ( | UTF8StringPtr | name | ) | const

## ◆ hasColorName()

bool hasColorName | ( | UTF8StringPtr | name | ) | const

## ◆ hasFontName()

bool hasFontName | ( | UTF8StringPtr | name | ) | const

## ◆ hasGradientName()

bool hasGradientName | ( | UTF8StringPtr | name | ) | const

## ◆ hasTagName()

bool hasTagName | ( | UTF8StringPtr | name | ) | const

## ◆ lookupBitmapName()

UTF8StringPtr lookupBitmapName | ( | const CBitmap * | bitmap | ) | const
| override virtual

Implements IUIDescription.

## ◆ lookupColorName()

UTF8StringPtr lookupColorName | ( | const CColor & | color | ) | const
| override virtual

Implements IUIDescription.

## ◆ lookupControlTagName()

UTF8StringPtr lookupControlTagName | ( | const int32_t | tag | ) | const
| override virtual

Implements IUIDescription.

## ◆ lookupFontName()

UTF8StringPtr lookupFontName | ( | const CFontRef | font | ) | const
| override virtual

Implements IUIDescription.

## ◆ lookupGradientName()

UTF8StringPtr lookupGradientName | ( | const CGradient * | gradient | ) | const
| override virtual

Implements IUIDescription.

## ◆ parse()

bool parse | ( |  | ) |
| virtual

Reimplemented in CompressedUIDescription.

## ◆ parsed()

bool parsed | ( |  | ) | const
| protected

## ◆ registerListener()

void registerListener | ( | UIDescriptionListener * | listener | ) |

## ◆ removeBitmap()

void removeBitmap | ( | UTF8StringPtr | name | ) |

## ◆ removeColor()

void removeColor | ( | UTF8StringPtr | name | ) |

## ◆ removeFont()

void removeFont | ( | UTF8StringPtr | name | ) |

## ◆ removeGradient()

void removeGradient | ( | UTF8StringPtr | name | ) |

## ◆ removeTag()

void removeTag | ( | UTF8StringPtr | name | ) |

## ◆ removeTemplate()

bool removeTemplate | ( | UTF8StringPtr | name | ) |

## ◆ restoreViews()

bool restoreViews | ( | InputStream & | stream,
|  | std::list< SharedPointer< CView > > & | views,
|  | UIAttributes ** | customData = `nullptr`
| ) |  |

## ◆ save()

bool save | ( | UTF8StringPtr | filename,
|  | int32_t | flags = `kWriteWindowsResourceFile`,
|  | AttributeSaveFilterFunc | func = `nullptr`
| ) |  |
| virtual

Reimplemented in CompressedUIDescription.

## ◆ saveToStream()

bool saveToStream | ( | OutputStream & | stream,
|  | int32_t | flags,
|  | AttributeSaveFilterFunc | func
| ) |  |
| protected

## ◆ saveWindowsRCFile()

bool saveWindowsRCFile | ( | UTF8StringPtr | filename | ) |
| virtual

## ◆ setBitmapCreator()

void setBitmapCreator | ( | IBitmapCreator * | bitmapCreator | ) |

## ◆ setBitmapCreator2()

void setBitmapCreator2 | ( | IBitmapCreator2 * | bitmapCreator | ) |

## ◆ setContentProvider()

void setContentProvider | ( | IContentProvider * | provider | ) |
| protected

## ◆ setController()

void setController | ( | IController * | controller | ) | const

## ◆ setCustomAttributes()

bool setCustomAttributes | ( | UTF8StringPtr | name,
|  | const SharedPointer< UIAttributes > & | attr
| ) |  |

## ◆ setFilePath()

void setFilePath | ( | UTF8StringPtr | path | ) |

## ◆ setFocusDrawingSettings()

void setFocusDrawingSettings | ( | const FocusDrawing & | fd | ) |

## ◆ setSharedResources()

void setSharedResources | ( | const SharedPointer< UIDescription > & | resources | ) |

## ◆ storeViews()

bool storeViews | ( | const std::list< CView * > & | views,
|  | OutputStream & | stream,
|  | SharedPointer< UIAttributes > | customData = `{}`
| ) |  | const

## ◆ unregisterListener()

void unregisterListener | ( | UIDescriptionListener * | listener | ) |

## ◆ updateViewDescription()

void updateViewDescription | ( | UTF8StringPtr | name,
|  | CView * | view
| ) |  |

## Member Data Documentation

## ◆ kTemplateNameAttributeID

CViewAttributeID kTemplateNameAttributeID = 'uitl'
| static

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

- uidescription.h
- uidescription.cpp