ASPiK SDK
iuidescwindow.h
1 // This file is part of VSTGUI. It is subject to the license terms
2 // in the LICENSE file found in the top-level directory of this
3 // distribution and at http://github.com/steinbergmedia/vstgui/LICENSE
4 
5 #pragma once
6 
7 #include "../../uidescription/uidescriptionfwd.h"
8 #include "fwd.h"
9 #include "icommand.h"
10 #include "ivalue.h"
11 #include "iwindow.h"
12 #include <vector>
13 
14 //------------------------------------------------------------------------
15 namespace VSTGUI {
16 namespace Standalone {
17 namespace UIDesc {
18 
19 //------------------------------------------------------------------------
26 class IModelBinding : public Interface
27 {
28 public:
29  using ValueList = std::vector<ValuePtr>;
30 
31  virtual const ValueList& getValues () const = 0;
32 };
33 
34 //------------------------------------------------------------------------
39 class ICustomization : public Interface
40 {
41 public:
54  virtual IController* createController (const UTF8StringView& name, IController* parent,
55  const IUIDescription* uiDesc) = 0;
56 };
57 
58 //------------------------------------------------------------------------
63 struct Config
64 {
67 
70 
73 
80  ModelBindingPtr modelBinding;
81 
88  CustomizationPtr customization;
89 };
90 
91 //------------------------------------------------------------------------
99 WindowPtr makeWindow (const Config& config);
100 
101 //------------------------------------------------------------------------
102 } // UIDesc
103 } // Standalone
104 } // VSTGUI
virtual IController * createController(const UTF8StringView &name, IController *parent, const IUIDescription *uiDesc)=0
WindowConfiguration windowConfig
Definition: iuidescwindow.h:72
std::unique_ptr< double[]> makeWindow(unsigned int windowLength, unsigned int hopSize, windowType window, double &gainCorrectionValue)
creates a new std::unique_ptr<double[]> array for a given window lenght and type. ...
Definition: fxobjects.h:8648
ModelBindingPtr modelBinding
Definition: iuidescwindow.h:80
Definition: iuidescription.h:19
Definition: interface.h:13
UTF8String uiDescFileName
Definition: iuidescwindow.h:66
Definition: customcontrols.cpp:8
UTF8String viewName
Definition: iuidescwindow.h:69
extension to IControlListener used by UIDescription
Definition: icontroller.h:20
Definition: iuidescwindow.h:26
a view on a null terminated UTF-8 String
Definition: cstring.h:172
Definition: iuidescwindow.h:63
holds an UTF8 encoded string and a platform representation of it
Definition: cstring.h:56
CustomizationPtr customization
Definition: iuidescwindow.h:88
Definition: iuidescwindow.h:39