LMMS
Loading...
Searching...
No Matches
ivstcontextmenu.h
Go to the documentation of this file.
1//------------------------------------------------------------------------
2// Project : VST SDK
3//
4// Category : Interfaces
5// Filename : pluginterfaces/vst/ivstcontextmenu.h
6// Created by : Steinberg, 10/2010
7// Description : VST Context Menu Interfaces
8//
9//-----------------------------------------------------------------------------
10// This file is part of a Steinberg SDK. It is subject to the license terms
11// in the LICENSE file found in the top-level directory of this distribution
12// and at www.steinberg.net/sdklicenses.
13// No part of the SDK, including this file, may be copied, modified, propagated,
14// or distributed except according to the terms contained in the LICENSE file.
15//-----------------------------------------------------------------------------
16
17#pragma once
18
21
22//------------------------------------------------------------------------
24//------------------------------------------------------------------------
25
26namespace Steinberg {
27class IPlugView;
28
29namespace Vst {
30class IContextMenu;
31
32//------------------------------------------------------------------------
119{
120public:
126 virtual IContextMenu* PLUGIN_API createContextMenu (IPlugView* plugView, const ParamID* paramID) = 0;
127 //------------------------------------------------------------------------
128 static const FUID iid;
129};
130
131DECLARE_CLASS_IID (IComponentHandler3, 0x69F11617, 0xD26B400D, 0xA4B6B964, 0x7B6EBBAB)
132
133//------------------------------------------------------------------------
147{
148public:
150 virtual tresult PLUGIN_API executeMenuItem (int32 tag) = 0;
151 //------------------------------------------------------------------------
152 static const FUID iid;
153};
154
155DECLARE_CLASS_IID (IContextMenuTarget, 0x3CDF2E75, 0x85D34144, 0xBF86D36B, 0xD7C4894D)
156
157//------------------------------------------------------------------------
173//------------------------------------------------------------------------
187class IContextMenu : public FUnknown
188{
189public:
191
193 virtual int32 PLUGIN_API getItemCount () = 0;
194
196 virtual tresult PLUGIN_API getItem (int32 index, Item& item /*out*/, IContextMenuTarget** target /*out*/) = 0;
197
199 virtual tresult PLUGIN_API addItem (const Item& item, IContextMenuTarget* target) = 0;
200
202 virtual tresult PLUGIN_API removeItem (const Item& item, IContextMenuTarget* target) = 0;
203
205 virtual tresult PLUGIN_API popup (UCoord x, UCoord y) = 0;
206
207 //------------------------------------------------------------------------
208 static const FUID iid;
209};
210
211DECLARE_CLASS_IID (IContextMenu, 0x2E93C863, 0x0C9C4588, 0x97DBECF5, 0xAD17817D)
212
213//------------------------------------------------------------------------
214} // namespace Vst
215} // namespace Steinberg
216
217//------------------------------------------------------------------------
219//------------------------------------------------------------------------
Definition funknown.h:233
Definition funknown.h:361
Definition iplugview.h:123
Definition ivstcontextmenu.h:119
virtual IContextMenu *PLUGIN_API createContextMenu(IPlugView *plugView, const ParamID *paramID)=0
static const FUID iid
Definition ivstcontextmenu.h:128
Definition ivstcontextmenu.h:188
virtual tresult PLUGIN_API getItem(int32 index, Item &item, IContextMenuTarget **target)=0
static const FUID iid
Definition ivstcontextmenu.h:208
IContextMenuItem Item
Definition ivstcontextmenu.h:190
virtual tresult PLUGIN_API addItem(const Item &item, IContextMenuTarget *target)=0
virtual tresult PLUGIN_API removeItem(const Item &item, IContextMenuTarget *target)=0
virtual tresult PLUGIN_API popup(UCoord x, UCoord y)=0
virtual int32 PLUGIN_API getItemCount()=0
Definition ivstcontextmenu.h:147
static const FUID iid
Definition ivstcontextmenu.h:152
virtual tresult PLUGIN_API executeMenuItem(int32 tag)=0
int y
Definition inflate.c:1588
unsigned x[BMAX+1]
Definition inflate.c:1586
#define DECLARE_CLASS_IID(ClassName, l1, l2, l3, l4)
Definition funknown.h:74
Definition ivstattributes.h:28
uint32 ParamID
parameter identifier
Definition vsttypes.h:75
TChar String128[128]
128 character UTF-16 string
Definition vsttypes.h:63
Definition baseiids.cpp:43
int int32
Definition ftypes.h:50
int32 UCoord
Definition ftypes.h:135
int32 tresult
Definition ftypes.h:76
Definition ivstcontextmenu.h:160
String128 name
Name of the item.
Definition ivstcontextmenu.h:161
int32 tag
Identifier tag of the item.
Definition ivstcontextmenu.h:162
Flags
Definition ivstcontextmenu.h:165
@ kIsChecked
Item is checked.
Definition ivstcontextmenu.h:168
@ kIsGroupEnd
Item is a group end.
Definition ivstcontextmenu.h:170
@ kIsDisabled
Item is disabled.
Definition ivstcontextmenu.h:167
@ kIsSeparator
Item is a separator.
Definition ivstcontextmenu.h:166
@ kIsGroupStart
Item is a group start (like sub folder).
Definition ivstcontextmenu.h:169
int32 flags
Flags of the item.
Definition ivstcontextmenu.h:163