Tulip
6.0.0
Large graphs analysis and drawing
|
#include <Perspective.h>
Public Types | |
enum | ProgressOption { NoProgressOption = 0x0 , IsPreviewable = 0x1 , IsCancellable = 0x2 , IsStoppable = 0x4 } |
Public Slots | |
virtual bool | terminated () |
Signals | |
void | resetWindowTitle () |
Public Member Functions | |
Perspective (const tlp::PluginContext *c) | |
std::string | category () const override |
virtual void | centerPanelsForGraph (tlp::Graph *) |
virtual Graph * | currentGraph () |
std::string | icon () const override |
bool | isReservedPropertyName (QString name) |
QMainWindow * | mainWindow () const |
bool | needRestart () |
virtual PluginProgress * | progress (ProgressOptions options=ProgressOptions(IsPreviewable|IsStoppable|IsCancellable)) |
virtual void | redrawPanels (bool center=false)=0 |
void | registerReservedProperty (QString) |
void | resetTitle () |
virtual void | start (tlp::PluginProgress *progress)=0 |
virtual void | usage (std::string &usage_str) const |
Public Member Functions inherited from tlp::Plugin | |
virtual std::string | author () const =0 |
virtual std::string | date () const =0 |
void | declareDeprecatedName (const std::string &oldName) |
std::string | deprecatedName () |
virtual std::string | group () const =0 |
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 |
Static Public Member Functions | |
static tlp::Perspective * | instance () |
static void | redirectStatusTipOfMenu (QMenu *menu) |
static void | setInstance (tlp::Perspective *) |
static void | setStyleSheet (QWidget *w) |
static void | showLogMessage (QtMsgType type, const QMessageLogContext &context, const QString &msg) |
static void | showLogMessages () |
static void | showStatusMessage (const QString &msg) |
static void | showStatusMessage (const std::string &msg) |
static QString | styleSheet () |
template<typename T > | |
static T * | typedInstance () |
Public Attributes | |
bool | _restartNeeded |
Protected Slots | |
virtual void | clearStatusMessage () |
void | createPerspective (const QString &name) |
virtual void | displayLogMessages () |
virtual void | displayStatusMessage (const QString &s) |
virtual void | logMessage (QtMsgType, const QMessageLogContext &, const QString &) |
virtual void | openProjectFile (const QString &path) |
void | showFullScreen (bool f) |
void | showStatusTipOf (QAction *action) |
Protected Attributes | |
QString | _externalFile |
QMainWindow * | _mainWindow |
QVariantMap | _parameters |
TulipProject * | _project |
Protected Attributes inherited from tlp::Plugin | |
std::string | oldName |
A Perspective is a Tulip plugin that completely re-defines the user interface.
A Perspective aims at using the multiple features available in Tulip to create a complete, coherent workflow dedicated to a particular use-case. The main perspective is called "Tulip". This perspective unveils all the Tulip features and aims at being a protyping and researching platform.
It is the Perspective's responsibility to offer the possibility to display graphs, run plugins, etc. A lot of helper classes can be found into the tulip-gui API like pre-made widgets, Qt models, etc.
Perspective's data is stored into a TulipProject. A TulipProject is an archive capable of containing heterogeneous data (like multiple graphs, textures, extra files, etc). When a TulipProject gets saved by a perspective, it is linked to it in its meta-information. Creating a Perspective primarily into implementing the start() method that builds the GUI. This method will be called by the overleying system when a new perspective is launched. The rest of the logic implementation is left to the developer.
Definition at line 77 of file Perspective.h.
tlp::Perspective::Perspective | ( | const tlp::PluginContext * | c | ) |
Constructs a perspective object.
|
inlineoverridevirtual |
A string identifier for a plugin used for categorization purposes.
Implements tlp::Plugin.
Definition at line 137 of file Perspective.h.
|
virtual |
Tells the perspective that the visualizations for a given graph should be centered.
|
protectedvirtualslot |
a virtual function to clear the last status message
|
protectedslot |
Open a new Perspective without a project.
name | The name of the Perspective to create. |
|
inlinevirtual |
Definition at line 204 of file Perspective.h.
|
inlineprotectedvirtualslot |
a virtual function to display the whole logs
Definition at line 349 of file Perspective.h.
|
protectedvirtualslot |
a virtual function to display a status message
|
inlineoverridevirtual |
The icon (preferably a thumbnail) of the plugin.
Reimplemented from tlp::Plugin.
Definition at line 140 of file Perspective.h.
|
static |
Since a Perspective has its own process to work in, there can be only one perspective instance by process. In order to ease the development process, Perspective are available as a singleton in order for child widgets and plugins to be able to access to the features of a Perspective. This architecture was added for developers who want to create an application containing several plugins grouped into Perspective.
bool tlp::Perspective::isReservedPropertyName | ( | QString | name | ) |
Checks if the name corresponds to a reserved properties. Perspectives are allowed to reserve graph properties. A reserved graph properties is a core property that cannot be deleted by the user and cannot be renamed.
|
inlineprotectedvirtualslot |
a virtual function to log a message
Definition at line 354 of file Perspective.h.
QMainWindow* tlp::Perspective::mainWindow | ( | ) | const |
|
inline |
a function to indicate restart
Definition at line 246 of file Perspective.h.
|
protectedvirtualslot |
Open a new Tulip Project.
path | the absolute path of the project file. |
|
virtual |
Creates a progress handler and returns it. This method allows lower-level widgets to create top-level progress bars directly from the Perspective.
|
static |
a static function to enable the redirection of the statusTip or toolTip of menu actions
|
pure virtual |
Tells the perspective that the graph visualizations should be redrawn.
center | if true, visualization should also be centered (eg. the layout has been changed) |
void tlp::Perspective::registerReservedProperty | ( | QString | ) |
Sets a new property name as registered.
|
static |
Called at the beginning of the tulip exe to set the Perspective singleton.
|
static |
a static function to set the same style sheet as the instance main window style sheet
|
protectedslot |
Call this slot to switch to full screen or windowed mode.
f | is true, switch to full screen mode. If false, switch to windowed mode |
|
inlinestatic |
a static function to log a message see qInstallMessageHandler
Definition at line 274 of file Perspective.h.
|
inlinestatic |
a static function to display the log messages
Definition at line 282 of file Perspective.h.
|
inlinestatic |
a static function to ease the display of status messages
Definition at line 253 of file Perspective.h.
|
inlinestatic |
a static function to ease the display of status messages
Definition at line 260 of file Perspective.h.
|
protectedslot |
Show the statusTip (or the toolTip) of an action.
action | a QAction |
|
pure virtual |
Build the main window GUI and starts the workflow. When this method is called, it means that the Perspective is responsible of the application workflow until the application is closed by the user.
progress | A progress handler |
|
static |
a static function to get the instance main window style sheet
|
inlinevirtualslot |
Called when the user wants to close the application.
Definition at line 304 of file Perspective.h.
|
inlinestatic |
Definition at line 165 of file Perspective.h.
|
inlinevirtual |
usage Displays a usage message when called from the tulip executable
Definition at line 197 of file Perspective.h.
|
protected |
If the user provided a file to the tulip exe but this file is not recognized as a valid TulipProject, the full path of the file will be stored into the _externalFile member.
Definition at line 120 of file Perspective.h.
|
protected |
The main window on which the perspective should build the GUI.
It is not the Perspective's responsibility to destroy the main window when the application gets closed. Generally speaking, destroying the _mainWindow pointer could lead to undefined behavior.
Definition at line 112 of file Perspective.h.
|
protected |
Contains extra parameters that have not been parsed by the overleying system. Those are considered to be Perspective-specific and are forwarded into this variable.
Definition at line 126 of file Perspective.h.
|
protected |
The project associated to this perspective. This project can be empty or contain data depending on how the Perspective was launched: To launch a perspective, the tulip executable is called with the following arguments:
@list
Definition at line 103 of file Perspective.h.