35 lines
1.9 KiB
C++
35 lines
1.9 KiB
C++
// This file is part of VSTGUI. It is subject to the license terms
|
|
// in the LICENSE file found in the top-level directory of this
|
|
// distribution and at http://github.com/steinbergmedia/vstgui/LICENSE
|
|
|
|
#pragma once
|
|
|
|
#include "icontroller.h"
|
|
|
|
namespace VSTGUI {
|
|
|
|
//-----------------------------------------------------------------------------
|
|
class DelegationController : public IController
|
|
{
|
|
public:
|
|
explicit DelegationController (IController* controller) : controller (controller) {}
|
|
|
|
// IControlListener
|
|
void valueChanged (CControl* pControl) override { controller->valueChanged (pControl); }
|
|
int32_t controlModifierClicked (CControl* pControl, CButtonState button) override { return controller->controlModifierClicked (pControl, button); }
|
|
void controlBeginEdit (CControl* pControl) override { controller->controlBeginEdit (pControl); }
|
|
void controlEndEdit (CControl* pControl) override { controller->controlEndEdit (pControl); }
|
|
void controlTagWillChange (VSTGUI::CControl* pControl) override { controller->controlTagWillChange (pControl); }
|
|
void controlTagDidChange (VSTGUI::CControl* pControl) override { controller->controlTagDidChange (pControl); }
|
|
// IController
|
|
int32_t getTagForName (UTF8StringPtr name, int32_t registeredTag) const override { return controller->getTagForName (name, registeredTag); }
|
|
IControlListener* getControlListener (UTF8StringPtr name) override { return controller->getControlListener (name); }
|
|
CView* createView (const UIAttributes& attributes, const IUIDescription* description) override { return controller->createView (attributes, description); }
|
|
CView* verifyView (CView* view, const UIAttributes& attributes, const IUIDescription* description) override { return controller->verifyView (view, attributes, description); }
|
|
IController* createSubController (IdStringPtr name, const IUIDescription* description) override { return controller->createSubController (name, description); }
|
|
protected:
|
|
IController* controller;
|
|
};
|
|
|
|
} // VSTGUI
|