34 lines
1.1 KiB
C++
34 lines
1.1 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 "../vstguifwd.h"
|
|
|
|
namespace VSTGUI {
|
|
|
|
//------------------------------------------------------------------------
|
|
/** Command menu item target
|
|
* @ingroup new_in_4_7
|
|
*/
|
|
class ICommandMenuItemTarget : public virtual IReference
|
|
{
|
|
public:
|
|
/** called before the item is shown to validate its state */
|
|
virtual bool validateCommandMenuItem (CCommandMenuItem* item) = 0;
|
|
/** called when the item was selected */
|
|
virtual bool onCommandMenuItemSelected (CCommandMenuItem* item) = 0;
|
|
};
|
|
|
|
//------------------------------------------------------------------------
|
|
class CommandMenuItemTargetAdapter : public ICommandMenuItemTarget
|
|
{
|
|
public:
|
|
bool validateCommandMenuItem (CCommandMenuItem* item) override { return false; }
|
|
bool onCommandMenuItemSelected (CCommandMenuItem* item) override { return false; }
|
|
};
|
|
|
|
//------------------------------------------------------------------------
|
|
} // VSTGUI
|