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){if(baseInteractor){baseInteractor->setView(view);}} \
      void install(QWidget *widget){if(baseInteractor){baseInteractor->install(widget);}} \
      void remove(){if(baseInteractor){baseInteractor->remove();}} \
      QWidget *getConfigurationWidget(){if(baseInteractor){return baseInteractor->getConfigurationWidget();}else{return NULL;}} \
      bool isCompatible(const std::string &viewName){if(baseInteractor){return viewName==VCN;}else{return false;}} \
      InteractorAction* getAction(){if(baseInteractor){return baseInteractor->getAction();}else{return NULL;}} \
      void compute(GlMainWidget *widget){if(baseInteractor){baseInteractor->compute(widget);}} \
      void draw(GlMainWidget *widget){if(baseInteractor){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){if(baseInteractor){baseInteractor->setView(view);}} \
     void install(QWidget *widget){if(baseInteractor){baseInteractor->install(widget);}} \
     void remove(){if(baseInteractor){baseInteractor->remove();}} \
     QWidget *getConfigurationWidget(){if(baseInteractor){return baseInteractor->getConfigurationWidget();}else{return NULL;}} \
     bool isCompatible(const std::string &viewName){if(baseInteractor){return viewName==VCN;}else{return false;}} \
     InteractorAction* getAction(){if(baseInteractor){return baseInteractor->getAction();}else{return NULL;}} \
     void compute(GlMainWidget *widget){if(baseInteractor){baseInteractor->compute(widget);}} \
     void draw(GlMainWidget *widget){if(baseInteractor){baseInteractor->draw(widget);}} \
    protected : \
      Interactor *baseInteractor; \
    }; \
    INTERACTORPLUGIN(CN, CNT, A , D , I , R);

Tulip Software by LaBRI Visualization Team 2001 - 2010