HDK
Main Page
Related Pages
Modules
Namespaces
Classes
Files
Examples
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
Groups
Pages
VOP_TabMenuFilter.h
Go to the documentation of this file.
1
/*
2
* PROPRIETARY INFORMATION. This software is proprietary to
3
* Side Effects Software Inc., and is not to be reproduced,
4
* transmitted, or disclosed in any way without written permission.
5
*
6
* NAME: ( VOP Library, C++)
7
*
8
* COMMENTS:
9
*/
10
11
#ifndef __VOP_TabMenuFilter_h__
12
#define __VOP_TabMenuFilter_h__
13
14
#include "
VOP_API.h
"
15
#include <
OP/OP_Value.h
>
16
#include <
UT/UT_StringArray.h
>
17
class
OP_Network
;
18
class
OP_Operator
;
19
20
21
class
VOP_API
VOP_TabMenuFilter
22
{
23
public
:
24
VOP_TabMenuFilter
(
OP_Network
&network_node );
25
~
VOP_TabMenuFilter
();
26
27
/// Returns true if the given operator can show up in the Tab menu
28
/// inside the member network.
29
bool
isOperatorAllowedInTabMenu(
OP_Operator
*op );
30
31
32
/// Returns true if the filter has an explicitly set mask (empty or not).
33
/// Ie, there is a spare parm on the network node that specifies the mask.
34
bool
hasMask();
35
36
private
:
37
/// @{ Manages member data based on the network node's parameters.
38
void
dirtyTabMenuContext();
39
void
updateTabMenuContext();
40
/// @}
41
42
/// Reacts to the change in the network node owning the Tab menu.
43
static
void
handleNetworkNodeChange(
OP_Node
*caller,
44
void
*callee,
OP_EventType
t
,
void
*
data
);
45
46
private
:
47
enum class
FilterState
48
{
49
NEEDS_UPDATE,
// Undetermined state yet.
50
FIND_WORD,
// Find the keyword given in the mask string.
51
};
52
53
FilterState myState;
// State of this filter object.
54
UT_StringArray
myTabMenuMask;
// Target names/keywords to match.
55
OP_Network
& myNetworkNode;
// Network owning the Tab menu.
56
bool
myHasMask;
// Network has tab menu mask parm.
57
};
58
59
#endif
60
VOP_API.h
UT_StringArray.h
UT_StringArray
Definition:
UT_StringArray.h:24
OP_Operator
Definition:
OP_Operator.h:139
VOP_API
#define VOP_API
Definition:
VOP_API.h:10
OP_Node
Definition:
OP_Node.h:496
VOP_TabMenuFilter
Definition:
VOP_TabMenuFilter.h:21
t
GLdouble t
Definition:
glad.h:2397
OP_EventType
OP_EventType
Definition:
OP_Value.h:22
OP_Value.h
OP_Network
Definition:
OP_Network.h:152
data
Definition:
format.h:895
VOP
VOP_TabMenuFilter.h
Generated on Sun May 12 2024 03:18:30 for HDK by
1.8.6