Overview     Modules     Class Hierarchy     Classes     Members  

Default controller of Tulip. More...

#include <MainController.h>

Inheritance diagram for tlp::MainController:
Collaboration diagram for tlp::MainController:

Public Slots

void editCut ()
void editCopy ()
void editPaste ()
void editFind ()
void editCreateGroup ()
void editCreateSubgraph ()
void editDelSelection ()
void editReverseSelection ()
void editSelectAll ()
void editDeselectAll ()

Public Member Functions

 MainController ()
virtual ~MainController ()
void attachMainWindow (MainWindowFacade facade)
void setData (Graph *graph=0, DataSet dataSet=DataSet())
void getData (Graph **graph, DataSet *dataSet)
void buildMenu ()
- Public Member Functions inherited from tlp::ControllerViewsManager
 ControllerViewsManager ()
virtual ~ControllerViewsManager ()
virtual Graph * getGraph ()
virtual Graph * getCurrentGraph ()
virtual void setCurrentGraph (Graph *graph)
virtual ViewgetCurrentView ()
virtual unsigned int getViewsNumber () const
virtual Graph * getGraphOfView (View *view)
virtual std::vector< View * > getViewsOfGraph (Graph *graph)
virtual void setGraphOfView (View *view, Graph *graph)
virtual void setDataOfView (tlp::View *view, tlp::Graph *graph, const tlp::DataSet &dataSet)
virtual ViewgetViewOfWidget (QWidget *widget)
virtual void setViewOfWidget (QWidget *widget, View *view)
virtual void getViews (std::vector< View * > &views)
virtual QWidget * getWidgetOfView (View *view)
virtual std::string getNameOfView (View *view) const
virtual void setNameOfView (View *view, const std::string &name)
virtual QWidget * getInteractorConfigurationWidgetOfView (View *view)
virtual void changeWindowTitle (Graph *graph)
 Change the title of views of graph : graph Through all opened views and change window title of view that visualize the graph Window title is : view name + visualized graph name.
virtual void closeAllViews ()
virtual void closeView (View *view)
virtual void closeViewsRelatedToGraph (Graph *graph)
void addView (View *view, Graph *graph, DataSet dataSet, bool forceWidgetSize, const QRect &rect, bool maximized, const std::string &viewName, QWidget *viewWidget)
virtual void installInteractors (View *view)
virtual void updateViewsOfGraph (Graph *graph)
virtual void updateViewsOfSubGraphs (Graph *graph)
virtual void changeGraphOfViews (Graph *oldGraph, Graph *newGraph)
virtual void saveViewsGraphsHierarchies ()
virtual void checkViewsGraphsHierarchy ()
- Public Member Functions inherited from tlp::Controller
virtual ~Controller ()
MainWindowFacadegetMainWindowFacade ()

Protected Types

typedef std::set
< tlp::Observable * >
::iterator 
ObserverIterator

Protected Slots

virtual bool changeGraph (Graph *graph)
void graphAboutToBeRemove (Graph *graph)
virtual bool windowActivated (QWidget *w)
virtual bool changeInteractor (QAction *action)
void showElementProperties (unsigned int eltId, bool isNode)
void showGraphEditor ()
void showViewEditor ()
void viewRequestChangeGraph (tlp::View *view, tlp::Graph *graph)
virtual void widgetWillBeClosed (QObject *object)
void filePrint ()
void isAcyclic ()
void isSimple ()
void isConnected ()
void isBiconnected ()
void isTriconnected ()
void isTree ()
void isFreeTree ()
void isPlanar ()
void isOuterPlanar ()
void makeAcyclic ()
void makeBiconnected ()
void makeSimple ()
void makeConnected ()
void makeDirected ()
void reverseSelectedEdgeDirection ()
void changeMetric ()
void changeString ()
void changeSizes ()
void changeColors ()
void changeInt ()
void changeSelection ()
void changeLayout ()
void applyAlgorithm ()
void updateUndoRedoInfos ()
void undo ()
void redo ()
void snapshot ()
- Protected Slots inherited from tlp::ControllerViewsManager
virtual void createView (QAction *action)
virtual bool windowActivated (QWidget *widget)
virtual bool changeInteractor ()
virtual bool changeInteractor (QAction *action)
virtual bool changeInteractor (QAction *action, QWidget **configurationWidget)
virtual bool changeGraph (Graph *graph)
virtual void widgetWillBeClosed (QObject *object)

Protected Member Functions

void initializeGraph (Graph *graph)
void loadGUI ()
ViewinitMainView (DataSet dataSet)
virtual ViewcreateView (const std::string &name, Graph *graph, DataSet dataSet, bool forceWidgetSize=true, const QRect &rect=QRect(0, 0, 0, 0), bool maximized=false)
virtual void drawViews (bool init=false)
void observableDestroyed (Observable *)
void update (ObserverIterator begin, ObserverIterator end)
void initObservers ()
void clearObservers ()
void addSubGraph (Graph *, Graph *)
void delSubGraph (Graph *, Graph *)
void addLocalProperty (Graph *, const std::string &)
void delLocalProperty (Graph *, const std::string &)
void afterSetAttribute (Graph *, const std::string &)
void updateCurrentGraphInfos ()
void afterChangeProperty ()
GraphState * constructGraphState ()
void applyMorphing (GraphState *graphState)

Protected Attributes

std::map< View *, int > lastConfigTabIndexOnView
unsigned int currentGraphNbNodes
unsigned int currentGraphNbEdges
Graph * graphToReload
bool propertiesListUpdated
bool blockUpdate
bool inAlgorithm
Morphing * morph
QDockWidget * tabWidgetDock
QDockWidget * configWidgetDock
QTabWidget * configWidgetTab
SGHierarchyWidgetclusterTreeWidget
PropertyDialogpropertiesWidget
ElementPropertiesWidgeteltProperties
QMenu * editMenu
QMenu * algorithmMenu
QMenu * viewMenu
QMenu * optionsMenu
QMenu * graphMenu
QAction * forceRatioAction
QAction * mapMetricAction
QAction * morphingAction
QAction * undoAction
QAction * redoAction
QAction * snapshotAction
QAction * printAction
QAction * editUndoAction
QAction * editRedoAction
QMenu * intMenu
QMenu * stringMenu
QMenu * sizesMenu
QMenu * colorsMenu
QMenu * layoutMenu
QMenu * metricMenu
QMenu * selectMenu
QMenu * generalMenu
- Protected Attributes inherited from tlp::ControllerViewsManager
ViewcurrentView
std::map< View *, QAction * > lastInteractorOnView
Graph * currentGraph
std::map< View *, std::string > viewNames
std::map< QWidget *, View * > viewWidget
std::map< View *, Graph * > viewGraph
std::map< View *, QWidget * > lastInteractorConfigurationWidgetOnView
std::map< View *, std::list
< unsigned int > > 
viewsGraphsHierarchy
- Protected Attributes inherited from tlp::Controller
MainWindowFacade mainWindowFacade

Additional Inherited Members

- Signals inherited from tlp::Controller
void willBeClosed ()
- Static Public Member Functions inherited from tlp::Controller
static void currentActiveController (Controller *controller)
static ControllergetCurrentController ()
- Static Protected Attributes inherited from tlp::Controller
static ControllercurrentController

Detailed Description

Default controller of Tulip.

This Controller create a GUI like the old Tulip On left : Property, and hierarchical view In view menu you have access to all view plugins

Member Typedef Documentation

typedef std::set< tlp::Observable * >::iterator tlp::MainController::ObserverIterator
protected

Constructor & Destructor Documentation

tlp::MainController::MainController ( )

Default constructor

virtual tlp::MainController::~MainController ( )
virtual

Default destructor

Member Function Documentation

void tlp::MainController::addLocalProperty ( Graph *  ,
const std::string &   
)
protected

Called when a local property is added

void tlp::MainController::addSubGraph ( Graph *  ,
Graph *   
)
protected

Called when a subgraph is added.

void tlp::MainController::afterChangeProperty ( )
protected

Activate undo/redo button, reload propertyWidget and redrawViews after we have change a property

void tlp::MainController::afterSetAttribute ( Graph *  ,
const std::string &   
)
protected

Called when an attribute is set on a graph

void tlp::MainController::applyAlgorithm ( )
protectedslot
void tlp::MainController::applyMorphing ( GraphState *  graphState)
protected

Do a morphing between current state and the given GraphState

void tlp::MainController::attachMainWindow ( MainWindowFacade  facade)
virtual

Attach the QMainWindow to the controller

Reimplemented from tlp::ControllerViewsManager.

void tlp::MainController::buildMenu ( )

Construct main menu

void tlp::MainController::changeColors ( )
protectedslot
virtual bool tlp::MainController::changeGraph ( Graph *  graph)
protectedvirtualslot

Change the graph and load it in left part of the GUI

void tlp::MainController::changeInt ( )
protectedslot
virtual bool tlp::MainController::changeInteractor ( QAction *  action)
protectedvirtualslot

Load the interactor (referenced by the given QAction) in current View

void tlp::MainController::changeLayout ( )
protectedslot
void tlp::MainController::changeMetric ( )
protectedslot
void tlp::MainController::changeSelection ( )
protectedslot
void tlp::MainController::changeSizes ( )
protectedslot
void tlp::MainController::changeString ( )
protectedslot
void tlp::MainController::clearObservers ( )
protected

Clear all observers

GraphState* tlp::MainController::constructGraphState ( )
protected

Store current view in a GraphState to use it with applyMorphing function

virtual View* tlp::MainController::createView ( const std::string &  name,
Graph *  graph,
DataSet  dataSet,
bool  forceWidgetSize = true,
const QRect &  rect = QRect(0, 0, 0, 0),
bool  maximized = false 
)
protectedvirtual

Create a view with name : name

Reimplemented from tlp::ControllerViewsManager.

void tlp::MainController::delLocalProperty ( Graph *  ,
const std::string &   
)
protected

Called when a local property is deleted

void tlp::MainController::delSubGraph ( Graph *  ,
Graph *   
)
protected

Called when a subgraph is removed.

virtual void tlp::MainController::drawViews ( bool  init = false)
protectedvirtual

Draw/Init all views

Reimplemented from tlp::ControllerViewsManager.

void tlp::MainController::editCopy ( )
slot
void tlp::MainController::editCreateGroup ( )
slot
void tlp::MainController::editCreateSubgraph ( )
slot
void tlp::MainController::editCut ( )
slot
void tlp::MainController::editDelSelection ( )
slot
void tlp::MainController::editDeselectAll ( )
slot
void tlp::MainController::editFind ( )
slot
void tlp::MainController::editPaste ( )
slot
void tlp::MainController::editReverseSelection ( )
slot
void tlp::MainController::editSelectAll ( )
slot
void tlp::MainController::filePrint ( )
protectedslot

Print the current view

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

Return the graph and the dataSet of the controller

Implements tlp::Controller.

void tlp::MainController::graphAboutToBeRemove ( Graph *  graph)
protectedslot

Clear observers when a graph is about to be remove

void tlp::MainController::initializeGraph ( Graph *  graph)
protected

Set the default initialization of the graph

View* tlp::MainController::initMainView ( DataSet  dataSet)
protected

Create and init the main view (NodeLinkDiagramComponent)

void tlp::MainController::initObservers ( )
protected

Init all observers (graph and properties)

void tlp::MainController::isAcyclic ( )
protectedslot
void tlp::MainController::isBiconnected ( )
protectedslot
void tlp::MainController::isConnected ( )
protectedslot
void tlp::MainController::isFreeTree ( )
protectedslot
void tlp::MainController::isOuterPlanar ( )
protectedslot
void tlp::MainController::isPlanar ( )
protectedslot
void tlp::MainController::isSimple ( )
protectedslot
void tlp::MainController::isTree ( )
protectedslot
void tlp::MainController::isTriconnected ( )
protectedslot
void tlp::MainController::loadGUI ( )
protected

Load the GUI

void tlp::MainController::makeAcyclic ( )
protectedslot
void tlp::MainController::makeBiconnected ( )
protectedslot
void tlp::MainController::makeConnected ( )
protectedslot
void tlp::MainController::makeDirected ( )
protectedslot
void tlp::MainController::makeSimple ( )
protectedslot
void tlp::MainController::observableDestroyed ( Observable *  )
protected

This function is call when an observable is destroyed

void tlp::MainController::redo ( )
protectedslot
void tlp::MainController::reverseSelectedEdgeDirection ( )
protectedslot
void tlp::MainController::setData ( Graph *  graph = 0,
DataSet  dataSet = DataSet() 
)
virtual

Set graph and dataSet to the controller

Implements tlp::Controller.

void tlp::MainController::showElementProperties ( unsigned int  eltId,
bool  isNode 
)
protectedslot

This slot is call when a view emit elementSelected Show the element in left part of the GUI

void tlp::MainController::showGraphEditor ( )
protectedslot

This slot is call to ensure the Graph Editor is visible

void tlp::MainController::showViewEditor ( )
protectedslot

This slot is call to ensure the View Editor is visible

void tlp::MainController::snapshot ( )
protectedslot
void tlp::MainController::undo ( )
protectedslot
void tlp::MainController::update ( ObserverIterator  begin,
ObserverIterator  end 
)
protected

This function is call when an observable is update

void tlp::MainController::updateCurrentGraphInfos ( )
protected

Update number of nodes/edges in the status bar and the cluster tree widget.

void tlp::MainController::updateUndoRedoInfos ( )
protectedslot
void tlp::MainController::viewRequestChangeGraph ( tlp::View view,
tlp::Graph *  graph 
)
protectedslot

This slot is call when a view want to change its graph

virtual void tlp::MainController::widgetWillBeClosed ( QObject *  object)
protectedvirtualslot

This slot is call went a view will be closed

virtual bool tlp::MainController::windowActivated ( QWidget *  w)
protectedvirtualslot

This function is call when a view is activated Return true if view can be activated (ie this view exist)

Member Data Documentation

QMenu* tlp::MainController::algorithmMenu
protected
bool tlp::MainController::blockUpdate
protected
SGHierarchyWidget* tlp::MainController::clusterTreeWidget
protected
QMenu* tlp::MainController::colorsMenu
protected
QDockWidget* tlp::MainController::configWidgetDock
protected
QTabWidget* tlp::MainController::configWidgetTab
protected
unsigned int tlp::MainController::currentGraphNbEdges
protected
unsigned int tlp::MainController::currentGraphNbNodes
protected
QMenu* tlp::MainController::editMenu
protected
QAction* tlp::MainController::editRedoAction
protected
QAction* tlp::MainController::editUndoAction
protected
ElementPropertiesWidget* tlp::MainController::eltProperties
protected
QAction* tlp::MainController::forceRatioAction
protected
QMenu* tlp::MainController::generalMenu
protected
QMenu* tlp::MainController::graphMenu
protected
Graph* tlp::MainController::graphToReload
protected
bool tlp::MainController::inAlgorithm
protected
QMenu* tlp::MainController::intMenu
protected
std::map<View *, int> tlp::MainController::lastConfigTabIndexOnView
protected
QMenu* tlp::MainController::layoutMenu
protected
QAction* tlp::MainController::mapMetricAction
protected
QMenu* tlp::MainController::metricMenu
protected
Morphing* tlp::MainController::morph
protected
QAction* tlp::MainController::morphingAction
protected
QMenu* tlp::MainController::optionsMenu
protected
QAction* tlp::MainController::printAction
protected
bool tlp::MainController::propertiesListUpdated
protected
PropertyDialog* tlp::MainController::propertiesWidget
protected
QAction* tlp::MainController::redoAction
protected
QMenu* tlp::MainController::selectMenu
protected
QMenu* tlp::MainController::sizesMenu
protected
QAction* tlp::MainController::snapshotAction
protected
QMenu* tlp::MainController::stringMenu
protected
QDockWidget* tlp::MainController::tabWidgetDock
protected
QAction* tlp::MainController::undoAction
protected
QMenu* tlp::MainController::viewMenu
protected


Tulip Software by LaBRI Visualization Team    2001 - 2012