Base class from which the actual controller inherits from.
More...
#include <GUIController.h>
Inherits EditController, VST3EditorDelegate, IMessageProducer, and IDialogHandler.
|
| IPtr< IMessage > | allocateMessage () override |
| | Allocates a message instance.
|
| virtual IController * | createCustomController (UTF8StringPtr iName, IUIDescription const *iDescription, IController *iBaseController) |
| | Subclasses should override this method to return the custom controller or nullptr if doesn't match the name.
|
| bool | dismissDialog () override |
| | Dismisses the currently shown dialog.
|
| virtual GUIState * | getGUIState ()=0 |
| | Subclasses must implement this method to return the state.
|
| | GUIController (char const *iXmlFileName="Views.uidesc", char const *iMainViewName="view") |
| tresult | sendMessage (IPtr< IMessage > iMessage) override |
| | Sends the given message to the peer.
|
| bool | showDialog (std::string iTemplateName) override |
| | This method is called with the name of the template to use for the dialog.
|
| | ~GUIController () override |
| virtual | ~IMessageProducer ()=default |
| Public Member Functions inherited from IDialogHandler |
| virtual | ~IDialogHandler ()=default |
| | Destructor.
|
|
| IController * | createSubController (UTF8StringPtr iName, const IUIDescription *iDescription, VST3Editor *iEditor) override |
| | Called when a sub controller needs to be created.
|
| IPlugView *PLUGIN_API | createView (const char *name) override |
| | Create the view.
|
| void | didOpen (VST3Editor *editor) override |
| tresult PLUGIN_API | getState (IBStream *state) override |
| | Called to save the state (UI only!) (before saving a preset or project).
|
| tresult PLUGIN_API | initialize (FUnknown *context) override |
| | Called at first after constructor.
|
| bool | maybeShowDialog () |
| | Shows the dialog if necessary.
|
| tresult PLUGIN_API | notify (IMessage *message) SMTG_OVERRIDE |
| | Called to handle a message (coming from RT).
|
| void | registerParameters (ParamAware *iParamAware) |
| tresult PLUGIN_API | setComponentState (IBStream *state) override |
| | Sets the component state (after setting the processor) or after restore.
|
| tresult PLUGIN_API | setState (IBStream *state) override |
| | Restore the state (UI only!) (ex: after loading preset or project).
|
| virtual bool | switchToMainView () |
| | Switch back to the main view.
|
| virtual bool | switchToView (char const *iViewName) |
| | This method should be called to display a totally different (root) view.
|
| tresult PLUGIN_API | terminate () override |
| | Called at the end before destructor.
|
| void | willClose (VST3Editor *editor) override |
Base class from which the actual controller inherits from.
Handles most of the "framework" logic, (state loading/saving in a thread safe manner, registering VST parameters...) so that the actual controller code deals mostly with business logic.
◆ GUIController()
| GUIController |
( |
char const * | iXmlFileName = "Views.uidesc", |
|
|
char const * | iMainViewName = "view" ) |
|
explicit |
◆ ~GUIController()
◆ allocateMessage()
| IPtr< IMessage > allocateMessage |
( |
| ) |
|
|
overridevirtual |
◆ createCustomController()
| virtual IController * createCustomController |
( |
UTF8StringPtr | iName, |
|
|
IUIDescription const * | iDescription, |
|
|
IController * | iBaseController ) |
|
inlinevirtual |
Subclasses should override this method to return the custom controller or nullptr if doesn't match the name.
◆ createSubController()
| IController * createSubController |
( |
UTF8StringPtr | iName, |
|
|
const IUIDescription * | iDescription, |
|
|
VST3Editor * | iEditor ) |
|
overrideprotected |
Called when a sub controller needs to be created.
◆ createView()
| IPlugView * createView |
( |
const char * | name | ) |
|
|
overrideprotected |
◆ didOpen()
| void didOpen |
( |
VST3Editor * | editor | ) |
|
|
overrideprotected |
◆ dismissDialog()
Dismisses the currently shown dialog.
- Returns
- true if there was a dialog shown or false otherwise
Implements IDialogHandler.
◆ getGUIState()
Subclasses must implement this method to return the state.
◆ getState()
| tresult getState |
( |
IBStream * | state | ) |
|
|
overrideprotected |
Called to save the state (UI only!) (before saving a preset or project).
◆ initialize()
| tresult initialize |
( |
FUnknown * | context | ) |
|
|
overrideprotected |
Called at first after constructor.
◆ maybeShowDialog()
Shows the dialog if necessary.
◆ notify()
| tresult notify |
( |
IMessage * | message | ) |
|
|
protected |
Called to handle a message (coming from RT).
◆ registerParameters()
| void registerParameters |
( |
ParamAware * | iParamAware | ) |
|
|
protected |
◆ sendMessage()
| tresult sendMessage |
( |
IPtr< IMessage > | iMessage | ) |
|
|
overridevirtual |
◆ setComponentState()
| tresult setComponentState |
( |
IBStream * | state | ) |
|
|
overrideprotected |
Sets the component state (after setting the processor) or after restore.
◆ setState()
| tresult setState |
( |
IBStream * | state | ) |
|
|
overrideprotected |
Restore the state (UI only!) (ex: after loading preset or project).
◆ showDialog()
| bool showDialog |
( |
std::string | iTemplateName | ) |
|
|
overridevirtual |
This method is called with the name of the template to use for the dialog.
It should be a template defined in the xml file (.uidesc) as a top level template.
- Note
- Because the view is modal it must include a way for the user to dismiss it, like a button.
- Parameters
-
| iTemplateName | the name of the top level template to use |
- Returns
- true if the dialog was shown and false if there was a problem (for example iTemplateName does not refer to a valid top level template name)
Implements IDialogHandler.
◆ switchToMainView()
| virtual bool switchToMainView |
( |
| ) |
|
|
inlineprotectedvirtual |
Switch back to the main view.
◆ switchToView()
| bool switchToView |
( |
char const * | iViewName | ) |
|
|
protectedvirtual |
This method should be called to display a totally different (root) view.
Example: with xxx.uidesc like this one, you would call switchToView("compact_view");
<vstgui-ui-description version="1">
<!-- Main view opened on creation -->
<template class="CViewContainer" name="view" ...>
</template>
<!-- Secondary view you can switch to -->
<template class="CViewContainer" name="compact_view" ...>
</template>
<vstgui-ui-description
- Returns
- true if switching worked
◆ terminate()
Called at the end before destructor.
◆ willClose()
| void willClose |
( |
VST3Editor * | editor | ) |
|
|
overrideprotected |
◆ fCurrentViewName
| std::string fCurrentViewName |
|
private |
◆ fDefaultKnobMode
| VSTGUI::CKnobMode fDefaultKnobMode {VSTGUI::CKnobMode::kLinearMode} |
|
protected |
◆ fDialogTemplateName
| std::string fDialogTemplateName {} |
|
private |
◆ fMainViewName
| std::string fMainViewName |
|
private |
◆ fModalViewSession
| Optional<ModalViewSessionID> fModalViewSession {} |
|
private |
◆ fUIDescription
| SharedPointer<UIDescription> fUIDescription {} |
|
private |
◆ fViewFactory
◆ fVST3Editor
| VSTGUI::VST3Editor* fVST3Editor {} |
|
private |
◆ fXmlFileName
| char const* const fXmlFileName |
|
protected |
The documentation for this class was generated from the following files: