VPTissue Reference Manual
SimShell::Viewer::IViewerNode Class Referenceabstract

Interface for a node in a hierarchical tree of viewers. More...

#include <IViewerNode.h>

Inheritance diagram for SimShell::Viewer::IViewerNode:
Inheritance graph
Collaboration diagram for SimShell::Viewer::IViewerNode:
Collaboration graph

Public Types

typedef std::map< std::string, std::shared_ptr< IViewerNode > > ChildrenMap
 
- Public Types inherited from SimPT_Sim::Util::Subject< Event::ViewerEvent, std::weak_ptr< const void > >
typedef std::function< void(const EventType &)> CallbackType
 
typedef Event::ViewerEvent EventType
 
typedef const std::weak_ptr< const void > * KeyType
 

Public Member Functions

virtual ~IViewerNode ()
 Virtual destructor.
 
virtual ChildrenMap::const_iterator begin () const =0
 Get iterator pointing to first child.
 
virtual void Disable ()=0
 Disable node.
 
virtual void Enable ()=0
 Enable node.
 
virtual ChildrenMap::const_iterator end () const =0
 Get iterator pointing to one position after last child.
 
virtual bool IsEnabled () const =0
 Test whether node is enabled. More...
 
virtual bool IsParentEnabled () const =0
 Test whether parent node is enabled.
 
- Public Member Functions inherited from SimPT_Sim::Util::Subject< Event::ViewerEvent, std::weak_ptr< const void > >
void Notify (const EventType &)
 
void Register (const U *, CallbackType)
 
void Unregister (const U *)
 
void UnregisterAll ()
 

Detailed Description

Interface for a node in a hierarchical tree of viewers.

A viewer node can be enabled and disabled at runtime.

Definition at line 31 of file IViewerNode.h.

Member Function Documentation

virtual bool SimShell::Viewer::IViewerNode::IsEnabled ( ) const
pure virtual

Test whether node is enabled.

Note that an enabled node still won't do anything if its parent is disabled.

See also
IViewerNodeWithParent::IsParentEnabled

Implemented in SimShell::Viewer::SubjectViewerNodeWrapper< FakeSubjectType >, SimShell::Viewer::ViewerNode< ViewerType, SubjectType >, and SimShell::Viewer::SubjectNode< SubjectType >.


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