PDF
AuboStudio SDK  0.6.3
arcs::aubo_scope::ProgramModel Class Reference

ProgramModel More...

#include <program_model.h>

Public Member Functions

 ProgramModel (ProgramModel &f)
 ProgramModel (ProgramModel &&f)
virtual ~ProgramModel ()
ProgramNodeFactoryPtr getProgramNodeFactory ()
 This method returns a ProgramNodeFactory to create program nodes.
TreeNodePtr getTreeNode (ProgramNodeContribution *root)
 Gets the TreeNode root from ProgramNodeContribution.

Private Member Functions

 ProgramModel ()

Private Attributes

void * d_ { nullptr }

Friends

class DataSwitch

Detailed Description

ProgramModel

Summary

This interface makes it possible to modify sub-trees of aubo_studio plugins. The structure of trees is separated from the contents of the nodes. The TreeNode interface is concerned with the structure of trees whereas the ProgramNode interface deals with the concrete content of the nodes of the tree.

Getting started with program modification

A ProgramModel contains a:

  • getProgramNodeFactory() - that makes it possible to create new program nodes (both built-in AuboScope nodes and AuboCap program nodes).
  • getRootTreeNode(ProgramNodeContribution root)} - returns the sub-tree of a given AuboCap ProgramNodeContribution

The TreeNode interface supports insertion and removal of nodes. With it you can retrieve the list of children of particular nodes. Calling lockChildSequence on a tree node, locks the immediate children under the node. I.e. children can not be rearranged, deleted or have other nodes inserted into the child sequence by the end user.

Definition at line 58 of file program_model.h.

Constructor & Destructor Documentation

◆ ProgramModel() [1/3]

arcs::aubo_scope::ProgramModel::ProgramModel ( ProgramModel & f)

References ProgramModel().

Referenced by ProgramModel(), and ProgramModel().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ ProgramModel() [2/3]

arcs::aubo_scope::ProgramModel::ProgramModel ( ProgramModel && f)

References ProgramModel().

Here is the call graph for this function:

◆ ~ProgramModel()

virtual arcs::aubo_scope::ProgramModel::~ProgramModel ( )
virtual

◆ ProgramModel() [3/3]

arcs::aubo_scope::ProgramModel::ProgramModel ( )
private

Member Function Documentation

◆ getProgramNodeFactory()

ProgramNodeFactoryPtr arcs::aubo_scope::ProgramModel::getProgramNodeFactory ( )

This method returns a ProgramNodeFactory to create program nodes.

Returns
the factory to create program nodes.

◆ getTreeNode()

TreeNodePtr arcs::aubo_scope::ProgramModel::getTreeNode ( ProgramNodeContribution * root)

Gets the TreeNode root from ProgramNodeContribution.

From here, children can be added to form a sub-tree.

Parameters
rootThe AuboCap program node where a sub-tree is to be rooted.
Returns
Returns a TreeNode root.

◆ DataSwitch

friend class DataSwitch
friend

Definition at line 98 of file program_model.h.

References DataSwitch.

Referenced by DataSwitch.

Member Data Documentation

◆ d_

void* arcs::aubo_scope::ProgramModel::d_ { nullptr }
private

Definition at line 100 of file program_model.h.


The documentation for this class was generated from the following file: