BALL::Embeddable Class Reference
[Miscellaneous]

#include <BALL/CONCEPT/embeddable.h>

Inheritance diagram for BALL::Embeddable:
BALL::VIEW::DatasetController BALL::VIEW::MainControl BALL::VIEW::ModularWidget BALL::VIEW::ShortcutRegistry BALL::VIEW::DockResultController BALL::VIEW::RaytraceableGridController BALL::VIEW::RegularData3DController BALL::VIEW::TrajectoryController BALL::VIEW::VectorGridController BALL::Mainframe BALL::VIEW::AssignBondOrderConfigurationDialog BALL::VIEW::AssignBondOrderResultsDialog BALL::VIEW::DemoTutorialDialog BALL::VIEW::DisplayProperties BALL::VIEW::DockingController BALL::VIEW::DockWidget BALL::VIEW::DownloadPDBFile BALL::VIEW::EditOperationDialog BALL::VIEW::FDPBDialog BALL::VIEW::LabelDialog BALL::VIEW::ModifyRepresentationDialog BALL::VIEW::MolecularFileDialog BALL::VIEW::MolecularStructure BALL::VIEW::OpenBruker1DFile BALL::VIEW::OpenBruker2DFile BALL::VIEW::PluginDialog BALL::VIEW::PubChemDialog BALL::VIEW::RaytraceableContourSurfaceDialog BALL::VIEW::RegularData1DWidget BALL::VIEW::RegularData2DWidget BALL::VIEW::Scene BALL::VIEW::ServerWidget BALL::VIEW::ShortcutDialog BALL::VIEW::SnapshotVisualisationDialog BALL::VIEW::StereoSettingsDialog BALL::VIEW::TestFramework

List of all members.


Public Types

Type definitions
typedef std::vector< Embeddable * > EmbeddableVector

Public Member Functions

virtual void dump (std::ostream &s=std::cout, Size depth=0) const
Constructors and Destructors
 Embeddable (const String &identifier="<Embeddable>")
 Embeddable (const Embeddable &embeddable)
virtual ~Embeddable ()
Accessors
void setIdentifier (const String &identifier)
const StringgetIdentifier () const
void unregisterThis ()
virtual void registerThis ()

Static Protected Member Functions

static void registerInstance_ (const std::type_info &type, const Embeddable *instance)
static void unregisterInstance_ (const Embeddable *instance)
static Size countInstances_ (const std::type_info &type)
static EmbeddablegetInstance_ (const std::type_info &type, Position index)
static EmbeddablegetInstance_ (const std::type_info &type, const String &identifier)

Private Attributes

String identifier_

Static Private Attributes

static StringHashMap
< EmbeddableVector
instance_vectors_
static HashMap< Embeddable
*, string > 
instance_to_type_map_

Detailed Description

Python Embedding Base Class. This class defines a common interface for all classes that have to be accessible from an embedded Python interpreter. Each instance of a class derived from embeddable can be registered by calling registerThis() of the instance and is then accessible through the static methods of the class (e.g. getInstance).

See also:

PyInterpreter

MainControl

ModularWidget


Member Typedef Documentation


Constructor & Destructor Documentation

BALL::Embeddable::Embeddable ( const String identifier = "<Embeddable>"  ) 

Default constructor

BALL::Embeddable::Embeddable ( const Embeddable embeddable  ) 

Copy constructor

virtual BALL::Embeddable::~Embeddable (  )  [virtual]

Member Function Documentation

static Size BALL::Embeddable::countInstances_ ( const std::type_info &  type  )  [static, protected]

Return the number of instances of a certain type

virtual void BALL::Embeddable::dump ( std::ostream &  s = std::cout,
Size  depth = 0 
) const [virtual]

Internal value dump. Dump the current state to the output ostream s with dumping depth depth.

Parameters:
s output stream where to output the state
depth the dumping depth

Reimplemented in BALL::VIEW::MainControl, BALL::VIEW::ModularWidget, BALL::VIEW::ServerWidget, BALL::VIEW::PyWidget, and BALL::VIEW::Scene.

const String& BALL::Embeddable::getIdentifier (  )  const

Assign a new identifier

static Embeddable* BALL::Embeddable::getInstance_ ( const std::type_info &  type,
const String identifier 
) [static, protected]

Return an instance of a registered type by its identifier. If the identifier does not exist, a null pointer is returned

static Embeddable* BALL::Embeddable::getInstance_ ( const std::type_info &  type,
Position  index 
) [static, protected]

Return an instance of a registered type by its index. If the index is out of bounds or the position is invalid, a null pointer is returned

static void BALL::Embeddable::registerInstance_ ( const std::type_info &  type,
const Embeddable instance 
) [static, protected]
virtual void BALL::Embeddable::registerThis (  )  [virtual]

Register the instance. DO NOT IMPLEMENT THIS METHOD! It is automatically implemented correctly when putting the BALL_EMBEDDABLE macro in a class definition.

See also:
getInstanceVector

Referenced by main().

void BALL::Embeddable::setIdentifier ( const String identifier  ) 

Return the instance identifier

Referenced by main().

static void BALL::Embeddable::unregisterInstance_ ( const Embeddable instance  )  [static, protected]
void BALL::Embeddable::unregisterThis (  ) 

Unregister the instance.


Member Data Documentation

An identifier for the class

A hash map to retrieve the class ID for each instance.

The instance vectors