Overview | Modules | Class Hierarchy | Classes | Members

Signals | Public Member Functions | Static Public Member Functions | Protected Attributes | Static Protected Attributes
tlp::Controller Class Reference

Tulip controller interface class. More...

`#include <Controller.h>`

Inheritance diagram for tlp::Controller:
[legend]
Collaboration diagram for tlp::Controller:
[legend]

List of all members.

## Signals

- void willBeClosed ()

## Public Member Functions

- virtual ~Controller ()
- virtual void attachMainWindow (MainWindowFacade facade)
- virtual void setData (Graph *graph=NULL, DataSet dataSet=DataSet())=0
- virtual void getData (Graph **graph, DataSet *data)=0
- virtual Graph * getGraph ()=0
- MainWindowFacade * getMainWindowFacade ()

## Static Public Member Functions

- static void currentActiveController (Controller *controller)
- static Controller * getCurrentController ()

## Protected Attributes

- MainWindowFacade mainWindowFacade

## Static Protected Attributes

- static Controller * currentController

## Detailed Description

Tulip controller interface class.

Tulip controller interface class If you want to create a new Controller : implement setData and getData and extend attachMainWindow (see attachMainWindow description)

## Constructor & Destructor Documentation

virtual tlp::Controller::~Controller | ( |  | ) | `[inline, virtual]`

## Member Function Documentation

virtual void tlp::Controller::attachMainWindow | ( | MainWindowFacade | facade | ) | `[virtual]`

By default in Tulip, if we have only one controller, we auto load it If in your controller, you modify return of this function, you stop this process Attach the main window to this controller Extend this function in your controller because attachMainWindow must construct the GUI

Warning:
  In new attachMainWindow function call Controller::attachMainWindow(MainWindowFacade) At default when tulip start with only one controller this controller is autoload and attachMainWindow function is call

Reimplemented in tlp::ControllerViewsManager, and tlp::MainController.

static void tlp::Controller::currentActiveController | ( | Controller * | controller | ) | `[inline, static]`

Set the current active controller

static Controller* tlp::Controller::getCurrentController | ( |  | ) | `[inline, static]`

Return the current active controller

virtual void tlp::Controller::getData | ( | Graph ** | graph,
|  | DataSet * | data
| ) |  | `[pure virtual]`

Get the graph and the dataSet of this controller

Returns:
  the graph and the dataSet who will be store in tlp file

Implemented in tlp::MainController.

virtual Graph* tlp::Controller::getGraph | ( |  | ) | `[pure virtual]`

Get the graph of this controller

Returns:
  the graph

Implemented in tlp::ControllerViewsManager.

MainWindowFacade* tlp::Controller::getMainWindowFacade | ( |  | ) | `[inline]`

Return MainWindowFacade use with this controller

virtual void tlp::Controller::setData | ( | Graph * | graph = `NULL`,
|  | DataSet | dataSet = `DataSet()`
| ) |  | `[pure virtual]`

Set data of controller graph and dataSet may be empty

Implemented in tlp::MainController.

void tlp::Controller::willBeClosed | ( |  | ) | `[signal]`

## Member Data Documentation

Controller* tlp::Controller::currentController `[static, protected]`

MainWindowFacade tlp::Controller::mainWindowFacade `[protected]`

Tulip Software by LaBRI Visualization Team 2001 - 2012