---
name: "Controller.h"
section: "3tulip"
platform: "linux"
package: "tulip-doc"
version: "3.1.2-2.3"
release: "Debian 6.0 (Squeeze)"
platforms: ["linux"]
url: "https://new.carta.tech/Controller.h"
---

# Controller.h(3tulip)

## NAME

Controller.h -

## SYNOPSIS

`#include <QtCore/QObject>`\
 `#include <QtGui/QDockWidget>`\
 `#include <QtGui/QMainWindow>`\
 `#include <tulip/Plugin.h>`\
 `#include <tulip/TulipRelease.h>`\
 `#include <tulip/TemplateFactory.h>`\
 `#include <tulip/Vector.h>`\
 `#include 'GWInteractor.h'`\

### Classes

class **tlp::MainWindowFacade**\
 *Facade of QMainWindow.*  class **tlp::Controller**\
 *Tulip controller interface class.*  class **tlp::ControllerContext**\
 class **tlp::ControllerFactory**\

### Namespaces

namespace **tlp**\

### Defines

\#define **CONTROLLERPLUGINFACTORY**(T, C, N, A, D, I, R, G)\
 \#define **CONTROLLERPLUGINOFGROUP**(C, N, A, D, I, R, G)   CONTROLLERPLUGINFACTORY(Controller,C,N,A,D,I,R,G)\
 \#define **CONTROLLERPLUGIN**(C, N, A, D, I, R)   CONTROLLERPLUGINOFGROUP(C,N,A,D,I,R,'')\

## Define Documentation

### #define CONTROLLERPLUGIN(C, N, A, D, I, R) CONTROLLERPLUGINOFGROUP(C,N,A,D,I,R,'')

### #define CONTROLLERPLUGINFACTORY(T, C, N, A, D, I, R, G) Value:

```
class C##T##Factory:public tlp::T##Factory     {                                                public:                                            C##T##Factory(){                             initFactory();                               factory->registerPlugin(this);             }                                    string getName() const { return string(N);}      string getGroup() const { return string(G);}     string getAuthor() const {return string(A);}     string getDate() const {return string(D);}       string getInfo() const {return string(I);}       string getRelease() const {return string(R);}  string getTulipRelease() const {return string(TULIP_RELEASE);}   tlp::T * createPluginObject(ControllerContext *ic)           {                                      C *tmp = new C();                          return ((tlp::T *) tmp);                 }                                  };                                               extern 'C' {                                              C##T##Factory C##T##FactoryInitializer;               }
```

### #define CONTROLLERPLUGINOFGROUP(C, N, A, D, I, R, G) CONTROLLERPLUGINFACTORY(Controller,C,N,A,D,I,R,G)

## Author

Generated automatically by Doxygen for Tulip QT Library from the source code.
