Tulip  5.4.0
Large graphs analysis and drawing
tlp::Plugin Class Referenceabstract

#include <Plugin.h>

+ Inheritance diagram for tlp::Plugin:

Public Member Functions

virtual std::string author () const =0
 
virtual std::string category () const =0
 
virtual std::string date () const =0
 
void declareDeprecatedName (const std::string &oldName)
 
std::string deprecatedName ()
 
virtual std::string group () const =0
 
virtual std::string icon () const
 
virtual int id () const
 
virtual std::string info () const =0
 
virtual std::string major () const
 
virtual std::string minor () const
 
virtual std::string name () const =0
 
virtual std::string programmingLanguage () const
 
virtual std::string release () const =0
 
virtual std::string tulipMajor () const
 
virtual std::string tulipMinor () const
 
virtual std::string tulipRelease () const =0
 

Protected Attributes

std::string oldName
 

Detailed Description

Top-level interface for plug-ins.

This class holds meta-information about a plug-in (group/author/version...). It stands as a unique base-class for every plugin type. This interface is not intended to be directly sublassed. Plugin objects are mainly used internally into the plugin lister system.

This class also holds extra information about the Tulip system such as the library version the plugin was built against. Plugin creation is handled by factories generated by the PLUGIN macro and the default Plugin constructor should never be called as is.

See also
tlp::FactoryInterface for more advanced operation such as plugin creation and retrieving dependencies.
tlp::PluginContext and its subclasses for parameters handling.
tlp::Algorithm for plugins operating on the tlp::Graph structure.
tlp::TemplateAlgorithm and its subclasses for plugins operating on graph properties
tlp::View for panel plugins
tlp::Interactor for plugins responsible for user interactions.
tlp::Perspective for plugins handling the main GUI

Definition at line 85 of file Plugin.h.

Member Function Documentation

◆ author()

virtual std::string tlp::Plugin::author ( ) const
pure virtual

The name of the author of this plug-in.

Returns
the name of the author.

◆ category()

virtual std::string tlp::Plugin::category ( ) const
pure virtual

A string identifier for a plugin used for categorization purposes.

Returns
std::string the category of the plugin.

Implemented in tlp::StringAlgorithm, tlp::Perspective, tlp::SizeAlgorithm, tlp::View, tlp::LayoutAlgorithm, tlp::IntegerAlgorithm, tlp::Algorithm, tlp::DoubleAlgorithm, tlp::Interactor, tlp::ColorAlgorithm, tlp::BooleanAlgorithm, and tlp::PropertyAlgorithm.

◆ date()

virtual std::string tlp::Plugin::date ( ) const
pure virtual

The creation date of the plug-in. This date is in a free format, but most Tulip plug-ins use a DD/MM/YYYY.

Returns
the creation date.

◆ declareDeprecatedName()

void tlp::Plugin::declareDeprecatedName ( const std::string &  oldName)

Allow to declare the previous name of a plugin as deprecated in order to keep an ascending compatibility at running time.

◆ deprecatedName()

std::string tlp::Plugin::deprecatedName ( )
inline
Returns
the old name of the plugin if any; returns an empty string if not.

Definition at line 203 of file Plugin.h.

◆ group()

virtual std::string tlp::Plugin::group ( ) const
pure virtual

Returns the name of the group this plug-in belongs to. Groups and sub-groups are separated by two colons. e.g. trees::planar trees.

Returns
the group name of this plug-in.

◆ icon()

virtual std::string tlp::Plugin::icon ( ) const
virtual

The icon (preferably a thumbnail) of the plugin.

Returns
std::string the icon path

Reimplemented in tlp::Perspective, tlp::View, tlp::Interactor, and tlp::Algorithm.

◆ id()

virtual int tlp::Plugin::id ( ) const
virtual

Returns the ID of the glyph this factory builds. this member should be removed once there is a system in Tulip to handle glyphs.

Returns
int the id of the glyph.

◆ info()

virtual std::string tlp::Plugin::info ( ) const
pure virtual

Information about the plug-in, from the plug-in author. This information can contains anything, and the developer is completely free to put anything here. Most plug-ins by the Tulip team use an html format to generate help from these information.

Returns
string The information associated with this plug-in.

◆ major()

virtual std::string tlp::Plugin::major ( ) const
virtual

Only the major of the plug-in version. A version should be X.Y, X being the major.

Returns
The major part of the plug-in version.

◆ minor()

virtual std::string tlp::Plugin::minor ( ) const
virtual

Only the minor of the plug-in version. A version should be X.Y, Y being the major.

Returns
The minor part of the plug-in version.

◆ name()

virtual std::string tlp::Plugin::name ( ) const
pure virtual

Returns the name of the plug-in, as registered in the Tulip plug-in system. This name must be unique, and if multiple plug-ins have the same name, only the latest encountered will be considered.

Returns
string the name of the plug-in.

◆ programmingLanguage()

virtual std::string tlp::Plugin::programmingLanguage ( ) const
virtual
Returns
Return the a string indicating the programming language used to write the plugin (C++, Python).

◆ release()

virtual std::string tlp::Plugin::release ( ) const
pure virtual

The release version of the plug-in, including major and minor. The version should be X.Y, X being the major, and Y the minor.

Returns
string The release version.

◆ tulipMajor()

virtual std::string tlp::Plugin::tulipMajor ( ) const
virtual
Returns
The major Tulip version the plug-in was built with.

◆ tulipMinor()

virtual std::string tlp::Plugin::tulipMinor ( ) const
virtual
Returns
Return the minor Tulip version this plug-in was built with.

◆ tulipRelease()

virtual std::string tlp::Plugin::tulipRelease ( ) const
pure virtual

The version of Tulip this plug-in was built with. Tulip versions are X.Y.Z, X being the major, Y the minor, and Z the patch.

Returns
The Tulip version the plug-in was built with.