Tulip  5.1.0
Large graphs analysis and drawing
tlp::GlMainView Class Reference

#include <GlMainView.h>

+ Inheritance diagram for tlp::GlMainView:
+ Collaboration diagram for tlp::GlMainView:

Public Types

enum  OverviewPosition { OVERVIEW_TOP_LEFT, OVERVIEW_TOP_RIGHT, OVERVIEW_BOTTOM_LEFT, OVERVIEW_BOTTOM_RIGHT }
 

Public Slots

void applySettings ()
 
virtual void centerView (bool graphChanged=false)
 
virtual void draw ()
 
virtual void drawOverview (bool generatePixmap=true)
 
void openSnapshotDialog ()
 
void redraw ()
 
virtual void refresh ()
 
void setAdvancedAntiAliasing (bool)
 
void setAntiAliasing (bool)
 
void setOverviewVisible (bool)
 
void setViewOrtho (bool)
 
void undoCallback ()
 
- Public Slots inherited from tlp::ViewWidget
virtual void draw ()
 
virtual void setupUi ()
 
- Public Slots inherited from tlp::View
void addRedrawTrigger (tlp::Observable *)
 
virtual void applySettings ()
 
virtual void centerView (bool graphChanged=false)
 
virtual bool checkOnClose ()
 
void clearRedrawTriggers ()
 
virtual void draw ()=0
 
void emitDrawNeededSignal ()
 
virtual void refresh ()
 
void removeRedrawTrigger (tlp::Observable *)
 
void setCurrentInteractor (tlp::Interactor *currentInteractor)
 
void setGraph (tlp::Graph *graph)
 
virtual void setInteractors (const QList< tlp::Interactor * > &)
 
virtual void setupUi ()=0
 
void showContextMenu (const QPoint &point, const QPointF &scenePoint)
 
virtual void treatEvent (const Event &)
 
virtual void undoCallback ()
 

Public Member Functions

virtual QList< QWidget * > configurationWidgets () const
 
tlp::GlMainWidgetgetGlMainWidget () const
 
OverviewPosition overviewPosition () const
 
bool overviewVisible () const
 
void setOverviewPosition (const OverviewPosition &position)
 
void setState (const tlp::DataSet &)
 
void setUpdateOverview (bool updateOverview)
 
QPixmap snapshot (const QSize &outputSize=QSize()) const
 
tlp::DataSet state () const
 
bool updateOverview () const
 
- Public Member Functions inherited from tlp::ViewWidget
virtual QGraphicsView * graphicsView () const
 
virtual void resetGraphicsScene ()
 
- Public Member Functions inherited from tlp::View
 View ()
 
virtual ~View ()
 
virtual std::string category () const
 
virtual QString configurationWidgetsStyleSheet () const
 
tlp::InteractorcurrentInteractor () const
 
tlp::Graphgraph () const
 
std::string icon () const
 
QList< tlp::Interactor * > interactors () const
 
void treatEvents (const std::vector< Event > &events)
 
QSet< tlp::Observable * > triggers () const
 
- Public Member Functions inherited from tlp::Plugin
virtual std::string author () const =0
 
virtual std::string date () const =0
 
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
 
- Public Member Functions inherited from tlp::WithParameter
template<typename T >
void addInOutParameter (const std::string &name, const std::string &help=std::string(), const std::string &defaultValue=std::string(), bool isMandatory=true, const std::string &valuesDescription=std::string())
 
template<typename T >
void addInParameter (const std::string &name, const std::string &help, const std::string &defaultValue, bool isMandatory=true, const std::string &valuesDescription=std::string())
 
template<typename T >
void addOutParameter (const std::string &name, const std::string &help=std::string(), const std::string &defaultValue=std::string(), bool isMandatory=true, const std::string &valuesDescription=std::string())
 
template<typename T >
void addParameter (const std::string &name, const std::string &help=std::string(), const std::string &defaultValue=std::string(), bool isMandatory=true)
 
const tlp::ParameterDescriptionListgetParameters () const
 
bool inputRequired () const
 
- Public Member Functions inherited from tlp::WithDependency
void addDependency (const char *name, const char *release)
 
const std::list< Dependency > & dependencies () const
 
- Public Member Functions inherited from tlp::Observable
void addListener (Observable *const listener) const
 
void addObserver (Observable *const observer) const
 
unsigned int countListeners () const
 
unsigned int countObservers () const
 
unsigned int getReceived () const
 
unsigned int getSent () const
 
void removeListener (Observable *const listener) const
 
void removeObserver (Observable *const observerver) const
 

Protected Slots

void delayedCenterView ()
 
void fillContextMenu (QMenu *menu, const QPointF &)
 
virtual void glMainViewDrawn (bool graphChanged)
 
virtual void sceneRectChanged (const QRectF &)
 
void setQuickAccessBarVisible (bool)
 
- Protected Slots inherited from tlp::ViewWidget
virtual void currentInteractorChanged (tlp::Interactor *)
 
virtual void graphDeleted (Graph *parentGraph)
 
- Protected Slots inherited from tlp::View
virtual void currentInteractorChanged (tlp::Interactor *)
 
virtual void fillContextMenu (QMenu *, const QPointF &)
 
virtual void graphChanged (tlp::Graph *)=0
 
virtual void graphDeleted (tlp::Graph *parentGraph)=0
 
virtual void interactorsInstalled (const QList< tlp::Interactor * > &interactors)
 

Protected Member Functions

void assignNewGlMainWidget (GlMainWidget *glMainWidget, bool deleteOldGlMainWidget=true)
 
bool eventFilter (QObject *obj, QEvent *event)
 
virtual QuickAccessBar * getQuickAccessBarImpl ()
 
tlp::GlOverviewGraphicsItem * overviewItem () const
 
bool quickAccessBarVisible () const
 
virtual void setupWidget ()
 
void updateShowOverviewButton ()
 
void updateShowQuickAccessBarButton ()
 
- Protected Member Functions inherited from tlp::ViewWidget
void addToScene (QGraphicsItem *item)
 
virtual QGraphicsItem * centralItem () const
 
void removeFromScene (QGraphicsItem *item)
 
void setCentralWidget (QWidget *, bool deleteOldCentralWidget=true)
 
QPixmap snapshot (const QSize &outputSize=QSize()) const
 
- Protected Member Functions inherited from tlp::Observable
 Observable (const Observable &)
 
tlp::Iterator< tlp::Observable * > * getObservables () const
 
bool hasOnlookers () const
 
void notifyObservers ()
 
void observableDeleted ()
 
Observableoperator= (const Observable &)
 
void sendEvent (const Event &message)
 
virtual void treatEvent (const Event &message)
 

Protected Attributes

OverviewPosition _overviewPosition
 
tlp::QuickAccessBar * _quickAccessBar
 
QGraphicsProxyWidget * _quickAccessBarItem
 
tlp::SceneConfigWidget * _sceneConfigurationWidget
 
tlp::SceneLayersConfigWidget * _sceneLayersConfigurationWidget
 
bool _updateOverview
 
bool needQuickAccessBar
 
- Protected Attributes inherited from tlp::WithDependency
std::list< Dependency_dependencies
 

Additional Inherited Members

- Signals inherited from tlp::View
void drawNeeded ()
 
void graphSet (tlp::Graph *)
 
void interactorsChanged ()
 
- Static Public Member Functions inherited from tlp::Observable
static tlp::node getNode (const tlp::Observable *obs)
 
static ObservablegetObject (tlp::node n)
 
static const tlp::VectorGraph & getObservableGraph ()
 
static unsigned int getScheduled (tlp::node n)
 
static void holdObservers ()
 
static bool isAlive (tlp::node n)
 
static unsigned int observersHoldCounter ()
 
static void unholdObservers ()
 

Detailed Description

An abstract view that displays a GlMainWidget as its central widget.

The GlMainView subclasses ViewWidget and always uses a GlMainWidget as the central widget of the panel. It also adds the following features:

  • An overview of the scene that can be toggled on or off.
  • Some configuration widgets that modify the rendering parameters.
  • A quick access bar widget that allows the user to quickly modify some of the most used rendering parameters and graph properties (nodes color, edges display, etc)
  • The possibility to make snapshots of the current scene

Subclassing GlMainView means you will only want to display graphs in a single GlMainWidget. Switching the central widget can only be achieved from the ViewWidget class.

Warning
It is strongly unadvised to re-implement methods already implemented into tlp::View or tlp::ViewWidget. If you have to add custom behavior to those method, make sure to call the upper-class methods first:
void MyView::setupWidget() { // Where MyView is a subclass of tlp::GlMainView
GlMainView::setupWidget(); // call this first
// insert custom behavior here
}
See also
tlp::ViewWidget
Examples:
interactor_plugin/interactor_plugin.cpp.

Definition at line 62 of file GlMainView.h.

Member Function Documentation

void tlp::GlMainView::applySettings ( )
slot

Force the settings set in the configuration widgets to be re-applied.

virtual void tlp::GlMainView::centerView ( bool  graphChanged = false)
virtualslot

Centers the scene's camera.

virtual QList<QWidget*> tlp::GlMainView::configurationWidgets ( ) const
virtual
Returns
a list of widgets that can be used to set up the view. Since several widgets can be retrived, user will be able to select them from a combo box where each widget will be identified by its windowsTitle.
See also
View::applySettings()
Warning
This method must not instantiate configuration widgets on the fly.

Reimplemented from tlp::View.

virtual void tlp::GlMainView::draw ( )
virtualslot
virtual void tlp::GlMainView::drawOverview ( bool  generatePixmap = true)
virtualslot

Force the overview to be redrawn. Since GlMainView already detects graph's modifications, this method should not be called manually to avoid extra rendering.

void tlp::GlMainView::openSnapshotDialog ( )
slot

Display a dialog that takes a snapshot of the current scene.

void tlp::GlMainView::redraw ( )
slot
virtual void tlp::GlMainView::refresh ( )
virtualslot
void tlp::GlMainView::setOverviewVisible ( bool  )
slot

Toggles the overview on or off.

void tlp::GlMainView::setState ( const tlp::DataSet )
virtual

Restores the state of the view. DataSet passed down to this method can come from a previous backup or be generated by the overleying system. It's up to the view to use this data or not.

Implements tlp::View.

virtual void tlp::GlMainView::setupWidget ( )
protectedvirtual

Sets up the central widget. This is similar to View::setupUi in the sense that the purpose of setupWidget is to construct the GUI element.

Warning
This method MUST call the setCentralWidget to provide the ViewWidget with a valid widget.

Implements tlp::ViewWidget.

void tlp::GlMainView::setViewOrtho ( bool  )
slot

Toggles the orthogonal projection on or off, then draws.

QPixmap tlp::GlMainView::snapshot ( const QSize &  outputSize = QSize()) const
virtual

Takes a snapshot of the view's screen and saves it into the given pixmap. The snapshot is scaled to outputSize. If a null size is given, the snapshot is to be on a 1:1 ratio.

Returns
A non-null pixmap of the snapshot was correctly taken.

Implements tlp::View.

tlp::DataSet tlp::GlMainView::state ( ) const
virtual

Backup the state of the view. This method is used to restore the View's parameters when it's re-opened.

Implements tlp::View.