Overview | Modules | Class Hierarchy | Classes | Members

# Interactor.h File Reference

`#include <QtCore/qobject.h>`
`#include <QtGui/QAction>`
`#include <tulip/Plugin.h>`
`#include <tulip/TulipRelease.h>`
`#include <tulip/TemplateFactory.h>`
`#include "InteractorManager.h"`

Include dependency graph for Interactor.h:

This graph shows which files directly or indirectly include this file:

## Namespaces

- namespace tlp

## Classes

- class tlp::InteractorAction
    InteractorAction extend QAction to provide Interactor information. More...
- class tlp::Interactor
    Tulip interactor main class. More...
- class tlp::InteractorContext
- class tlp::InteractorFactory

## Defines

- #define INTERACTORPLUGINFACTORY(T, C, N, A, D, I, R, G)
- #define INTERACTORPLUGINOFGROUP(C, N, A, D, I, R, G) INTERACTORPLUGINFACTORY(Interactor,C,N,A,D,I,R,G)
- #define INTERACTORPLUGIN(C, N, A, D, I, R) INTERACTORPLUGINOFGROUP(C,N,A,D,I,R,"")
- #define INTERACTORPLUGINVIEWEXTENSION(CN, CNT, BCNT, VCN, A, D, I, R)
- #define INTERACTORPLUGINVIEWEXTENSIONWITHPRIORITY(CN, CNT, BCNT, VCN, A, D, I, R, P)

## Define Documentation

#define INTERACTORPLUGIN | ( | C,
|  | N,
|  | A,
|  | D,
|  | I,
|  | R |  | ) | INTERACTORPLUGINOFGROUP(C,N,A,D,I,R,"")

#define INTERACTORPLUGINFACTORY | ( | T,
|  | C,
|  | N,
|  | A,
|  | D,
|  | I,
|  | R,
|  | G |  | ) |

Value:

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

#define INTERACTORPLUGINOFGROUP | ( | C,
|  | N,
|  | A,
|  | D,
|  | I,
|  | R,
|  | G |  | ) | INTERACTORPLUGINFACTORY(Interactor,C,N,A,D,I,R,G)

#define INTERACTORPLUGINVIEWEXTENSION | ( | CN,
|  | CNT,
|  | BCNT,
|  | VCN,
|  | A,
|  | D,
|  | I,
|  | R |  | ) |

Value:

    class CN : public Interactor { \
    public : \
    CN() {baseInteractor=InteractorManager::getInst().getInteractor(BCNT);if(baseInteractor){setPriority(baseInteractor->getPriority());}} \
      void setView(View *view){baseInteractor->setView(view);} \
      void install(QWidget *widget){baseInteractor->install(widget);} \
      void remove(){baseInteractor->remove();} \
      QWidget *getConfigurationWidget(){return baseInteractor->getConfigurationWidget();} \
      bool isCompatible(const std::string &viewName){return viewName==VCN;} \
      InteractorAction* getAction(){return baseInteractor->getAction();} \
      void compute(GlMainWidget *widget){baseInteractor->compute(widget);} \
      void draw(GlMainWidget *widget){baseInteractor->draw(widget);} \
    protected : \
      Interactor *baseInteractor; \
    }; \
    INTERACTORPLUGIN(CN, CNT, A , D , I , R);

#define INTERACTORPLUGINVIEWEXTENSIONWITHPRIORITY | ( | CN,
|  | CNT,
|  | BCNT,
|  | VCN,
|  | A,
|  | D,
|  | I,
|  | R,
|  | P |  | ) |

Value:

    class CN : public Interactor { \
    public : \
      CN() {setPriority(P);baseInteractor=InteractorManager::getInst().getInteractor(BCNT);} \
      void setView(View *view){baseInteractor->setView(view);} \
      void install(QWidget *widget){baseInteractor->install(widget);} \
      void remove(){baseInteractor->remove();} \
      QWidget *getConfigurationWidget(){return baseInteractor->getConfigurationWidget();} \
      bool isCompatible(const std::string &viewName){return viewName==VCN;} \
      InteractorAction* getAction(){return baseInteractor->getAction();} \
      void compute(GlMainWidget *widget){baseInteractor->compute(widget);} \
      void draw(GlMainWidget *widget){baseInteractor->draw(widget);} \
    protected : \
      Interactor *baseInteractor; \
    }; \
    INTERACTORPLUGIN(CN, CNT, A , D , I , R);

Tulip Software by LaBRI Visualization Team 2001 - 2010