Jamba C++ API  5.0.0
CustomViewCreator.h File Reference
#include <vstgui4/vstgui/uidescription/iviewcreator.h>
#include <vstgui4/vstgui/uidescription/uiviewcreator.h>
#include <vstgui4/vstgui/uidescription/uiviewfactory.h>
#include <vstgui4/vstgui/uidescription/uiattributes.h>
#include <vstgui4/vstgui/uidescription/detail/uiviewcreatorattributes.h>
#include <vstgui4/vstgui/lib/crect.h>
#include <vstgui4/vstgui/lib/ccolor.h>
#include <vstgui4/vstgui/lib/cbitmap.h>
#include <map>
#include <memory>
#include <functional>
#include <pongasoft/logging/logging.h>
#include <pongasoft/VST/GUI/Types.h>
#include <pongasoft/VST/GUI/LookAndFeel.h>
#include <pongasoft/Utils/StringUtils.h>
#include <pongasoft/Utils/Cpp17.h>
#include <pongasoft/VST/Types.h>

Go to the source code of this file.

Classes

class  TCustomViewCreator< TView >::BitmapAttribute
 Specialization for a bitmap attribute. More...
 
class  TCustomViewCreator< TView >::BooleanAttribute
 Specialization for the boolean attribute. More...
 
class  TCustomViewCreator< TView >::ColorAttribute
 Specialization for the color attribute. More...
 
class  CustomViewCreator< TView, TBaseView >
 Inherit from this class to provide the factory for a custom view. More...
 
class  TCustomViewCreator< TView >::FloatAttribute< TFloat >
 Specialization for an float attribute (which can be a double or a float, etc..). More...
 
class  TCustomViewCreator< TView >::FontAttribute
 Specialization for a bitmap attribute. More...
 
class  TCustomViewCreator< TView >::GradientAttribute
 Specialization for the color attribute. More...
 
class  TCustomViewCreator< TView >::IntegerAttribute< TInt >
 Specialization for an Integer attribute (which can be any kind of integer, like short, int32_t, etc..). More...
 
class  TCustomViewCreator< TView >::ListAttribute< T >
 Specialization for a list of possible values defined by the AttributeMap More...
 
class  TCustomViewCreator< TView >::MarginAttribute
 Specialization for the margin attribute. More...
 
class  TCustomViewCreator< TView >::RangeAttribute
 Specialization for the range attribute. More...
 
class  TCustomViewCreator< TView >::TagAttribute
 Specialization for a tag attribute (vst type TagID). More...
 
class  TCustomViewCreator< TView >::TAttribute< T, TGetter, TSetter >
 Generic base class that implements the logic for a ViewAttribute that uses a getter and setter in TView. More...
 
class  TCustomViewCreator< TView >
 Generic custom view creator base class. More...
 
class  TCustomViewCreator< TView >::VectorStringAttribute
 Specialization for a vector of strings. More...
 
class  ViewAttribute
 Base abstract class for an attribute of a view. More...
 

Namespaces

 pongasoft
 
 pongasoft::VST
 
 pongasoft::VST::GUI
 
 pongasoft::VST::GUI::Views
 
 pongasoft::VST::GUI::Views::impl
 

Typedefs

template<typename T >
using AttrValInitList = std::initializer_list< typename AttrValMap< T >::value_type >
 Defines the type to initialize an [AttrValMap], for an example check [TCustomViewCreator::registerListAttribute]. More...
 
template<typename T >
using AttrValMap = std::map< std::string, T >
 Defines a map of string to attribute value. More...
 
template<typename T >
using creator_ctor_t = decltype(typename T::Creator())
 

Functions

template<typename TView >
TView * createCustomView (CRect const &iSize, const UIAttributes &iAttributes, const IUIDescription *)
 Factory method which creates the actual view. More...
 

Variables

template<typename T >
constexpr auto is_creator_ctor_detected = Utils::cpp17::experimental::is_detected_v<creator_ctor_t, T>