Overview     Modules     Class Hierarchy     Classes     Members  

Tulip view interface class. More...

#include <View.h>

Inheritance diagram for tlp::View:

Public Slots

virtual void setGraph (Graph *graph)=0
 Sets the Graph on this View.
virtual void draw ()=0
 Draws the View from scratch, i.e. reading the Graph, and drawind all the nodes and edges depending on their position, colors, etc... This drawing is then stored to be re-used when a refresh is all you need. Then, the interactors are drawn. This is pretty resource-hungry, if you just need to redraw the interactors or only the selection changed, use refresh.
virtual void refresh ()=0
 Refreshes the view, using the backed up drawing that draw stored. Then the interactors are drawn. This is usefull when the selection changed, but nothing else in the Graph changed (color, size, layout, ...), or when an interactor changed and needs re-drawing. This is way less resource-hungry than draw().
virtual void init ()=0
 Centers and draws the view. Calls centerview() [where applicable], then draw(). This might be removed in a future version (3.6 or later) as all this does is calling centerview on the GlMainWidget if this is a GlMainView. Adding a centerView function in View would allow to remove this function.

Signals

void elementSelected (unsigned int eltId, bool isNode)
 This signal is emitted when a specific element is selected in the view.
void requestChangeGraph (tlp::View *view, tlp::Graph *graph)
 This signal is emitted when the view wants to change its graph.

Public Member Functions

virtual ~View ()
virtual QWidget * construct (QWidget *parent)=0
 Construct GUI of the view.
virtual QWidget * getWidget ()=0
 A getter on the main widget of the view.
virtual void setData (Graph *graph, DataSet dataSet)=0
 Set the View's Graph and DataSet.
virtual void getData (Graph **graph, DataSet *dataSet)=0
 Gets the Graph and DataSet of the view.
virtual Graph * getGraph ()=0
 A getter on this view's Graph.
virtual std::list< std::pair
< QWidget *, std::string > > 
getConfigurationWidget ()
 Returns the configuration widgets this view should use. These widgets will be displayed in the left dock of the MainController, in the View Editor tab. Each widget will be in a tab whose text is the string of the pair.
virtual void setInteractors (const std::list< Interactor * > &interactors)=0
 Set the interactors on this view. The Interactors are created, but now the View has ownership on them (responsibility for their destruction).
virtual std::list< Interactor * > getInteractors ()=0
 Returns the interactors this view uses.
virtual void setActiveInteractor (Interactor *interactor)=0
 Sets the active interactor on this view. The interactor must be in the interactors list of this View.
virtual InteractorgetActiveInteractor ()=0
 Gets the active interactor of this view.
virtual void _DEPRECATED createPicture (const std::string &pictureName, int width=0, int height=0)
 Take a snapshot of the view and put it in a picture.
virtual bool _DEPRECATED createPicture (const std::string &pictureName, int width, int height, bool center, int zoom=1, int xOffset=0, int yOffset=0)
 Take a snapshot of the view, and save it to a picture on disk.
virtual bool savePicture (const std::string &pictureName, int width, int height, bool center, int zoom=1, int xOffset=0, int yOffset=0)
 Take a snapshot of the view, and save it to a picture on disk.
virtual QImage createPicture (int width, int height, bool center, int zoom=1, int xOffset=0, int yOffset=0)
 Take a snapshot of the view, and return a QImage.
virtual std::string getRealViewName () const
 Return the real view name (if "" the real name is the name given by the plugin).
virtual void undoIsDone ()
 This function is called when an undo is performed by the controller.

Detailed Description

Tulip view interface class.

The View class provides the skeleton of a view. You normally never have to construct a View object yourself, the Controller takes care of this (and manages the interactors, etc...).

Constructor & Destructor Documentation

virtual tlp::View::~View ( )
inlinevirtual

empty destructor : for inheritance

Member Function Documentation

virtual QWidget* tlp::View::construct ( QWidget *  parent)
pure virtual

Construct GUI of the view.

Parameters
parentThe parent widget of this view.
Returns
QWidget* the main widget of the view (in MainController this widget will be added to the workspace).

Implemented in tlp::GlMainView, tlp::AbstractView, tlp::BaseGraphicsViewComponent, and tlp::NodeLinkDiagramComponent.

virtual void _DEPRECATED tlp::View::createPicture ( const std::string &  pictureName,
int  width = 0,
int  height = 0 
)
virtual

Take a snapshot of the view and put it in a picture.

Deprecated:
In Tulip 4.x.y this function will be replaced by void createPicture(const string &pictureName,int width, int height, bool center, int zoom, int xOffset, int yOffset)
Parameters
pictureNamefilename to use for the picture, with extension (extension is used to infer image type).
widthwidth of the picture Defaults to 0.
heightheight of the picture Defaults to 0.
Returns
void

Reimplemented in tlp::GlMainView, and tlp::BaseGraphicsViewComponent.

virtual bool _DEPRECATED tlp::View::createPicture ( const std::string &  pictureName,
int  width,
int  height,
bool  center,
int  zoom = 1,
int  xOffset = 0,
int  yOffset = 0 
)
virtual

Take a snapshot of the view, and save it to a picture on disk.

Deprecated:
In Tulip 4.x.y this function will be replaced by bool savePicture(const string &pictureName,int width, int height, bool center, int zoom, int xOffset, int yOffset).
Parameters
pictureName: filename to use for the picture, with extension (extension is used to infer image type).
width: width of the picture
height: height of the picture
center: whether we should center the view before creating the picture, or use the current zoom and pan.
zoom: creates a picture of a sub part of the view. With zoom=1 creates only one picture with entire view; with zoom=N : the view is cut into 2^(N-1) part in width and height. Defaults to 1.
xOffset: which part of the view to render if zoom!=1. xOffset must be 0 <= xOffset < 2^(zoom-1). Defaults to 0.
yOffset: which part of the view to render if zoom!=1. yOffset must be 0 <= yOffset < 2^(zoom-1). Defaults to 0.
Returns
bool : Whether the picture can be created or not.

Reimplemented in tlp::GlMainView.

virtual QImage tlp::View::createPicture ( int  width,
int  height,
bool  center,
int  zoom = 1,
int  xOffset = 0,
int  yOffset = 0 
)
virtual

Take a snapshot of the view, and return a QImage.

Parameters
width: width of the picture
height: height of the picture
center: whether we should center the view before creating the picture, or use the current zoom and pan.
zoom: creates a picture of a sub part of the view. With zoom=1 creates only one picture with entire view; with zoom=N : the view is cut into 2^(N-1) part in width and height. Defaults to 1.
xOffset: which part of the view to render if zoom!=1. xOffset must be 0 <= xOffset < 2^(zoom-1). Defaults to 0.
yOffset: which part of the view to render if zoom!=1. yOffset must be 0 <= yOffset < 2^(zoom-1). Defaults to 0.
Returns
Qimage : snapshot image.

Reimplemented in tlp::GlMainView.

virtual void tlp::View::draw ( )
pure virtualslot

Draws the View from scratch, i.e. reading the Graph, and drawind all the nodes and edges depending on their position, colors, etc... This drawing is then stored to be re-used when a refresh is all you need. Then, the interactors are drawn. This is pretty resource-hungry, if you just need to redraw the interactors or only the selection changed, use refresh.

Returns
void
void tlp::View::elementSelected ( unsigned int  eltId,
bool  isNode 
)
signal

This signal is emitted when a specific element is selected in the view.

Parameters
eltIdThe identifier of the selected element.
isNodeWhether or not the selected element is a node. It can only be a node or an edge.
Returns
void
virtual Interactor* tlp::View::getActiveInteractor ( )
pure virtual

Gets the active interactor of this view.

Returns
:Interactor* The active Interactor of this View.

Implemented in tlp::AbstractView.

virtual std::list<std::pair<QWidget *,std::string> > tlp::View::getConfigurationWidget ( )
inlinevirtual

Returns the configuration widgets this view should use. These widgets will be displayed in the left dock of the MainController, in the View Editor tab. Each widget will be in a tab whose text is the string of the pair.

Returns
:list< std::pair<QWidget* , std::string > > Each element of this list is a pair of configuration widget and widget title.

Reimplemented in tlp::NodeLinkDiagramComponent.

virtual void tlp::View::getData ( Graph **  graph,
DataSet *  dataSet 
)
pure virtual

Gets the Graph and DataSet of the view.

Parameters
graphA pointer whose value will be modified to point to the Graph* of the view.
dataSetA pointer whose value will be modified to point to the DataSet of the view.
Returns
void

Implemented in tlp::BaseGraphicsViewComponent, and tlp::NodeLinkDiagramComponent.

virtual Graph* tlp::View::getGraph ( )
pure virtual

A getter on this view's Graph.

Returns
:Graph* The Graph this View displays.

Implemented in tlp::GlMainView, and tlp::BaseGraphicsViewComponent.

virtual std::list<Interactor *> tlp::View::getInteractors ( )
pure virtual

Returns the interactors this view uses.

Returns
:list< tlp::Interactor* > the interactors of this View

Implemented in tlp::AbstractView, and tlp::BaseGraphicsViewComponent.

virtual std::string tlp::View::getRealViewName ( ) const
inlinevirtual

Return the real view name (if "" the real name is the name given by the plugin).

Returns
:string the View's real name.

Reimplemented in tlp::BaseGraphicsViewComponent.

virtual QWidget* tlp::View::getWidget ( )
pure virtual

A getter on the main widget of the view.

Returns
QWidget* the main widget of this view.

Implemented in tlp::AbstractView.

virtual void tlp::View::init ( )
pure virtualslot

Centers and draws the view. Calls centerview() [where applicable], then draw(). This might be removed in a future version (3.6 or later) as all this does is calling centerview on the GlMainWidget if this is a GlMainView. Adding a centerView function in View would allow to remove this function.

Returns
void
virtual void tlp::View::refresh ( )
pure virtualslot

Refreshes the view, using the backed up drawing that draw stored. Then the interactors are drawn. This is usefull when the selection changed, but nothing else in the Graph changed (color, size, layout, ...), or when an interactor changed and needs re-drawing. This is way less resource-hungry than draw().

Returns
void
void tlp::View::requestChangeGraph ( tlp::View view,
tlp::Graph *  graph 
)
signal

This signal is emitted when the view wants to change its graph.

Parameters
view...
graph...
Returns
void
virtual bool tlp::View::savePicture ( const std::string &  pictureName,
int  width,
int  height,
bool  center,
int  zoom = 1,
int  xOffset = 0,
int  yOffset = 0 
)
virtual

Take a snapshot of the view, and save it to a picture on disk.

Parameters
pictureName: filename to use for the picture, with extension (extension is used to infer image type).
width: width of the picture
height: height of the picture
center: whether we should center the view before creating the picture, or use the current zoom and pan.
zoom: creates a picture of a sub part of the view. With zoom=1 creates only one picture with entire view; with zoom=N : the view is cut into 2^(N-1) part in width and height. Defaults to 1.
xOffset: which part of the view to render if zoom!=1. xOffset must be 0 <= xOffset < 2^(zoom-1). Defaults to 0.
yOffset: which part of the view to render if zoom!=1. yOffset must be 0 <= yOffset < 2^(zoom-1). Defaults to 0.
Returns
bool : Whether the picture can be created or not.

Reimplemented in tlp::AbstractView, and tlp::BaseGraphicsViewComponent.

virtual void tlp::View::setActiveInteractor ( Interactor interactor)
pure virtual

Sets the active interactor on this view. The interactor must be in the interactors list of this View.

Parameters
interactorThe Interactor to render active.
Returns
void

Implemented in tlp::AbstractView, and tlp::BaseGraphicsViewComponent.

virtual void tlp::View::setData ( Graph *  graph,
DataSet  dataSet 
)
pure virtual

Set the View's Graph and DataSet.

Parameters
graphThe view's new Graph.
dataSetThe view's new DataSet.
Returns
void

Implemented in tlp::BaseGraphicsViewComponent, and tlp::NodeLinkDiagramComponent.

virtual void tlp::View::setGraph ( Graph *  graph)
pure virtualslot

Sets the Graph on this View.

Parameters
graphthe new Graph to be displayed by this View.
Returns
void
virtual void tlp::View::setInteractors ( const std::list< Interactor * > &  interactors)
pure virtual

Set the interactors on this view. The Interactors are created, but now the View has ownership on them (responsibility for their destruction).

Parameters
interactorsThe interactors that can be used with this View.
Returns
void

Implemented in tlp::AbstractView, and tlp::BaseGraphicsViewComponent.

virtual void tlp::View::undoIsDone ( )
inlinevirtual

This function is called when an undo is performed by the controller.

Returns
void


Tulip Software by LaBRI Visualization Team    2001 - 2012