Inherits ViewCreatorAdapter.
|
| bool | apply (CView *view, const UIAttributes &attributes, const IUIDescription *description) const override |
| |
| CView * | create (const UIAttributes &attributes, const IUIDescription *description) const override |
| |
| bool | getAttributeNames (std::list< std::string > &attributeNames) const override |
| |
| AttrType | getAttributeType (const std::string &attributeName) const override |
| |
| bool | getAttributeValue (CView *iView, const std::string &iAttributeName, std::string &oStringValue, const IUIDescription *iDescription) const override |
| |
| IdStringPtr | getBaseViewName () const override |
| |
| UTF8StringPtr | getDisplayName () const override |
| |
| IdStringPtr | getViewName () const override |
| |
| template<typename XView > |
| void | registerAttributes (TCustomViewCreator< XView > const &iOther) |
| |
| void | registerBitmapAttribute (std::string const &iName, typename BitmapAttribute::Getter iGetter, typename BitmapAttribute::Setter iSetter) |
| |
| void | registerBooleanAttribute (std::string const &iName, typename BooleanAttribute::Getter iGetter, typename BooleanAttribute::Setter iSetter) |
| |
| void | registerColorAttribute (std::string const &iName, typename ColorAttribute::Getter iGetter, typename ColorAttribute::Setter iSetter) |
| |
| void | registerDoubleAttribute (std::string const &iName, typename FloatAttribute< double >::Getter iGetter, typename FloatAttribute< double >::Setter iSetter) |
| |
| void | registerFloatAttribute (std::string const &iName, typename FloatAttribute< float >::Getter iGetter, typename FloatAttribute< float >::Setter iSetter) |
| |
| void | registerFontAttribute (std::string const &iName, typename FontAttribute::Getter iGetter, typename FontAttribute::Setter iSetter) |
| |
| void | registerGradientAttribute (std::string const &iName, typename GradientAttribute::Getter iGetter, typename GradientAttribute::Setter iSetter) |
| |
| void | registerIntAttribute (std::string const &iName, typename IntegerAttribute< int32_t >::Getter iGetter, typename IntegerAttribute< int32_t >::Setter iSetter) |
| |
| template<typename TInt > |
| void | registerIntegerAttribute (std::string const &iName, typename IntegerAttribute< TInt >::Getter iGetter, typename IntegerAttribute< TInt >::Setter iSetter) |
| |
| void | registerMarginAttribute (std::string const &iName, typename MarginAttribute::Getter iGetter, typename MarginAttribute::Setter iSetter) |
| |
| void | registerRangeAttribute (std::string const &iName, typename RangeAttribute::Getter iGetter, typename RangeAttribute::Setter iSetter) |
| |
| void | registerTagAttribute (std::string const &iName, typename TagAttribute::Getter iGetter, typename TagAttribute::Setter iSetter) |
| |
| | TCustomViewCreator (char const *iViewName=nullptr, char const *iDisplayName=nullptr, char const *iBaseViewName=VSTGUI::UIViewCreator::kCView) |
| |
| | ~TCustomViewCreator () override |
| |
template<typename TView>
class pongasoft::VST::GUI::Views::TCustomViewCreator< TView >
Generic custom view creator base class. Inherit from it and call the various "registerXX" methods in the constructor.
In case of inheritance, you do the following:
class CustomView1 : public CControl { ... } class CustomView2 : public CustomView1 { ... }
class CustomView1Creator : public CustomViewCreator<CustomView1> { public: explicit CustomView1Creator(char const *iViewName = nullptr, char const *iDisplayName = nullptr) : CustomViewCreator(iViewName, iDisplayName) { ... register CustomView1 attributes here ... } } class CustomView2Creator : public CustomViewCreator<CustomView2> { public: explicit CustomView2Creator(char const *iViewName = nullptr, char const *iDisplayName = nullptr) : CustomViewCreator(iViewName, iDisplayName) { registerAttributes(CustomView1Creator()); ... register CustomView2 attributes here ... } }