20 #include <vstgui4/vstgui/uidescription/iviewcreator.h> 21 #include <vstgui4/vstgui/uidescription/uiviewcreator.h> 22 #include <vstgui4/vstgui/uidescription/uiviewfactory.h> 23 #include <vstgui4/vstgui/uidescription/uiattributes.h> 24 #include <vstgui4/vstgui/uidescription/detail/uiviewcreatorattributes.h> 25 #include <vstgui4/vstgui/lib/crect.h> 26 #include <vstgui4/vstgui/lib/ccolor.h> 27 #include <vstgui4/vstgui/lib/cbitmap.h> 30 #include <pongasoft/logging/logging.h> 50 fName(std::move(iName))
56 virtual IViewCreator::AttrType getType() = 0;
73 virtual bool apply(CView *iView,
const UIAttributes &iAttributes,
const IUIDescription *iDescription) = 0;
81 virtual bool getAttributeValue(CView *iView,
const IUIDescription *iDescription, std::string &oStringValue)
const = 0;
91 template<
typename TView>
93 const UIAttributes &iAttributes,
94 const IUIDescription *iDescription) {
return new TView(iSize); }
122 template<
typename TView>
131 template<
typename T,
typename TGetter,
typename TSetter>
145 return IViewCreator::kUnknownType;
152 virtual bool fromString(IUIDescription
const *iDescription, std::string
const &iAttributeValue, T &oValue)
const 161 virtual bool toString(IUIDescription
const *iDescription, T
const &iValue, std::string &oStringValue)
const 167 bool apply(CView *iView,
const UIAttributes &iAttributes,
const IUIDescription *iDescription)
override 169 auto *tv = dynamic_cast<TView *>(iView);
172 auto attributeValue = iAttributes.getAttributeValue(getName());
176 if(fromString(iDescription, *attributeValue, value))
178 (tv->*fSetter)(value);
187 bool getAttributeValue(CView *iView,
const IUIDescription *iDescription, std::string &oStringValue)
const override 189 auto *tv = dynamic_cast<TView *>(iView);
192 auto value = (tv->*fGetter)();
193 return toString(iDescription, value, oStringValue);
213 using ByRefAttribute = TAttribute<T, T
const &(TView::*)() const,
void (TView::*)(T const &)>;
230 return IViewCreator::kTagType;
234 bool fromString(IUIDescription
const *iDescription, std::string
const &iAttributeValue, int32_t &oValue)
const override 236 if(iAttributeValue.length() != 0)
238 auto tag = iDescription->getTagForName(iAttributeValue.c_str());
241 char *endPtr =
nullptr;
242 tag = (int32_t) strtol(iAttributeValue.c_str(), &endPtr, 10);
243 if(endPtr == iAttributeValue.c_str())
255 bool toString(IUIDescription
const *iDescription,
const int32_t &iValue, std::string &oStringValue)
const override 259 UTF8StringPtr controlTag = iDescription->lookupControlTagName(iValue);
262 oStringValue = controlTag;
275 template<
typename TInt>
289 return IViewCreator::kIntegerType;
293 bool fromString(IUIDescription
const *iDescription, std::string
const &iAttributeValue, TInt &oValue)
const override 295 char *endPtr =
nullptr;
296 auto value = static_cast<TInt>(strtol(iAttributeValue.c_str(), &endPtr, 10));
297 if(endPtr == iAttributeValue.c_str())
299 DLOG_F(WARNING,
"could not convert <%s> to an integer", iAttributeValue.c_str());
307 bool toString(IUIDescription
const *iDescription,
const TInt &iValue, std::string &oStringValue)
const override 309 std::stringstream str;
311 oStringValue = str.str();
320 template<
typename TFloat>
334 return IViewCreator::kFloatType;
338 bool fromString(IUIDescription
const *iDescription, std::string
const &iAttributeValue, TFloat &oValue)
const override 341 if(Utils::stringToFloat<TFloat>(iAttributeValue, value))
346 DLOG_F(WARNING,
"could not convert <%s> to a float", iAttributeValue.c_str());
351 bool toString(IUIDescription
const *iDescription,
const TFloat &iValue, std::string &oStringValue)
const override 353 std::stringstream str;
355 oStringValue = str.str();
377 return IViewCreator::kColorType;
381 bool fromString(IUIDescription
const *iDescription, std::string
const &iAttributeValue, CColor &oValue)
const override 384 if(UIViewCreator::stringToColor(&iAttributeValue, color, iDescription))
393 bool toString(IUIDescription
const *iDescription,
const CColor &iValue, std::string &oStringValue)
const override 395 return UIViewCreator::colorToString(iValue, oStringValue, iDescription);
416 return IViewCreator::kGradientType;
420 bool fromString(IUIDescription
const *iDescription, std::string
const &iAttributeValue,
GradientPtr &oValue)
const override 422 auto gradient = iDescription->getGradient(iAttributeValue.c_str());
432 bool toString(IUIDescription
const *iDescription,
GradientPtr const &iValue, std::string &oStringValue)
const override 436 auto name = iDescription->lookupGradientName(iValue);
464 return IViewCreator::kBooleanType;
468 bool fromString(IUIDescription
const *iDescription, std::string
const &iAttributeValue,
bool &oValue)
const override 470 if(iAttributeValue ==
"true")
476 if(iAttributeValue ==
"false")
486 bool toString(IUIDescription
const *iDescription,
const bool &iValue, std::string &oStringValue)
const override 488 oStringValue = iValue ?
"true" :
"false";
509 return IViewCreator::kBitmapType;
513 bool fromString(IUIDescription
const *iDescription, std::string
const &iAttributeValue,
BitmapPtr &oValue)
const override 516 if(UIViewCreator::stringToBitmap(&iAttributeValue, bitmap, iDescription))
525 bool toString(IUIDescription
const *iDescription,
BitmapPtr const &iValue, std::string &oStringValue)
const override 528 return UIViewCreator::bitmapToString(iValue, oStringValue, iDescription);
550 return IViewCreator::kFontType;
554 bool fromString(IUIDescription
const *iDescription, std::string
const &iAttributeValue,
FontPtr &oValue)
const override 556 auto font = iDescription->getFont(iAttributeValue.c_str());
566 bool toString(IUIDescription
const *iDescription,
FontPtr const &iValue, std::string &oStringValue)
const override 570 auto fontName = iDescription->lookupFontName(iValue);
573 oStringValue = fontName;
594 bool fromString(IUIDescription
const *iDescription, std::string
const &iAttributeValue,
Margin &oValue)
const override 596 auto parts = Utils::splitFloats<CCoord>(iAttributeValue,
',');
602 if(std::find_if(parts.cbegin(), parts.cend(), [] (
auto f) {
return std::isnan(f);}) != parts.cend())
605 if(parts.size() == 1)
607 oValue =
Margin{parts[0]};
614 oValue =
Margin{parts[0], parts[1], parts[2], parts[3]};
621 bool toString(IUIDescription
const *iDescription,
const Margin &iValue, std::string &oStringValue)
const override 623 std::stringstream str;
636 oStringValue = str.str();
654 bool fromString(IUIDescription
const *iDescription, std::string
const &iAttributeValue,
Range &oValue)
const override 656 auto parts = Utils::splitFloats<CCoord>(iAttributeValue,
',');
662 if(std::find_if(parts.cbegin(), parts.cend(), [] (
auto f) {
return std::isnan(f);}) != parts.cend())
665 if(parts.size() == 1)
666 oValue =
Range{parts[0]};
668 oValue =
Range{parts[0], parts[1]};
674 bool toString(IUIDescription
const *iDescription,
const Range &iValue, std::string &oStringValue)
const override 676 std::stringstream str;
685 oStringValue = str.str();
702 char iDelimiter =
',',
703 bool iSkipEmptyEntries =
false) :
705 fDelimiter{iDelimiter},
706 fSkipEmptyEntries{iSkipEmptyEntries}
711 std::string
const &iAttributeValue,
712 std::vector<std::string> &oValue)
const override 720 const std::vector<std::string> &iValue,
721 std::string &oStringValue)
const override 723 oStringValue.clear();
725 for(
auto &entry : iValue)
728 oStringValue += fDelimiter;
729 if(!entry.empty() || !fSkipEmptyEntries)
731 oStringValue += entry;
746 char const *iDisplayName =
nullptr,
747 char const *iBaseViewName = VSTGUI::UIViewCreator::kCView) :
748 fViewName{iViewName},
749 fDisplayName{iDisplayName},
750 fBaseViewName{iBaseViewName},
754 if(iViewName !=
nullptr && iDisplayName !=
nullptr)
755 VSTGUI::UIViewFactory::registerViewCreator(*
this);
781 return fBaseViewName;
787 template<
typename XView>
792 registerAttribute(attribute.second);
795 if(std::string(fBaseViewName) == std::string(VSTGUI::UIViewCreator::kCView))
803 typename ColorAttribute::Getter iGetter,
804 typename ColorAttribute::Setter iSetter)
806 registerAttribute<ColorAttribute>(iName, iGetter, iSetter);
813 typename GradientAttribute::Getter iGetter,
814 typename GradientAttribute::Setter iSetter)
816 registerAttribute<GradientAttribute>(iName, iGetter, iSetter);
823 typename BitmapAttribute::Getter iGetter,
824 typename BitmapAttribute::Setter iSetter)
826 registerAttribute<BitmapAttribute>(iName, iGetter, iSetter);
833 typename FontAttribute::Getter iGetter,
834 typename FontAttribute::Setter iSetter)
836 registerAttribute<FontAttribute>(iName, iGetter, iSetter);
843 typename MarginAttribute::Getter iGetter,
844 typename MarginAttribute::Setter iSetter)
846 registerAttribute<MarginAttribute>(iName, iGetter, iSetter);
853 typename RangeAttribute::Getter iGetter,
854 typename RangeAttribute::Setter iSetter)
856 registerAttribute<RangeAttribute>(iName, iGetter, iSetter);
863 typename VectorStringAttribute::Getter iGetter,
864 typename VectorStringAttribute::Setter iSetter,
865 char iDelimiter =
',',
866 bool iSkipEmptyEntries =
false)
868 registerAttribute<VectorStringAttribute>(iName, iGetter, iSetter, iDelimiter, iSkipEmptyEntries);
875 typename TagAttribute::Getter iGetter,
876 typename TagAttribute::Setter iSetter)
878 registerAttribute<TagAttribute>(iName, iGetter, iSetter);
884 template<
typename TInt>
886 typename IntegerAttribute<TInt>::Getter iGetter,
887 typename IntegerAttribute<TInt>::Setter iSetter)
889 registerAttribute<IntegerAttribute<TInt>>(iName, iGetter, iSetter);
896 typename IntegerAttribute<int32_t>::Getter iGetter,
897 typename IntegerAttribute<int32_t>::Setter iSetter)
899 registerIntegerAttribute<int32_t>(iName, iGetter, iSetter);
906 typename FloatAttribute<float>::Getter iGetter,
907 typename FloatAttribute<float>::Setter iSetter)
909 registerAttribute<FloatAttribute<float>>(iName, iGetter, iSetter);
916 typename FloatAttribute<double>::Getter iGetter,
917 typename FloatAttribute<double>::Setter iSetter)
919 registerAttribute<FloatAttribute<double>>(iName, iGetter, iSetter);
926 typename BooleanAttribute::Getter iGetter,
927 typename BooleanAttribute::Setter iSetter)
929 registerAttribute<BooleanAttribute>(iName, iGetter, iSetter);
935 CView *
create(
const UIAttributes &attributes,
const IUIDescription *description)
const override 937 #ifdef JAMBA_DEBUG_LOGGING 938 DLOG_F(INFO,
"CustomViewCreator<%s>::create()", getViewName());
941 return createCustomView<TView>(CRect(0, 0, 0, 0), attributes, description);
948 bool apply(CView *view,
const UIAttributes &attributes,
const IUIDescription *description)
const override 950 auto *tv = dynamic_cast<TView *>(view);
955 for(
auto attribute : fAttributes)
957 attribute.second->apply(tv, attributes, description);
966 for(
auto attribute : fAttributes)
968 attributeNames.emplace_back(attribute.first);
976 auto iter = fAttributes.find(attributeName);
977 if(iter != fAttributes.cend())
979 return iter->second->getType();
988 const std::string &iAttributeName,
989 std::string &oStringValue,
990 const IUIDescription *iDescription)
const override 992 auto *cdv = dynamic_cast<TView *>(iView);
997 auto iter = fAttributes.find(iAttributeName);
998 if(iter != fAttributes.cend())
1000 return iter->second->getAttributeValue(cdv, iDescription, oStringValue);
1009 template<
typename XView>
1018 assert(fAttributes.find(iAttribute->getName()) == fAttributes.cend());
1019 fAttributes[iAttribute->getName()] = iAttribute;
1025 template<
typename TViewAttribute,
typename... Args>
1027 typename TViewAttribute::Getter iGetter,
1028 typename TViewAttribute::Setter iSetter,
1031 std::shared_ptr<ViewAttribute> cva;
1032 cva.reset(
new TViewAttribute(iName, iGetter, iSetter, iArgs...));
1033 registerAttribute(cva);
1048 template<
typename TView,
typename TBaseView>
1053 char const *iDisplayName =
nullptr,
1054 char const *iBaseViewName = VSTGUI::UIViewCreator::kCView) :
TSetter Setter
Definition: CustomViewCreator.h:136
Definition: CustomViewCreator.h:1049
Definition: CustomViewCreator.h:132
VectorStringAttribute(std::string const &iName, typename super_type::Getter iGetter, typename super_type::Setter iSetter, char iDelimiter=',', bool iSkipEmptyEntries=false)
Definition: CustomViewCreator.h:699
void registerFloatAttribute(std::string const &iName, typename FloatAttribute< float >::Getter iGetter, typename FloatAttribute< float >::Setter iSetter)
Definition: CustomViewCreator.h:905
T fTo
Definition: Lerp.h:332
bool toString(IUIDescription const *iDescription, const CColor &iValue, std::string &oStringValue) const override
Definition: CustomViewCreator.h:393
bool fromString(IUIDescription const *iDescription, std::string const &iAttributeValue, std::vector< std::string > &oValue) const override
Definition: CustomViewCreator.h:710
Definition: CustomViewCreator.h:321
IntegerAttribute(std::string const &iName, Getter iGetter, Setter iSetter)
Definition: CustomViewCreator.h:283
virtual bool fromString(IUIDescription const *iDescription, std::string const &iAttributeValue, T &oValue) const
Definition: CustomViewCreator.h:152
IdStringPtr getBaseViewName() const override
Definition: CustomViewCreator.h:779
bool fromString(IUIDescription const *iDescription, std::string const &iAttributeValue, GradientPtr &oValue) const override
Definition: CustomViewCreator.h:420
Definition: CustomViewCreator.h:585
void registerIntegerAttribute(std::string const &iName, typename IntegerAttribute< TInt >::Getter iGetter, typename IntegerAttribute< TInt >::Setter iSetter)
Definition: CustomViewCreator.h:885
bool apply(CView *view, const UIAttributes &attributes, const IUIDescription *description) const override
Definition: CustomViewCreator.h:948
bool toString(IUIDescription const *iDescription, const std::vector< std::string > &iValue, std::string &oStringValue) const override
Definition: CustomViewCreator.h:719
void registerTagAttribute(std::string const &iName, typename TagAttribute::Getter iGetter, typename TagAttribute::Setter iSetter)
Definition: CustomViewCreator.h:874
void registerBooleanAttribute(std::string const &iName, typename BooleanAttribute::Getter iGetter, typename BooleanAttribute::Setter iSetter)
Definition: CustomViewCreator.h:925
bool getAttributeNames(std::list< std::string > &attributeNames) const override
Definition: CustomViewCreator.h:964
IViewCreator::AttrType getType() override
Definition: CustomViewCreator.h:332
CBitmap * BitmapPtr
Definition: Types.h:49
IViewCreator::AttrType getType() override
Definition: CustomViewCreator.h:287
Definition: CustomViewCreator.h:693
bool toString(IUIDescription const *iDescription, const Range &iValue, std::string &oStringValue) const override
Definition: CustomViewCreator.h:674
bool getAttributeValue(CView *iView, const IUIDescription *iDescription, std::string &oStringValue) const override
Definition: CustomViewCreator.h:187
void registerBitmapAttribute(std::string const &iName, typename BitmapAttribute::Getter iGetter, typename BitmapAttribute::Setter iSetter)
Definition: CustomViewCreator.h:822
bool fromString(IUIDescription const *iDescription, std::string const &iAttributeValue, Range &oValue) const override
Definition: CustomViewCreator.h:654
Definition: CustomViewCreator.h:645
Definition: CustomViewCreator.h:497
Definition: CustomViewCreator.h:276
void registerGradientAttribute(std::string const &iName, typename GradientAttribute::Getter iGetter, typename GradientAttribute::Setter iSetter)
Definition: CustomViewCreator.h:812
Definition: CustomViewCreator.h:364
CustomViewCreator(char const *iViewName=nullptr, char const *iDisplayName=nullptr, char const *iBaseViewName=VSTGUI::UIViewCreator::kCView)
Definition: CustomViewCreator.h:1052
bool toString(IUIDescription const *iDescription, const int32_t &iValue, std::string &oStringValue) const override
Definition: CustomViewCreator.h:255
TView * createCustomView(CRect const &iSize, const UIAttributes &iAttributes, const IUIDescription *iDescription)
Definition: CustomViewCreator.h:92
bool toString(IUIDescription const *iDescription, const bool &iValue, std::string &oStringValue) const override
Definition: CustomViewCreator.h:486
bool fromString(IUIDescription const *iDescription, std::string const &iAttributeValue, CColor &oValue) const override
Definition: CustomViewCreator.h:381
ViewAttribute(std::string iName)
Definition: CustomViewCreator.h:49
bool toString(IUIDescription const *iDescription, const TInt &iValue, std::string &oStringValue) const override
Definition: CustomViewCreator.h:307
bool fromString(IUIDescription const *iDescription, std::string const &iAttributeValue, FontPtr &oValue) const override
Definition: CustomViewCreator.h:554
IViewCreator::AttrType getType() override
Definition: CustomViewCreator.h:375
FloatAttribute(std::string const &iName, Getter iGetter, Setter iSetter)
Definition: CustomViewCreator.h:328
TAttribute< T, T const &(StepButtonView ::*)() const, void(StepButtonView ::*)(T const &)> ByRefAttribute
Definition: CustomViewCreator.h:213
bool fromString(IUIDescription const *iDescription, std::string const &iAttributeValue, int32_t &oValue) const override
Definition: CustomViewCreator.h:234
char fDelimiter
Definition: CustomViewCreator.h:739
std::vector< std::string > splitString(const std::string &iString, char iDelimiter, bool iSkipEmptyEntries)
Definition: StringUtils.cpp:30
virtual bool toString(IUIDescription const *iDescription, T const &iValue, std::string &oStringValue) const
Definition: CustomViewCreator.h:161
CView * create(const UIAttributes &attributes, const IUIDescription *description) const override
Definition: CustomViewCreator.h:935
MarginAttribute(std::string const &iName, typename ByRefAttribute< Margin >::Getter iGetter, typename ByRefAttribute< Margin >::Setter iSetter)
Definition: CustomViewCreator.h:588
Definition: CustomViewCreator.h:219
TCustomViewCreator(char const *iViewName=nullptr, char const *iDisplayName=nullptr, char const *iBaseViewName=VSTGUI::UIViewCreator::kCView)
Definition: CustomViewCreator.h:745
std::string getName() const
Definition: CustomViewCreator.h:62
IViewCreator::AttrType getType() override
Definition: CustomViewCreator.h:548
char const * fBaseViewName
Definition: CustomViewCreator.h:1039
void registerAttribute(std::shared_ptr< ViewAttribute > iAttribute)
Definition: CustomViewCreator.h:1015
bool fSkipEmptyEntries
Definition: CustomViewCreator.h:740
bool toString(IUIDescription const *iDescription, const Margin &iValue, std::string &oStringValue) const override
Definition: CustomViewCreator.h:621
IdStringPtr getViewName() const override
Definition: CustomViewCreator.h:767
Definition: LookAndFeel.h:32
GradientAttribute(std::string const &iName, typename ByValAttribute< GradientPtr >::Getter iGetter, typename ByValAttribute< GradientPtr >::Setter iSetter)
Definition: CustomViewCreator.h:408
void registerAttribute(std::string const &iName, typename TViewAttribute::Getter iGetter, typename TViewAttribute::Setter iSetter, Args... iArgs)
Definition: CustomViewCreator.h:1026
TAttribute< T, T(StepButtonView ::*)() const, void(StepButtonView ::*)(T)> ByValAttribute
Definition: CustomViewCreator.h:207
Definition: CustomViewCreator.h:403
Definition: CustomViewCreator.h:538
std::string fName
Definition: CustomViewCreator.h:84
bool fromString(IUIDescription const *iDescription, std::string const &iAttributeValue, TFloat &oValue) const override
Definition: CustomViewCreator.h:338
char const * fDisplayName
Definition: CustomViewCreator.h:1038
CCoord fLeft
Definition: LookAndFeel.h:61
void registerRangeAttribute(std::string const &iName, typename RangeAttribute::Getter iGetter, typename RangeAttribute::Setter iSetter)
Definition: CustomViewCreator.h:852
ColorAttribute(std::string const &iName, typename ByRefAttribute< CColor >::Getter iGetter, typename ByRefAttribute< CColor >::Setter iSetter)
Definition: CustomViewCreator.h:369
void registerFontAttribute(std::string const &iName, typename FontAttribute::Getter iGetter, typename FontAttribute::Setter iSetter)
Definition: CustomViewCreator.h:832
void registerVectorStringAttribute(std::string const &iName, typename VectorStringAttribute::Getter iGetter, typename VectorStringAttribute::Setter iSetter, char iDelimiter=',', bool iSkipEmptyEntries=false)
Definition: CustomViewCreator.h:862
IViewCreator::AttrType getType() override
Definition: CustomViewCreator.h:143
bool fromString(IUIDescription const *iDescription, std::string const &iAttributeValue, BitmapPtr &oValue) const override
Definition: CustomViewCreator.h:513
bool toString(IUIDescription const *iDescription, const TFloat &iValue, std::string &oStringValue) const override
Definition: CustomViewCreator.h:351
IViewCreator::AttrType getType() override
Definition: CustomViewCreator.h:228
bool toString(IUIDescription const *iDescription, GradientPtr const &iValue, std::string &oStringValue) const override
Definition: CustomViewCreator.h:432
BitmapAttribute(std::string const &iName, typename ByValAttribute< BitmapPtr >::Getter iGetter, typename ByValAttribute< BitmapPtr >::Setter iSetter)
Definition: CustomViewCreator.h:501
void registerMarginAttribute(std::string const &iName, typename MarginAttribute::Getter iGetter, typename MarginAttribute::Setter iSetter)
Definition: CustomViewCreator.h:842
bool fromString(IUIDescription const *iDescription, std::string const &iAttributeValue, TInt &oValue) const override
Definition: CustomViewCreator.h:293
bool fromString(IUIDescription const *iDescription, std::string const &iAttributeValue, Margin &oValue) const override
Definition: CustomViewCreator.h:594
std::map< std::string, std::shared_ptr< ViewAttribute > > fAttributes
Definition: CustomViewCreator.h:1042
bool getAttributeValue(CView *iView, const std::string &iAttributeName, std::string &oStringValue, const IUIDescription *iDescription) const override
Definition: CustomViewCreator.h:987
IViewCreator::AttrType getType() override
Definition: CustomViewCreator.h:462
FontAttribute(std::string const &iName, typename ByValAttribute< FontPtr >::Getter iGetter, typename ByValAttribute< FontPtr >::Setter iSetter)
Definition: CustomViewCreator.h:542
T fFrom
Definition: Lerp.h:331
bool fromString(IUIDescription const *iDescription, std::string const &iAttributeValue, bool &oValue) const override
Definition: CustomViewCreator.h:468
void registerIntAttribute(std::string const &iName, typename IntegerAttribute< int32_t >::Getter iGetter, typename IntegerAttribute< int32_t >::Setter iSetter)
Definition: CustomViewCreator.h:895
RangeAttribute(std::string const &iName, typename ByRefAttribute< Range >::Getter iGetter, typename ByRefAttribute< Range >::Setter iSetter)
Definition: CustomViewCreator.h:648
bool apply(CView *iView, const UIAttributes &iAttributes, const IUIDescription *iDescription) override
Definition: CustomViewCreator.h:167
void registerAttributes(TCustomViewCreator< XView > const &iOther)
Definition: CustomViewCreator.h:788
TAttribute(std::string const &iName, Getter iGetter, Setter iSetter)
Definition: CustomViewCreator.h:139
BooleanAttribute(std::string const &iName, typename ByValAttribute< bool >::Getter iGetter, typename ByValAttribute< bool >::Setter iSetter)
Definition: CustomViewCreator.h:456
CCoord fTop
Definition: LookAndFeel.h:58
IViewCreator::AttrType getType() override
Definition: CustomViewCreator.h:414
UTF8StringPtr getDisplayName() const override
Definition: CustomViewCreator.h:773
char const * fViewName
Definition: CustomViewCreator.h:1037
IViewCreator::AttrType getType() override
Definition: CustomViewCreator.h:507
~TCustomViewCreator() override
Definition: CustomViewCreator.h:759
bool toString(IUIDescription const *iDescription, BitmapPtr const &iValue, std::string &oStringValue) const override
Definition: CustomViewCreator.h:525
CCoord fRight
Definition: LookAndFeel.h:59
Definition: CustomViewCreator.h:123
void registerColorAttribute(std::string const &iName, typename ColorAttribute::Getter iGetter, typename ColorAttribute::Setter iSetter)
Definition: CustomViewCreator.h:802
void registerDoubleAttribute(std::string const &iName, typename FloatAttribute< double >::Getter iGetter, typename FloatAttribute< double >::Setter iSetter)
Definition: CustomViewCreator.h:915
Definition: CustomViewCreator.h:452
AttrType getAttributeType(const std::string &attributeName) const override
Definition: CustomViewCreator.h:974
TGetter Getter
Definition: CustomViewCreator.h:135
bool toString(IUIDescription const *iDescription, FontPtr const &iValue, std::string &oStringValue) const override
Definition: CustomViewCreator.h:566
CFontDesc * FontPtr
Definition: Types.h:53
Getter fGetter
Definition: CustomViewCreator.h:199
Definition: CustomViewCreator.h:45
CCoord fBottom
Definition: LookAndFeel.h:60
Setter fSetter
Definition: CustomViewCreator.h:200
TagAttribute(std::string const &iName, typename ByValAttribute< int32_t >::Getter iGetter, typename ByValAttribute< int32_t >::Setter iSetter)
Definition: CustomViewCreator.h:222
CGradient * GradientPtr
Definition: Types.h:57