SCIRun  5.0
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Public Member Functions | List of all members
NetworkEditorController Class Reference

#include <NetworkEditorController.h>

Inheritance diagram for NetworkEditorController:
NetworkIOInterface< Networks::NetworkFileHandle > NetworkEditorControllerInterface ConnectionMakerService

Public Member Functions

 NetworkEditorController (Networks::ModuleFactoryHandle mf, Networks::ModuleStateFactoryHandle sf, ExecutionStrategyFactoryHandle executorFactory, Core::Algorithms::AlgorithmFactoryHandle algoFactory, Networks::ModulePositionEditor *mpg=0)
 
 NetworkEditorController (Networks::NetworkHandle network, ExecutionStrategyFactoryHandle executorFactory, Networks::ModulePositionEditor *mpg=0)
 
virtual Networks::ModuleHandle addModule (const Networks::ModuleLookupInfo &info) override
 
Networks::ModuleHandle addModule (const std::string &name)
 
void removeModule (const Networks::ModuleId &id)
 
Networks::ModuleHandle duplicateModule (const Networks::ModuleHandle &module)
 
void connectNewModule (const SCIRun::Dataflow::Networks::ModuleHandle &moduleToConnectTo, const SCIRun::Dataflow::Networks::PortDescriptionInterface *portToConnect, const std::string &newModuleName)
 
void requestConnection (const SCIRun::Dataflow::Networks::PortDescriptionInterface *from, const SCIRun::Dataflow::Networks::PortDescriptionInterface *to)
 
void removeConnection (const Networks::ConnectionId &id)
 
void executeAll (const Networks::ExecutableLookup *lookup)
 
virtual Networks::NetworkFileHandle saveNetwork () const
 
virtual void loadNetwork (const Networks::NetworkFileHandle &xml)
 
virtual void clear ()
 
boost::signals2::connection connectModuleAdded (const ModuleAddedSignalType::slot_type &subscriber)
 
boost::signals2::connection connectModuleRemoved (const ModuleRemovedSignalType::slot_type &subscriber)
 
boost::signals2::connection connectConnectionAdded (const ConnectionAddedSignalType::slot_type &subscriber)
 
boost::signals2::connection connectConnectionRemoved (const ConnectionRemovedSignalType::slot_type &subscriber)
 
boost::signals2::connection connectInvalidConnection (const InvalidConnectionSignalType::slot_type &subscriber)
 
boost::signals2::connection connectPortAdded (const PortAddedSignalType::slot_type &subscriber)
 
boost::signals2::connection connectPortRemoved (const PortRemovedSignalType::slot_type &subscriber)
 
boost::signals2::connection connectNetworkExecutionStarts (const ExecuteAllStartsSignalType::slot_type &subscriber)
 
boost::signals2::connection connectNetworkExecutionFinished (const ExecuteAllFinishesSignalType::slot_type &subscriber)
 
virtual void enableSignals () override
 
virtual void disableSignals () override
 
virtual Networks::NetworkHandle getNetwork () const override
 
virtual void setNetwork (Networks::NetworkHandle nh) override
 
Networks::NetworkGlobalSettingsgetSettings ()
 
boost::shared_ptr
< DisableDynamicPortSwitch
createDynamicPortSwitch ()
 
void setExecutorType (int type)
 
void setModulePositionEditor (Networks::ModulePositionEditor *editor)
 
const
Networks::ModuleDescriptionMap
getAllAvailableModuleDescriptions () const
 
- Public Member Functions inherited from NetworkIOInterface< Networks::NetworkFileHandle >
virtual ~NetworkIOInterface ()
 
- Public Member Functions inherited from NetworkEditorControllerInterface
virtual ~NetworkEditorControllerInterface ()
 
- Public Member Functions inherited from ConnectionMakerService
virtual ~ConnectionMakerService ()
 

Detailed Description

Todo:
Refactoring: split this class into two classes, NetworkEditorService and Controller.

Constructor & Destructor Documentation

Todo:
should this class own the network or just keep a reference?

Member Function Documentation

ModuleHandle addModule ( const Networks::ModuleLookupInfo info)
overridevirtual
ModuleHandle addModule ( const std::string &  name)
void clear ( )
virtual
boost::signals2::connection connectConnectionAdded ( const ConnectionAddedSignalType::slot_type &  subscriber)
boost::signals2::connection connectConnectionRemoved ( const ConnectionRemovedSignalType::slot_type &  subscriber)
boost::signals2::connection connectInvalidConnection ( const InvalidConnectionSignalType::slot_type &  subscriber)
boost::signals2::connection connectModuleAdded ( const ModuleAddedSignalType::slot_type &  subscriber)
boost::signals2::connection connectModuleRemoved ( const ModuleRemovedSignalType::slot_type &  subscriber)
boost::signals2::connection connectNetworkExecutionFinished ( const ExecuteAllFinishesSignalType::slot_type &  subscriber)
boost::signals2::connection connectNetworkExecutionStarts ( const ExecuteAllStartsSignalType::slot_type &  subscriber)
void connectNewModule ( const SCIRun::Dataflow::Networks::ModuleHandle moduleToConnectTo,
const SCIRun::Dataflow::Networks::PortDescriptionInterface portToConnect,
const std::string &  newModuleName 
)
Todo:
: see above
Todo:
duplication
boost::signals2::connection connectPortAdded ( const PortAddedSignalType::slot_type &  subscriber)
boost::signals2::connection connectPortRemoved ( const PortRemovedSignalType::slot_type &  subscriber)
boost::shared_ptr< DisableDynamicPortSwitch > createDynamicPortSwitch ( )
void disableSignals ( )
overridevirtual
ModuleHandle duplicateModule ( const Networks::ModuleHandle module)
Todo:
: probably a pretty poor way to deal with what I think is a race condition with signaling the GUI to place the module widget.
Todo:
: this will work if we define PortId.id# to be 0..n, unique for each module. But what about gaps?
void enableSignals ( )
overridevirtual
void executeAll ( const Networks::ExecutableLookup lookup)
const ModuleDescriptionMap & getAllAvailableModuleDescriptions ( ) const
NetworkHandle getNetwork ( ) const
overridevirtual
NetworkGlobalSettings & getSettings ( )
void loadNetwork ( const Networks::NetworkFileHandle xml)
virtual
void removeConnection ( const Networks::ConnectionId id)
void removeModule ( const Networks::ModuleId id)
NetworkFileHandle saveNetwork ( ) const
virtual
void setExecutorType ( int  type)
void setModulePositionEditor ( Networks::ModulePositionEditor editor)
inline
Todo:
: eek, getting bloated here. Figure out a better way to wire this one in.
void setNetwork ( Networks::NetworkHandle  nh)
overridevirtual

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