HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
UN_UniGraph.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: UN_UniGraph.h ( UN Library, C++)
7  *
8  * COMMENTS:
9  *
10  */
11 
12 #ifndef __UN_UniGraph_h__
13 #define __UN_UniGraph_h__
14 
15 #include "UN_API.h"
16 #include "UN_GraphData.h"
17 #include "UN_Node.h"
18 #include "UN_Port.h"
19 #include "UN_UniInclude.h"
20 #include <UNI/UNI_GraphHandle.h>
21 
22 class UN_Category;
23 class UN_PortType;
24 class UNI_Category;
25 class UNI_Manager;
26 
27 // ============================================================================
29 {
30 protected:
31  /// Constructor.
32  UN_UniGraph();
33 
34  /// Sets the graph data.
35  /// Must be called in the sub-class constructor,
36  /// or at least before calling any of the methods.
37  void setGraphData( UN_GraphData *graph_data )
38  { myGraphData = graph_data; }
39 
40 public:
41  /// Graph APIs:
42  UT_StringHolder name() const override;
43  bool isEmpty() const override;
44  UNI_WireStyle wireStyle() const override;
45  void setWireStyle(UNI_WireStyle wire_style) override;
46 
47  bool isValid( UNI_NodeID node_id ) const override;
48  bool isValid( UNI_PortID port_id ) const override;
49  bool isValid( UNI_WireID wire_id ) const override;
50  bool isValid( UNI_StickyNoteID sticky_note_id ) const override;
51 
52  /// Node APIs:
53  UNI_NodeID rootNode() const override;
54  UT_StringHolder name( UNI_NodeID node_id ) const override;
55  UT_StringHolder path( UNI_NodeID node_id ) const override;
56  UT_StringHolder categoryName( UNI_NodeID node_id ) const override;
57  UT_StringHolder typeName( UNI_NodeID node_id ) const override;
58  UT_StringHolder signatureName( UNI_NodeID node_id ) const override;
59  bool isMultiSignature( UNI_NodeID node_id ) const override;
60  UT_Array<UNI_Signature> signatures( UNI_NodeID node_id,
61  bool compatible_only,
62  bool force_include_current ) const override;
63  UT_StringHolder helpURL( UNI_NodeID node_id ) const override;
64 
65  UNI_NodeID parentNode( UNI_NodeID node_id ) const override;
66  bool isSubnet( UNI_NodeID node_id ) const override;
67  bool isEditable( UNI_NodeID node_id ) const override;
68  bool isEditableSubnet( UNI_NodeID parent_id ) const override;
69  UNI_NodeIDList childNodes( UNI_NodeID node_id ) const override;
70  UNI_NodeID findNode( UNI_NodeID from_id,
71  const UT_StringRef &path) const override;
72 
73  bool isValidName(const UT_StringRef &name) const override;
74  bool isNameInUse(UNI_NodeID parent_id,
75  const UT_StringRef &name) const override;
76  UT_StringHolder findUniqueName(UNI_NodeID parent_id,
77  const UT_StringHolder &name) const override;
78 
79  UT_Vector2D position( UNI_NodeID node_id ) const override;
80  UT_Color color( UNI_NodeID node_id ) const override;
81  UT_StringHolder iconName( UNI_NodeID node_id ) const override;
82  UT_StringHolder comment( UNI_NodeID node_id ) const override;
83  UT_StringArray tags( UNI_NodeID node_id ) const override;
84  UT_StringHolder parmDialogScript( UNI_NodeID node_id ) const override;
85  UNI_ParmValue parmValue( UNI_NodeID node_id,
86  const UT_StringRef &parm_name ) const override;
87  bool parmOverriddenByConnection( UNI_NodeID node_id,
88  const UT_StringRef &parm_name ) const override;
89 
90  int numberOfInputPorts( UNI_NodeID node_id ) const override;
91  UNI_PortIDList inputPorts( UNI_NodeID node_id ) const override;
92  UNI_PortID inputPort( UNI_NodeID node_id,
93  int port_index ) const override;
94  int findInputPortIndex( UNI_NodeID node_id,
95  UNI_PortID port_id ) const override;
96 
97  int numberOfOutputPorts( UNI_NodeID node_id ) const override;
98  UNI_PortIDList outputPorts( UNI_NodeID node_id ) const override;
99  UNI_PortID outputPort( UNI_NodeID node_id,
100  int port_index ) const override;
101  int findOutputPortIndex( UNI_NodeID node_id,
102  UNI_PortID port_id ) const override;
103 
104  bool hasDynamicPorts( UNI_NodeID node_id ) const override;
105 
106  bool wireDirectlyToContainer() const override;
107  UT_Vector2D containerConnectPosition( UNI_NodeID parent_id,
108  UNI_ContainerConnectType contype ) const override;
109  UT_Color containerConnectColor( UNI_NodeID parent_id,
110  UNI_ContainerConnectType contype ) const override;
111 
112  /// Port APIs:
113  UNI_NodeID ownerNode( UNI_PortID port_id ) const override;
114  UNI_PortKind portKind( UNI_PortID port_id ) const override;
115  bool portAcceptsSubPorts( UNI_PortID port_id ) const override;
116  bool portIsSubPort( UNI_PortID port_id ) const override;
117  UNI_PortID outerPort( UNI_PortID port_id ) const override;
118  UNI_PortIDList subnetOutputPorts( UNI_PortID port_id ) const override;
119  UNI_PortIDList subnetInputPorts( UNI_PortID port_id ) const override;
120  UT_StringHolder name( UNI_PortID port_id ) const override;
121  bool canSetName( UNI_PortID port_id ) const override;
122  UT_StringHolder label( UNI_PortID port_id ) const override;
123  UT_StringHolder typeName( UNI_PortID port_id ) const override;
124  UT_StringHolder colorName( UNI_PortID port_id ) const override;
125  UNI_PortShape shape( UNI_PortID port_id ) const override;
126 
127  /// Wire APIs:
128  UNI_WireIDList childWires( UNI_NodeID node_id ) const override;
129  UNI_PortID srcPort( UNI_WireID wire_id ) const override;
130  UNI_PortID dstPort( UNI_WireID wire_id ) const override;
131  UNI_WireIDList srcWires( UNI_PortID port_id ) const override;
132  UNI_WireIDList dstWires( UNI_PortID port_id ) const override;
133 
134  /// Sticky note APIs:
135  UNI_StickyNoteIDList childStickyNotes( UNI_NodeID parent_id) const override;
136  UNI_StickyNoteID findStickyNote( UNI_NodeID from_id,
137  const UT_StringRef &path) const override;
138  UT_StringHolder name( UNI_StickyNoteID note_id ) const override;
139  UT_StringHolder path( UNI_StickyNoteID note_id ) const override;
140  UNI_NodeID ownerNode( UNI_StickyNoteID note_id ) const override;
141  UT_StringHolder text( UNI_StickyNoteID note_id ) const override;
142  UT_Color textColor( UNI_StickyNoteID note_id ) const override;
143  float textSize( UNI_StickyNoteID note_id ) const override;
144  UT_Color color( UNI_StickyNoteID note_id ) const override;
145  UT_Vector2D position( UNI_StickyNoteID note_id ) const override;
146  UT_Vector2D size( UNI_StickyNoteID note_id ) const override;
147  bool isCollapsed( UNI_StickyNoteID note_id ) const override;
148  bool isBackgroundHidden( UNI_StickyNoteID note_id ) const override;
149  bool copyItems(UNI_NodeID parent_id,
150  const UNI_NodeIDList &node_ids,
151  const UNI_StickyNoteIDList &note_ids,
152  std::ostream &os) const override;
153 
154 protected:
155  /// @{ Non-const methods are all protected.
156  UNI_NodeID createNode( UNI_NodeID parent_id,
157  const UT_StringHolder &node_name,
158  const UT_StringHolder &node_type_name,
159  const UT_StringHolder &signature_name
160  = UT_StringHolder()) override;
161  UNI_NodeID createSubnet( UNI_NodeID parent_id,
162  const UT_StringHolder &subnet_node_name,
163  const UNI_PortIDList &create_input_ports,
164  const UNI_PortIDList &create_output_ports) override;
165  void setName( UNI_NodeID node_id,
166  const UT_StringHolder &name) override;
167  void setSignature( UNI_NodeID node_id,
168  const UT_StringHolder &signature_name ) override;
169  void updateDownstreamPortTypes( UNI_NodeID node_id,
170  bool update_node ) override;
171  void updateDownstreamPortTypes( UNI_PortID port_id,
172  bool update_port ) override;
173  void setPosition( UNI_NodeID node_id,
174  const UT_Vector2D &pos) override;
175  void setColor( UNI_NodeID node_id,
176  const UT_Color &clr) override;
177  void setComment( UNI_NodeID node_id,
178  const UT_StringHolder &comment) override;
179  void setTags( UNI_NodeID node_id,
180  const UT_StringArray &tags) override;
181  void setParmValue( UNI_NodeID node_id,
182  const UT_StringRef &parm_name,
183  const UNI_ParmValue &value ) override;
184  void destroy( UNI_NodeID node_id ) override;
185 
186  void setContainerConnectPosition( UNI_NodeID parent_id,
187  UNI_ContainerConnectType contype,
188  const UT_Vector2D &pos ) override;
189  void setContainerConnectColor( UNI_NodeID parent_id,
190  UNI_ContainerConnectType contype,
191  const UT_Color &clr ) override;
192 
193  void setName( UNI_PortID port_id,
194  const UT_StringHolder &name ) override;
195  UNI_WireID createWire( UNI_PortID src, UNI_PortID dst ) override;
196  void destroy( UNI_WireID wire_id ) override;
197 
198  UNI_StickyNoteID createStickyNote( UNI_NodeID parent_id,
199  const UT_StringHolder &name ) override;
200  void setName( UNI_StickyNoteID note_id,
201  const UT_StringHolder &name ) override;
202  void setPosition( UNI_StickyNoteID note_id,
203  const UT_Vector2D &pos ) override;
204  void setSize( UNI_StickyNoteID note_id,
205  const UT_Vector2D &size ) override;
206  void setColor( UNI_StickyNoteID note_id,
207  const UT_Color &clr ) override;
208  void setText( UNI_StickyNoteID note_id,
209  const UT_StringHolder &text ) override;
210  void setTextColor( UNI_StickyNoteID note_id,
211  const UT_Color &clr ) override;
212  void setTextSize( UNI_StickyNoteID note_id,
213  const float size ) override;
214  void setCollapsed( UNI_StickyNoteID note_id,
215  bool collapsed ) override;
216  void setBackgroundHidden( UNI_StickyNoteID note_id,
217  bool hidden ) override;
218  void destroy( UNI_StickyNoteID note_id ) override;
219 
220  bool pasteItems(UNI_NodeID parent_id,
221  UNI_NodeIDList &node_ids,
222  UNI_StickyNoteIDList &note_ids,
223  std::istream &is,
224  UT_StringMap<UT_StringHolder> *rename_map) override;
225  /// @}
226 
227  /// Returns the UNI manager this graph belongs to.
228  const UNI_Manager * uniManager() const;
229  /// @{ Returns the UNI manager this graph belongs to.
230  const UNI_Category *uniCategory( const UT_StringRef &category_name ) const;
231  const UN_UniCategory *unCategory( const UT_StringRef &category_name ) const;
232  /// @}
233 
234  /// @{ Returns the underlying UN graph.
235  const UN_GraphData &unGraphData() const
236  {
237  UT_ASSERT(myGraphData);
238  return *myGraphData;
239  }
241  {
242  UT_ASSERT(myGraphData);
243  return *myGraphData;
244  }
245  /// @}
246 
247  /// @{ Convenience methods to get a UN items from an UNI ID.
248  UN_Node unNode( UNI_NodeID id )
249  { return UN_Node( &unGraphData(), id ); }
250  UN_ConstNode unNode( UNI_NodeID id ) const
251  { return UN_ConstNode( &unGraphData(), id ); }
252  UN_Port unPort( UNI_PortID id )
253  { return UN_Port( &unGraphData(), id ); }
254  UN_ConstPort unPort( UNI_PortID id ) const
255  { return UN_ConstPort( &unGraphData(), id ); }
256  const UN_PortType * unPortType( UNI_PortID id ) const;
257  UN_StickyNote unStickyNote( UNI_StickyNoteID id )
258  { return UN_StickyNote( &unGraphData(), id ); }
259  UN_ConstStickyNote unStickyNote( UNI_StickyNoteID id ) const
260  { return UN_ConstStickyNote( &unGraphData(), id ); }
261  /// @}
262 private:
263  /// Helper to update the signatures and port types on downstream nodes.
264  void updateDownstreamPortTypes( const UN_WireIDList &originating_wires );
265 
266  /// Helper method that updates the dirty signatures on downstream nodes,
267  /// as well as the types of the encountered ports on subnets.
268  void updateDownstreamDirtyPortTypes(
269  const UN_WireIDList &originating_wires,
270  UN_GenericNodeDataBufferRef dirty_buf );
271 
272  /// Changes the node signature to best matches the input wire types.
273  void updateNodeSignature( UN_NodeID node_id );
274 
275 private:
276  /// UN graph data to forward the calls to.
277  // Note, this is inteded to be a reference to a sub-class member, or
278  // at least should be managed by sub-class, setting/clearing it as needed.
279  UN_GraphData * myGraphData = nullptr;
280 };
281 
282 // ============================================================================
284 {
285 protected:
286  /// Constructor.
287  /// Intended to be called with the factory function createGraph();
288  UN_BasicUniGraph(UN_GraphContext graph_context);
289 
290 private:
291  /// The underlying graph.
292  UN_GraphData myGraphData;
293 };
294 
295 #endif
296 
virtual UT_StringHolder text(UNI_StickyNoteID note_id) const =0
Returns the sticky note's contents.
virtual bool isValid(UNI_NodeID node_id) const =0
Returns true if the given ID refers to a valid item in this graph.
virtual UNI_PortID srcPort(UNI_WireID wire_id) const =0
virtual UNI_WireIDList srcWires(UNI_PortID port_id) const =0
Return the wires that connect to a given port.
virtual UNI_PortKind portKind(UNI_PortID port_id) const =0
Returns what kind of a port this is: input or output.
virtual void setComment(UNI_NodeID node_id, const UT_StringHolder &comment)=0
Set the user-authored comment for a node.
UN_ConstNode unNode(UNI_NodeID id) const
Convenience methods to get a UN items from an UNI ID.
Definition: UN_UniGraph.h:250
virtual UNI_PortIDList subnetInputPorts(UNI_PortID port_id) const =0
virtual UT_StringArray tags(UNI_NodeID node_id) const =0
The list of tags associated with a node.
void setGraphData(UN_GraphData *graph_data)
Definition: UN_UniGraph.h:37
virtual bool portAcceptsSubPorts(UNI_PortID port_id) const =0
Returns whether the port accepts subports.
virtual UT_Color textColor(UNI_StickyNoteID note_id) const =0
Returns the sticky note's text (foreground) color.
virtual UT_StringHolder colorName(UNI_PortID port_id) const =0
virtual void setContainerConnectPosition(UNI_NodeID parent_id, UNI_ContainerConnectType contype, const UT_Vector2D &pos)=0
GLsizei const GLfloat * value
Definition: glcorearb.h:824
GLsizei const GLchar *const * path
Definition: glcorearb.h:3341
virtual bool parmOverriddenByConnection(UNI_NodeID node_id, const UT_StringRef &parm_name) const =0
virtual UNI_StickyNoteID createStickyNote(UNI_NodeID parent_id, const UT_StringHolder &name)=0
Create a new sticky note inside the provided node.
virtual bool isBackgroundHidden(UNI_StickyNoteID note_id) const =0
virtual UNI_WireIDList dstWires(UNI_PortID port_id) const =0
Return the wires that connect to a given port.
virtual bool isValidName(const UT_StringRef &name) const =0
Generic functions related to entity naming.
UN_ConstStickyNote unStickyNote(UNI_StickyNoteID id) const
Convenience methods to get a UN items from an UNI ID.
Definition: UN_UniGraph.h:259
virtual UNI_NodeIDList childNodes(UNI_NodeID parent_id) const =0
Returns the children nodes that live inside the given parent node.
virtual UT_Vector2D size(UNI_StickyNoteID note_id) const =0
Returns the sticky note's size (width & height).
virtual UNI_StickyNoteID findStickyNote(UNI_NodeID from_id, const UT_StringRef &path) const =0
Find the sticky note at a path relative to a starting node.
const UN_GraphData & unGraphData() const
Returns the underlying UN graph.
Definition: UN_UniGraph.h:235
UN_StickyNote unStickyNote(UNI_StickyNoteID id)
Convenience methods to get a UN items from an UNI ID.
Definition: UN_UniGraph.h:257
#define UN_API
Definition: UN_API.h:11
virtual UNI_NodeID createNode(UNI_NodeID parent_id, const UT_StringHolder &node_name, const UT_StringHolder &node_type_name, const UT_StringHolder &signature_name=UT_StringHolder())=0
Create a new node inside the provided node.
virtual int numberOfOutputPorts(UNI_NodeID node_id) const =0
Output ports of a node.
virtual UT_Color color(UNI_NodeID node_id) const =0
The color tint of the node in the graph editor.
virtual bool hasDynamicPorts(UNI_NodeID node_id) const =0
virtual UNI_ParmValue parmValue(UNI_NodeID node_id, const UT_StringRef &parm_name) const =0
Get the value of a parm on this node.
virtual UNI_PortIDList inputPorts(UNI_NodeID node_id) const =0
Input ports of a node.
virtual void setSize(UNI_StickyNoteID note_id, const UT_Vector2D &size)=0
Set the size of the sticky note in the graph editor.
virtual UNI_NodeID createSubnet(UNI_NodeID parent_id, const UT_StringHolder &subnet_node_name, const UNI_PortIDList &create_input_ports, const UNI_PortIDList &create_output_ports)=0
virtual UT_StringHolder comment(UNI_NodeID node_id) const =0
The user-authored comment for a node.
virtual void setBackgroundHidden(UNI_StickyNoteID note_id, bool hidden)=0
virtual bool isMultiSignature(UNI_NodeID node_id) const =0
Returns true if the node has many signatures to choose from.
bool isEditable() const
Control whether this graph is editable.
Definition: UNI_Graph.h:179
virtual int findInputPortIndex(UNI_NodeID node_id, UNI_PortID port_id) const =0
Input ports of a node.
virtual bool isEditableSubnet(UNI_NodeID parent_id) const =0
virtual UT_StringHolder categoryName(UNI_NodeID node_id) const =0
The category name of the node.
virtual UNI_PortIDList subnetOutputPorts(UNI_PortID port_id) const =0
virtual UNI_StickyNoteIDList childStickyNotes(UNI_NodeID parent_id) const =0
virtual UT_StringHolder iconName(UNI_NodeID node_id) const =0
Returns the icon name for the given node.
virtual bool isEmpty() const =0
Returns true if the graph has no nodes.
virtual bool wireDirectlyToContainer() const =0
virtual int numberOfInputPorts(UNI_NodeID node_id) const =0
Input ports of a node.
virtual UT_StringHolder helpURL(UNI_NodeID node_id) const =0
virtual UNI_WireID createWire(UNI_PortID src, UNI_PortID dst)=0
Connect two ports.
virtual UNI_PortID outputPort(UNI_NodeID node_id, int port_index) const =0
Output ports of a node.
virtual UT_Vector2D position(UNI_NodeID node_id) const =0
The position of the node in the graph editor.
UN_ConstPort unPort(UNI_PortID id) const
Convenience methods to get a UN items from an UNI ID.
Definition: UN_UniGraph.h:254
virtual bool isSubnet(UNI_NodeID node_id) const =0
Returns true if the given node is a subnet (can have child nodes).
virtual UT_Vector2D containerConnectPosition(UNI_NodeID parent_id, UNI_ContainerConnectType contype) const =0
virtual UNI_WireIDList childWires(UNI_NodeID parent_id) const =0
Returns the wires that live directly inside the given parent node.
virtual void setText(UNI_StickyNoteID note_id, const UT_StringHolder &text)=0
Set the sticky note text in the graph editor.
virtual void setColor(UNI_NodeID node_id, const UT_Color &clr)=0
Set the color tint of the node in the graph editor.
virtual UNI_PortShape shape(UNI_PortID port_id) const =0
Returns the visual shape of the port in the UI.
virtual void setTextSize(UNI_StickyNoteID note_id, const float size)=0
Set the size of the sticky note text in the graph editor.
virtual UNI_PortID outerPort(UNI_PortID port_id) const =0
Returns the "outer port" of a subport.
UN_Node unNode(UNI_NodeID id)
Convenience methods to get a UN items from an UNI ID.
Definition: UN_UniGraph.h:248
virtual bool portIsSubPort(UNI_PortID port_id) const =0
Returns whether the port is a subport.
virtual UT_StringHolder name() const =0
UNI_PortKind
Specifies the port kind, ie, wheter it is an input or an output port.
Definition: UNI_Include.h:21
virtual void setTags(UNI_NodeID node_id, const UT_StringArray &tags)=0
Set the list of tags associated with a node.
virtual UNI_WireStyle wireStyle() const =0
The drawing style of the connection wires in the graph.
virtual UT_StringHolder signatureName(UNI_NodeID node_id) const =0
The name of the current signature of the given node.
GLuint const GLchar * name
Definition: glcorearb.h:786
virtual void setPosition(UNI_NodeID node_id, const UT_Vector2D &pos)=0
Set the position of the node in the graph editor.
std::variant< UNI_InvalidParmValue, UNI_DefaultParmValue, bool, int64, fpreal64, UT_Vector2D, UT_Vector3D, UT_Vector4D, UT_Matrix3D, UT_Matrix4D, UT_StringHolder, UNI_RampParmValue > UNI_ParmValue
Variant data type that holds all the parm value types allowed in UNI parms.
Definition: UNI_Graph.h:126
virtual UNI_NodeID ownerNode(UNI_PortID port_id) const =0
virtual UNI_NodeID findNode(UNI_NodeID from_id, const UT_StringRef &path) const =0
virtual void updateDownstreamPortTypes(UNI_NodeID node_id, bool update_node)=0
virtual void destroy(UNI_NodeID node_id)=0
Destroy a node.
virtual void setContainerConnectColor(UNI_NodeID parent_id, UNI_ContainerConnectType contype, const UT_Color &clr)=0
virtual UNI_NodeID parentNode(UNI_NodeID node_id) const =0
virtual UNI_PortIDList outputPorts(UNI_NodeID node_id) const =0
Output ports of a node.
UNI_ContainerConnectType
Definition: UNI_Graph.h:35
virtual UT_Array< UNI_Signature > signatures(UNI_NodeID node_id, bool compatible_only, bool force_include_current) const =0
virtual UT_Color containerConnectColor(UNI_NodeID parent_id, UNI_ContainerConnectType contype) const =0
GLsizeiptr size
Definition: glcorearb.h:664
GLenum GLenum dst
Definition: glcorearb.h:1793
UN_GraphData & unGraphData()
Returns the underlying UN graph.
Definition: UN_UniGraph.h:240
virtual int findOutputPortIndex(UNI_NodeID node_id, UNI_PortID port_id) const =0
Output ports of a node.
UNI_WireStyle
Definition: UNI_Include.h:38
virtual float textSize(UNI_StickyNoteID note_id) const =0
Returns the sticky note's text size.
virtual void setParmValue(UNI_NodeID node_id, const UT_StringRef &parm_name, const UNI_ParmValue &value)=0
Set the value of a parm on this node.
virtual UT_StringHolder findUniqueName(UNI_NodeID parent_id, const UT_StringHolder &name) const =0
Generic functions related to entity naming.
UN_Port unPort(UNI_PortID id)
Convenience methods to get a UN items from an UNI ID.
Definition: UN_UniGraph.h:252
virtual UNI_PortID dstPort(UNI_WireID wire_id) const =0
UNI_PortShape
Specifies the visual shape of the port in the UI.
Definition: UNI_Include.h:29
virtual bool isCollapsed(UNI_StickyNoteID note_id) const =0
Returns true if the sticky note is collapsed (minimized).
virtual void setName(UNI_NodeID node_id, const UT_StringHolder &name)=0
Set the name of a node.
virtual void setSignature(UNI_NodeID node_id, const UT_StringHolder &signature_name)=0
Sets the new signature on a node.
virtual UT_StringHolder typeName(UNI_NodeID node_id) const =0
The type name of the node.
#define UT_ASSERT(ZZ)
Definition: UT_Assert.h:165
virtual void setWireStyle(UNI_WireStyle wire_style)=0
The drawing style of the connection wires in the graph.
virtual void setCollapsed(UNI_StickyNoteID note_id, bool collapsed)=0
Returns true if the sticky note is collapsed (minimized).
virtual UNI_NodeID rootNode() const =0
virtual bool copyItems(UNI_NodeID parent_id, const UNI_NodeIDList &node_ids, const UNI_StickyNoteIDList &note_ids, std::ostream &os) const =0
virtual bool canSetName(UNI_PortID port_id) const =0
Some graphs support setting port names.
virtual bool isNameInUse(UNI_NodeID parent_id, const UT_StringRef &name) const =0
Generic functions related to entity naming.
virtual UT_StringHolder parmDialogScript(UNI_NodeID node_id) const =0
virtual UT_StringHolder path(UNI_NodeID node_id) const =0
The full path of the node.
virtual void setTextColor(UNI_StickyNoteID note_id, const UT_Color &clr)=0
Set the color of the sticky note text in the graph editor.
virtual bool pasteItems(UNI_NodeID parent_id, UNI_NodeIDList &node_ids, UNI_StickyNoteIDList &note_ids, std::istream &is, UT_StringMap< UT_StringHolder > *rename_map)=0
virtual UNI_PortID inputPort(UNI_NodeID node_id, int port_index) const =0
Input ports of a node.
virtual UT_StringHolder label(UNI_PortID port_id) const =0
The label of the port. Some ports can be renamed.
GLenum src
Definition: glcorearb.h:1793