HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
DD_Defines.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: DD_Define.h
7  *
8  * COMMENTS:
9  */
10 
11 #ifndef __DD_Define__
12 #define __DD_Define__
13 
14 enum DD_State {
19 };
20 
21 //
22 // Some common drag-n-drop attributes
23 // which are supplied by the sender
24 //
25 // Strings are chose over enumerated types
26 // so custom drag-n-drop objects will have
27 // a smaller chance of name collision.
28 //
29 
30 #define DD_MIMETYPE_NAMESPACE "application/sidefx-houdini-"
31 
32 #define DD_DATA_TEXT "text/plain"
33 #define DD_DATA_FILELIST "text/uri-list"
34 #define DD_LABEL_TEXT "Text"
35 #define DD_DATA_JSON "application/json"
36 
37 // the data parameter is a (void *)int to index between multiple choices
38 #define DD_DATA_PARM_PATH DD_MIMETYPE_NAMESPACE "parm.path"
39 #define DD_LABEL_PARM_PATH "Parameter Path"
40 
41 #define DD_DATA_CHAN_PATH DD_MIMETYPE_NAMESPACE "channel.path"
42 #define DD_DATA_FLAG_PATH DD_MIMETYPE_NAMESPACE "node.flag.path"
43 
44 // the node and track are separated by a space since track names may
45 // have slashes in them
46 #define DD_DATA_TRACK_PATH DD_MIMETYPE_NAMESPACE "chop.track.path"
47 
48 // the data parameter is a (void *)int to index between multiple choices
49 #define DD_DATA_OP_PATH DD_MIMETYPE_NAMESPACE "node.path"
50 #define DD_LABEL_OP_PATH "Node Path"
51 
52 #define DD_DATA_ITEM_PATH DD_MIMETYPE_NAMESPACE "item.path"
53 #define DD_LABEL_ITEM_PATH "Network Item Path"
54 #define DD_DATA_PERS_HANDLE_PATH DD_MIMETYPE_NAMESPACE \
55  "persistent.handle.path"
56 
57 #define DD_DATA_APEX_NODE_ID DD_MIMETYPE_NAMESPACE "apex.node.id"
58 #define DD_LABEL_APEX_NODE_ID "APEX Node ID"
59 
60 // returns the name of a take
61 #define DD_DATA_TAKE_NAME DD_MIMETYPE_NAMESPACE "take.name"
62 
63 // returns a pointer to an OP_GalleryEntry or the gallery entry name
64 #define DD_DATA_GALLERY_ENTRY DD_MIMETYPE_NAMESPACE "gallery.entry"
65 #define DD_DATA_GALLERY_ENTRY_NAME DD_MIMETYPE_NAMESPACE \
66  "gallery.entry.name"
67 #define DD_LABEL_GALLERY_ENTRY_NAME "Gallery Entry"
68 
69 // returns a pointer to SHLF_Tool or the shelf tool name
70 #define DD_DATA_SHELF_TOOL DD_MIMETYPE_NAMESPACE "shelf.tool"
71 #define DD_DATA_SHELF_TOOL_NAME DD_MIMETYPE_NAMESPACE "shelf.tool.name"
72 #define DD_LABEL_SHELF_TOOL_NAME "Shelf Tool"
73 
74 // returns an entry in the asset catalog
75 #define DD_DATA_ASSET_GALLERY_ENTRY DD_MIMETYPE_NAMESPACE "asset.catalog.entry"
76 #define DD_LABEL_ASSET_GALLERY_ENTRY "Asset Catalog Entry"
77 
78 // Returns the name of the node type
79 #define DD_DATA_ASSET_GUID DD_MIMETYPE_NAMESPACE "asset.guid"
80 #define DD_LABEL_ASSET_GUID "Asset Guid"
81 #define DD_DATA_ASSETTOOL_NAME DD_MIMETYPE_NAMESPACE \
82  "orbolt.node.type.name"
83 #define DD_LABEL_ASSETTOOL_NAME "Asset Tool"
84 #define DD_DATA_FOLDER_GUID DD_MIMETYPE_NAMESPACE "folder.guid"
85 #define DD_LABEL_FOLDER_GUID "Folder Guid"
86 
87 // returns a pointer to OPUI_ToolbarItem
88 #define DD_DATA_SHELF_TOOL_BUTTON DD_MIMETYPE_NAMESPACE \
89  "shelf.tool.button"
90 
91 // returns a pointer to the OPUI_Toolbar or the shelf name
92 #define DD_DATA_SHELF_TOOLBAR DD_MIMETYPE_NAMESPACE \
93  "shelf.toolbar"
94 #define DD_DATA_SHELF_TOOLBAR_NAME DD_MIMETYPE_NAMESPACE "shelf.name"
95 #define DD_LABEL_SHELF_TOOLBAR_NAME "Shelf"
96 
97 // returns a pointer to FUSE_DesktopNode or the name of the pane tab
98 #define DD_DATA_DESKTOP_NODE DD_MIMETYPE_NAMESPACE "desktop.node"
99 #define DD_DATA_DESKTOP_NODE_NAME DD_MIMETYPE_NAMESPACE "pane.tab.name"
100 #define DD_LABEL_DESKTOP_NODE_NAME "Pane Tab"
101 
102 #define DD_DATA_DOPDATA_PYTHON DD_MIMETYPE_NAMESPACE "dop.data.python"
103 #define DD_LABEL_DOPDATA_PYTHON "Dop Data as Python expression"
104 #define DD_DATA_DOPDATA_HSCRIPT_FLOAT DD_MIMETYPE_NAMESPACE \
105  "dop.data.hscript.float"
106 #define DD_LABEL_DOPDATA_HSCRIPT_FLOAT "Dop Data as Hscript float"
107 #define DD_DATA_DOPDATA_HSCRIPT_STRING DD_MIMETYPE_NAMESPACE \
108  "dop.data.hscript.string"
109 #define DD_LABEL_DOPDATA_HSCRIPT_STRING "Dop Data as Hscript string"
110 
111 // Returns a path to a primitive, which is essentially the SOP path
112 // ('/obj/foo/mysop') plus the primitive path name (can be partial) separated
113 // by a colon (e.g: '/obj/foo/mysop:/alembic/foo/prim')
114 #define DD_DATA_PRIM_PATH DD_MIMETYPE_NAMESPACE "primitive.path"
115 #define DD_LABEL_PRIM_PATH "Primitive Path"
116 
117 // returns three elements separated by colons, corresponding to a
118 // multiparm instance:
119 // 1. The path to the node containing the multiparm
120 // 2. The multiparm's token
121 // 3. The index of the multiparm instance
122 #define DD_DATA_MULTIPARM_INSTANCE DD_MIMETYPE_NAMESPACE "multiparm"
123 #define DD_LABEL_MULTIPARM_INSTANCE_NAME "Multiparm Instance"
124 
125 // Visualizder
126 #define DD_DATA_VISUALIZER DD_MIMETYPE_NAMESPACE "visualizer"
127 #define DD_LABEL_VISUALIZER "Visualizer"
128 
129 // USD Primitives and collections
130 #define DD_DATA_USDPRIMPATH \
131  DD_MIMETYPE_NAMESPACE "usd.primitive.path"
132 #define DD_DATA_USDPRIMPYTHON \
133  DD_MIMETYPE_NAMESPACE "usd.primitive.python"
134 #define DD_LABEL_USDPRIMPYTHON "USD Primitive as Python expression"
135 #define DD_DATA_USDPROPERTYPATH \
136  DD_MIMETYPE_NAMESPACE "usd.property.path"
137 #define DD_DATA_USDPROPERTYPYTHON \
138  DD_MIMETYPE_NAMESPACE "usd.property.python"
139 #define DD_LABEL_USDPROPERTYPYTHON "USD Property as Python expression"
140 #define DD_DATA_OPPATH_AND_USDPRIMPATH \
141  DD_MIMETYPE_NAMESPACE "node.and.usd.primitive.path"
142 
143 //
144 // Some attributes which receivers can derive given the above
145 //
146 
147 //
148 // parameter
149 //
150 
151 #define DD_DATA_CHAN_VALUE DD_MIMETYPE_NAMESPACE "chan.value"
152 #define DD_LABEL_CHAN_VALUE "Current Channel Value"
153 
154 
155 #define DD_DATA_CHAN_EXPR DD_MIMETYPE_NAMESPACE "chan.express"
156 #define DD_LABEL_CHAN_EXPR "Channel Expression"
157 
158 #define DD_DATA_CHAN_REF_ABS DD_MIMETYPE_NAMESPACE "chan.ref.abs"
159 #define DD_LABEL_CHAN_REF_ABS "Absolute Channel Reference"
160 
161 #define DD_DATA_CHAN_REF_REL DD_MIMETYPE_NAMESPACE "chan.ref.rel"
162 #define DD_LABEL_CHAN_REF_REL "Relative Channel Reference"
163 
164 #define DD_DATA_COPY_CHANNEL DD_MIMETYPE_NAMESPACE "copy.channel"
165 #define DD_LABEL_COPY_CHANNEL "Copy Channel"
166 
167 #define DD_DATA_CHAN_GROUPS DD_MIMETYPE_NAMESPACE "chgroups"
168 #define DD_LABEL_CHAN_GROUPS "Channel Groups"
169 
170 #define DD_DATA_SI_TREENODES DD_MIMETYPE_NAMESPACE "si.tree.nodes"
171 
172 //
173 // chop
174 //
175 //
176 
177 #define DD_DATA_TRACK_VALUE DD_MIMETYPE_NAMESPACE "chop.value"
178 #define DD_LABEL_TRACK_VALUE "Current CHOP Value"
179 
180 #define DD_DATA_TRACK_REF_ABS DD_MIMETYPE_NAMESPACE "chop.ref.abs"
181 #define DD_LABEL_TRACK_REF_ABS "CHOP Reference"
182 
183 #define DD_DATA_TRACK_REF_REL DD_MIMETYPE_NAMESPACE "chop.ref.rel"
184 #define DD_LABEL_TRACK_REF_REL "Relative CHOP Reference"
185 
186 #define DD_DATA_TRACK_EXPORT DD_MIMETYPE_NAMESPACE "chop.export"
187 #define DD_LABEL_TRACK_EXPORT "Export CHOP"
188 
189 //
190 // top
191 //
192 //
193 
194 #define DD_DATA_WORKITEM_ID DD_MIMETYPE_NAMESPACE "workitem.id"
195 #define DD_LABEL_WORKITEM_ID "Work Item ID"
196 
197 #endif
198 
199 
DD_State
Definition: DD_Defines.h:14