#include <OP_Bundle.h>
Public Member Functions | |
| OP_Bundle (const char *name, int internal=0) | |
| ~OP_Bundle () | |
| const char * | getName () const |
| Obtains the unique name of the bungle. | |
| int | isInternal () const |
| void | rename (const char *name) |
| Rename the bundle to a new name. | |
| void | nodeAdded (OP_Node *node) |
| void | nodeDeleted (OP_Node *node) |
| void | bulkNodesAdded (const OP_NodeList &list) |
| void | nodeAddedDeleted () |
| void | otherBundleChanged (const char *bundle_name) |
| void | expandPattern (const OP_Network *creator, const OP_Node *relativeto, const char *pattern) |
| void | clear () |
| Removes all the member nodes (or cached nodes and dirties the bundle). | |
| void | setFilter (const OP_BundleFilter *filter) |
| const OP_BundleFilter * | getFilter () |
| Returns the current node filter. | |
| void | setStringPattern (const char *pattern) |
| const char * | getStringPattern () const |
| Returns the pattern originally set on the bundle. | |
| const OP_BundlePattern * | getBundlePattern () const |
| bool | isSmart () const |
| void | setSubnetInclusionFlag (bool onoff) |
| int | getSubnetInclusionFlag () const |
| Obtains the subnet inclusion flag. | |
| int | addOp (OP_Node *op) |
| int | addOp (int unique_id) |
| int | addOpList (const OP_NodeList &list) |
| int | removeOp (OP_Node *op) |
| Removes the node from the bundle and sends out a notification event. | |
| int | removeOp (int unique_id) |
| void | refilterOp (OP_Node &node) |
| int | getTouchTime () const |
| int | isLocked () const |
| void | setLocked (bool onoff) |
| int | entries () |
| Returns the number of member nodes. | |
| OP_Node * | getNode (int idx) |
| const OP_Node * | getPatternNode () const |
| const OP_Node * | getRelativeNode () const |
| Returns the node used to resolve relative paths in the pattern. | |
| void | sortByPath () |
| Sorts the member nodes alphanumerically by node path. | |
| void | sortByPointer () |
| Sorts the member nodes by numerical value of the node pointer. | |
| void | bumpRefCount (int dir) |
| int | getRefCount () const |
| Returns the current reference count. | |
| int | contains (const OP_Node *op, bool check_representative) |
| int | contains (int unique_id, bool check_representative) |
| void | buildString (UT_WorkBuffer &buffer, OP_Node *cwd=0) |
| Builds a string that specifies all the members of the bundle. | |
| void | getMembers (UT_IntArray &list) |
| Obtains all the bundle member ids. | |
| void | getMembers (UT_PtrArray< OP_Node * > &list) |
| Obtains all the bundle members as a node list. | |
| void | undoSetMembers (UT_IntArray &nodes) |
| void | addInterest (int add_id) |
| void | removeInterest (int remove_id) |
| void | addParmInterest (int node_id, int parm_id) |
| void | removeParmInterest (int node_id, int parm_id) |
| int | setPicked (int on_off) |
| Sets the picked (selected) flag to on/off. | |
| int | getPicked () const |
| Returns the current pick (selected) flag. | |
| UT_NotifierImpl < OP_BundleEvent & > & | getEventNotifier () |
| void | setOpsFlag (char flagchar, int onoff, bool propagate_to_ancestors=false) |
| Sets the flag on on all the members of this bundle. | |
| void | setOpsVisibility (bool onoff) |
| void | syncOpOTLs (bool sync_flag, bool propagate_to_ancestors=false) |
| void | appendUniqueOpParents (OP_NodeList &parents) |
Static Public Member Functions | |
| static void | getAllMembers (const UT_PtrArray< OP_Bundle * > &bundles, UT_PtrArray< OP_Node * > &nodes) |
| static void | notifyOpsOfGroupChange (OP_Group *group) |
Definition at line 95 of file OP_Bundle.h.
| OP_Bundle::OP_Bundle | ( | const char * | name, | |
| int | internal = 0 | |||
| ) |
| OP_Bundle::~OP_Bundle | ( | ) |
| void OP_Bundle::addInterest | ( | int | add_id | ) |
Adds a node interest to the bundle. If the bundle changes, it will alert all the nodes that expressed interest in it by calling bundleChanged() on it. This is a separate notification mechanism from passing the OP_BundleEvent via myEventNotifier.
| add_id | The node id of the interested node. |
| int OP_Bundle::addOp | ( | int | unique_id | ) |
| int OP_Bundle::addOp | ( | OP_Node * | op | ) |
Adds the node to the bundle and sends out a notification that a node has been added.
| int OP_Bundle::addOpList | ( | const OP_NodeList & | list | ) |
Adds the nodes in the list to the bundle and sends out a notification that nodes have been added. If filter or a pattern is set, only the nodes that match them will be added.
| void OP_Bundle::addParmInterest | ( | int | node_id, | |
| int | parm_id | |||
| ) |
Adds a parameter interest to the bundle. If the bundle changes, it will alert all the parameter channels by calling parmChanged() on the node with parm id. This is a separate notification mechanism from passing the OP_BundleEvent via myEventNotifier.
| add_id | The node id of the interested node. | |
| parm_id | The id (index) of the referencing parameter |
| void OP_Bundle::appendUniqueOpParents | ( | OP_NodeList & | parents | ) |
Appends the parents of the member operators to the list. The list is maintained as sorted on the pointer value and it contains unique parents.
| void OP_Bundle::buildString | ( | UT_WorkBuffer & | buffer, | |
| OP_Node * | cwd = 0 | |||
| ) |
Builds a string that specifies all the members of the bundle.
| void OP_Bundle::bulkNodesAdded | ( | const OP_NodeList & | list | ) |
Processes a list of nodes that have just been added to some network. Any nodes that match the pattern (if set) will be added to the bundle.
| void OP_Bundle::bumpRefCount | ( | int | dir | ) | [inline] |
Changes (ie, increases or decreases) the reference count by the given amount. When the count decreases to zero, the bundle list (ie, the owner of all the bundles) will delete the bundle.
Definition at line 252 of file OP_Bundle.h.
| void OP_Bundle::clear | ( | ) |
Removes all the member nodes (or cached nodes and dirties the bundle).
| int OP_Bundle::contains | ( | int | unique_id, | |
| bool | check_representative | |||
| ) |
| int OP_Bundle::contains | ( | const OP_Node * | op, | |
| bool | check_representative | |||
| ) |
Determines whether or not a node is contained in the bundle. If the check_representative flag is true, then the node's parents will be checked for containment inside the bundle.
| int OP_Bundle::entries | ( | ) |
Returns the number of member nodes.
| void OP_Bundle::expandPattern | ( | const OP_Network * | creator, | |
| const OP_Node * | relativeto, | |||
| const char * | pattern | |||
| ) |
Calculates and caches the member nodes that match the specified pattern, and other member values (such as myPatternSubnetInclusion)
| creator | The creator network whose descendent nodes (children and grand children, etc) are considered for the bundle membership. | |
| relativeto | The node with respect to which the pattern is specified (so that it is possible to resolve relative path patterns such as "../sibbling*" | |
| pattern | The pattern which the member member nodes must match. |
| static void OP_Bundle::getAllMembers | ( | const UT_PtrArray< OP_Bundle * > & | bundles, | |
| UT_PtrArray< OP_Node * > & | nodes | |||
| ) | [static] |
Obtains the union of the member nodes from all the given bundles. The nodes in the result list are unique.
| const OP_BundlePattern* OP_Bundle::getBundlePattern | ( | ) | const [inline] |
Returns the current pattern for nodes. The nodes that match the pattern are the members of the bundle.
Definition at line 177 of file OP_Bundle.h.
| UT_NotifierImpl<OP_BundleEvent&>& OP_Bundle::getEventNotifier | ( | ) | [inline] |
Returns an object that emmits events originating from the bundle when something about the bundle changes.
Definition at line 324 of file OP_Bundle.h.
| const OP_BundleFilter* OP_Bundle::getFilter | ( | ) | [inline] |
| void OP_Bundle::getMembers | ( | UT_PtrArray< OP_Node * > & | list | ) |
Obtains all the bundle members as a node list.
| void OP_Bundle::getMembers | ( | UT_IntArray & | list | ) |
Obtains all the bundle member ids.
| const char* OP_Bundle::getName | ( | void | ) | const [inline] |
| OP_Node* OP_Bundle::getNode | ( | int | idx | ) |
Returns the i-th member of the bundle. The order is arbitrary, but the index should not exceed the number of total entries.
| const OP_Node* OP_Bundle::getPatternNode | ( | ) | const |
Returns the root node at which the search begins when matching the pattern. Only the ancestors (children, grandchildren - that is nodes contained in some way by the root) are considered when matching the pattern.
| int OP_Bundle::getPicked | ( | ) | const [inline] |
| int OP_Bundle::getRefCount | ( | ) | const [inline] |
| const OP_Node* OP_Bundle::getRelativeNode | ( | ) | const |
Returns the node used to resolve relative paths in the pattern.
| const char* OP_Bundle::getStringPattern | ( | ) | const [inline] |
| int OP_Bundle::getSubnetInclusionFlag | ( | ) | const [inline] |
| int OP_Bundle::getTouchTime | ( | ) | const [inline] |
Returns the touch time, which is an integer that gets incremented each time the bundle contents changes.
Definition at line 220 of file OP_Bundle.h.
| int OP_Bundle::isInternal | ( | ) | const [inline] |
Determines whether the budnle has been internally created. An internal bundle is created in C++ code, based on some pattern string obtained from a node's parameter. The non-internal bundles are explicitly created by the user and are all listed in the bundle pane.
Definition at line 107 of file OP_Bundle.h.
| int OP_Bundle::isLocked | ( | ) | const [inline] |
Returns a flag that indicates if the bundle tries to automatically add newly created nodes to itself.
Definition at line 224 of file OP_Bundle.h.
| bool OP_Bundle::isSmart | ( | ) | const [inline] |
Returns true if the bundle is "smart". That is if it is a non-internal bundle whose contents is determined by a pattern.
Definition at line 184 of file OP_Bundle.h.
| void OP_Bundle::nodeAdded | ( | OP_Node * | node | ) |
Processes a new node that has been added to some network. The bundle may decide to add that node to itself, if it is a pattern bundle.
| void OP_Bundle::nodeAddedDeleted | ( | ) |
Informs the bundle that some unspecified nodes have been added or deleted. The bundle will mark itself as dirty, if necessary.
| void OP_Bundle::nodeDeleted | ( | OP_Node * | node | ) |
Processes a node that is about to be deleted from some network. If that node belongs to the bundle, it will be reomved as a member.
| static void OP_Bundle::notifyOpsOfGroupChange | ( | OP_Group * | group | ) | [static] |
Processes the given group after it has changed. If any bundles reference this group, the will be marked as dirty.
| void OP_Bundle::otherBundleChanged | ( | const char * | bundle_name | ) |
Informs the bundle that some other bundle contents has changed. This bundle will mark iself as dirty, if necessary.
| bundle_name | The name of the other bundle that has changed (including the @ signg ) |
| void OP_Bundle::refilterOp | ( | OP_Node & | node | ) |
Processes a node when its type (or representative type) has changed. The bundle gets marked as dirty if necessary.
| void OP_Bundle::removeInterest | ( | int | remove_id | ) |
Removes the node interest from the bundle.
| remove_id | The node id that is no longer interested in bundle. |
| int OP_Bundle::removeOp | ( | int | unique_id | ) |
| int OP_Bundle::removeOp | ( | OP_Node * | op | ) |
Removes the node from the bundle and sends out a notification event.
| void OP_Bundle::removeParmInterest | ( | int | node_id, | |
| int | parm_id | |||
| ) |
Removes the parameter interest from the bundle.
| add_id | The node id of the interested node. | |
| parm_id | The id (index) of the referencing parameter |
| void OP_Bundle::rename | ( | const char * | name | ) |
Rename the bundle to a new name.
| void OP_Bundle::setFilter | ( | const OP_BundleFilter * | filter | ) |
Sets a new node filter for the bundle, dirties the bundle, and sends out an event.
| filter | The new filter that influences the membership. It accepts some nodes and rejects other. |
| void OP_Bundle::setLocked | ( | bool | onoff | ) |
| void OP_Bundle::setOpsFlag | ( | char | flagchar, | |
| int | onoff, | |||
| bool | propagate_to_ancestors = false | |||
| ) |
Sets the flag on on all the members of this bundle.
| void OP_Bundle::setOpsVisibility | ( | bool | onoff | ) |
sets op visibility. This is smarter than just truning the display flag. It also adds to the visible children parameter of the ancestors so that the bundle nodes become visibile.
| int OP_Bundle::setPicked | ( | int | on_off | ) |
Sets the picked (selected) flag to on/off.
| void OP_Bundle::setStringPattern | ( | const char * | pattern | ) |
Sets the pattern and turn the bundle into a smart bundle, if it is not already smart. If the pattern is NULL, the bundle will no longer be smart (it will be converted into a normal bundle).
| void OP_Bundle::setSubnetInclusionFlag | ( | bool | onoff | ) |
The subnet inclusion flag determines whether a pattern includes subnet contents. This means that if a node does not explicitly a member of the bundle (ie, does not match the pattern), but its ancestor does, then that node is also a member.
| void OP_Bundle::sortByPath | ( | ) |
Sorts the member nodes alphanumerically by node path.
| void OP_Bundle::sortByPointer | ( | ) |
Sorts the member nodes by numerical value of the node pointer.
| void OP_Bundle::syncOpOTLs | ( | bool | sync_flag, | |
| bool | propagate_to_ancestors = false | |||
| ) |
Syncs (if sync_flag == true) and unsyncs (if sync_flag == false ) the HDA definitions of the nodes contained in this bundle.
| void OP_Bundle::undoSetMembers | ( | UT_IntArray & | nodes | ) |
1.5.9