ASPiK SDK
uitagscontroller.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 #ifndef __uitagscontroller__
6 #define __uitagscontroller__
7 
8 #include "../uidescription.h"
9 
10 #if VSTGUI_LIVE_EDITING
11 
12 #include "uiselection.h"
13 #include "uiundomanager.h"
14 #include "iaction.h"
15 #include "../delegationcontroller.h"
16 
17 namespace VSTGUI {
18 class UITagsDataSource;
19 
20 //----------------------------------------------------------------------------------------------------
21 class UITagsController : public NonAtomicReferenceCounted, public DelegationController
22 {
23 public:
24  UITagsController (IController* baseController, UIDescription* description, IActionPerformer* actionPerformer);
25  ~UITagsController () override;
26 
27 protected:
28  CView* createView (const UIAttributes& attributes, const IUIDescription* description) override;
29  CView* verifyView (CView* view, const UIAttributes& attributes, const IUIDescription* description) override;
30  IControlListener* getControlListener (UTF8StringPtr name) override;
31  void valueChanged (CControl* pControl) override;
32 
33  SharedPointer<UIDescription> editDescription;
34  IActionPerformer* actionPerformer;
35  UITagsDataSource* dataSource;
36 
37  enum {
38  kAddTag = 0,
39  kRemoveTag,
40  kSearchTag
41  };
42 };
43 
44 } // namespace
45 
46 #endif // VSTGUI_LIVE_EDITING
47 
48 #endif // __uitagscontroller__
Definition: customcontrols.cpp:8