SBDApp Class Reference

This class is the base class for apps. More...

Constructors and destructors

 SBDApp ()
 Constructs an app.
 
virtual ~SBDApp ()
 Destructs the app.
 

User interface

SBGAppgetGUI () const
 Returns a pointer to the GUI of the app.
 
void setGUI (SBGApp *gui)
 Sets the pointer to the GUI of the app.
 
 SB_DECLARE_DATA (SBDApp)
 

Additional Inherited Members

- Public Member Functions inherited from SBCReferenceTarget
 SBCReferenceTarget ()
 
virtual ~SBCReferenceTarget ()
 
unsigned int getMemoryFootprint () const
 
void printReferencesToOwners () const
 
- Protected Member Functions inherited from SBCReferenceTarget
void removeAllReferenceOwners ()
 
 SBCReferenceTarget (SBCReferenceTargetData *dataPointer)
 
- Protected Attributes inherited from SBCReferenceTarget
SBCReferenceTargetData * dataPointer
 

Detailed Description

This class is the base class for all apps in SAMSON.

Apps are classes that may provide any type of functionality to SAMSON users. An app may be e.g. a connector to an external executable or web service, may wrap
previously developed code to integrate its functionality with SAMSON and other SAMSON Elements, or provide entirely new functionality based on the SAMSON Application Programming Interface. When SAMSON loads an app during startup, it includes it in the app menu and the app toolbar. When users open an app from the app menu or app toolbar, the Graphical User Interface (GUI) of the app appears, and the user may start using it.

The AutoDock Vina Extended app in SAMSON

An app is typically implemented by writing two classes:

  • one that derives from the SBDApp class, to implement the core functionality of the app (i.e. the functions that may be exposed to SAMSON and SAMSON Elements through the introspection mechanism)
  • one that derives from the SBGApp class, to implement the GUI of the App (i.e. the widgets used to visually interact with the app).

Please refer to the documentation about the element generator and the tutorials page for more information about writing new apps for SAMSON.

See also
SAMSON Extensions
Tutorials
SBGApp