AuboCaps  0.6.0
arcs::aubo_scope::ProgramNodeService Class Referenceabstract

Defines an API required for adding a new type of program node to AuboScope. More...

#include <program_node_service.h>

Public Member Functions

virtual ~ProgramNodeService ()=default
 
virtual std::string getId ()=0
 Get the unique identifier for this kind of program node. More...
 
virtual std::string getTitle ()=0
 
virtual std::string getIcon ()=0
 
virtual void configureContribution (ProgramContributionConfigurationPtr configuration)=0
 configureContribution More...
 
virtual ProgramNodeViewPtr createView (ViewApiProviderPtr api_provider)=0
 Creates a new View instance which implements the UI for your program node screen. More...
 
virtual ProgramNodeContributionPtr createNode (ProgramApiProviderPtr api_provider, ProgramNodeViewPtr view, DataModelPtr model, ProgramCreationContextPtr context)=0
 

Detailed Description

Defines an API required for adding a new type of program node to AuboScope.

Definition at line 18 of file program_node_service.h.

Constructor & Destructor Documentation

virtual arcs::aubo_scope::ProgramNodeService::~ProgramNodeService ( )
virtualdefault

Member Function Documentation

virtual void arcs::aubo_scope::ProgramNodeService::configureContribution ( ProgramContributionConfigurationPtr  configuration)
pure virtual

configureContribution

Parameters
configuration
virtual ProgramNodeContributionPtr arcs::aubo_scope::ProgramNodeService::createNode ( ProgramApiProviderPtr  api_provider,
ProgramNodeViewPtr  view,
DataModelPtr  model,
ProgramCreationContextPtr  context 
)
pure virtual

Creates a new program node contribution instance.

The returned node must use the supplied data model object to retrieve and store the data contained in it. All modifications to the supplied data model from the program node constructor are ignored when an existing program node is loaded or copy/pasted. Every change to the model object is registered as a separate undo/redo event in the program tree.

Parameters
apithe AuboCap API object with access to domain data
modelobject where all configuration data of the new program node instance is to be stored in and retrieved from
Returns
the newly constructed program node contribution instance
virtual ProgramNodeViewPtr arcs::aubo_scope::ProgramNodeService::createView ( ViewApiProviderPtr  api_provider)
pure virtual

Creates a new View instance which implements the UI for your program node screen.

Called once when a new program is loaded or created.

Parameters
apiProviderProvides access to functionality and services available from within AuboScope related to user interface and end user interaction
Returns
the view
virtual std::string arcs::aubo_scope::ProgramNodeService::getIcon ( )
pure virtual
Returns
The text displayed in the Structure Tab for program nodes created by this factory.
virtual std::string arcs::aubo_scope::ProgramNodeService::getId ( )
pure virtual

Get the unique identifier for this kind of program node.

The identifier will be used when storing programs that use the program node.

Returns
the unique identifier.
virtual std::string arcs::aubo_scope::ProgramNodeService::getTitle ( )
pure virtual
Returns
The text displayed in the Structure Tab for program nodes created by this factory.

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