/usr/include/tulip/AbstractView.h is in libtulip-qt4-dev 3.1.2-2.3ubuntu3.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 | //-*-c++-*-
/**
Authors: David Auber, Patrick Mary, Morgan Mathiaut
from the LaBRI Visualization Team
Email : auber@tulip-software.org
Last modification : 13/03/2009
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
*/
#ifndef _Tulip_ABSTRACTVIEW_H
#define _Tulip_ABSTRACTVIEW_H
#include "View.h"
namespace tlp {
/** \brief Abstract view provide interactors' functions
*
* Abstract view provide a View with interactors' basic functions like getInteractors, pushInteractor and popInteractor
* You can inherit from it if you want this functions
* In tulip-qt GlMainView inherit from it
*/
class TLP_QT_SCOPE AbstractView : public View {
Q_OBJECT;
public:
/**
* Basic constructor
*/
AbstractView();
/*
* Basic destructor
*/
virtual ~AbstractView();
/*
* Construct the abstract view
* \warning If you want to inherit from it, you must call AbstractView::construct(QWidget *) in your new construct function
*/
virtual QWidget *construct(QWidget *parent);
/*
* get the widget who will be add to workspace by the controller
* \return the widget of the abstract view
*/
QWidget *getWidget(){return widget;}
/**
* Get Interactors action (in MainController actions will be add to graphToolBar)
* \warning : QAction* must be the same at each call
*/
virtual std::list<QAction *> *getInteractorsActionList();
/**
* get interactors of widget
* \return list of interactor installed on this widget
*/
virtual tlp::Iterator<tlp::Interactor *> *getInteractors() const;
/**
* install a clone of the interactor as event filter and assign the returned id
*/
tlp::Interactor::ID pushInteractor(tlp::Interactor *interactor);
/**
* remove the last added interactor from the event filters list and delete it
*/
void popInteractor();
/**
* remove the interactor with id from the event filters list and delete it
*/
void removeInteractor(tlp::Interactor::ID id);
/**
* remove all interactors and delete them, push a new one if any
*/
tlp::Interactor::ID resetInteractors(tlp::Interactor *interactor = NULL);
/**
* remove all iteractors and delete them, then install clones of the interactors
*/
std::vector<tlp::Interactor::ID> resetInteractors(const std::vector<tlp::Interactor *>&interactors);
protected:
/**
* empty function : implement this function if you want a specific event filter in your view
*/
virtual void specificEventFilter(QObject *object,QEvent *event) {}
/**
* empty function : implement this function if you want a context menu when you right click the mouse
*/
virtual void buildContextMenu(QObject *object,QMouseEvent *event,QMenu *contextMenu) {}
/**
* empty function : implement this function if you have implement buildContextMenu()
*/
virtual void computeContextMenuAction(QAction *action) {}
/**
* construct the storage of interactors
*/
virtual void constructInteractorsMap() {}
/**
* construct the storage of interactors' action
*/
virtual void constructInteractorsActionList() {}
/**
* set the central widget of the view
* call this function to set view's centralWidget
*/
void setCentralWidget(QWidget *widget);
tlp::Interactor::ID _id;
std::vector<tlp::Interactor *> _interactors;
std::map<std::string,std::vector<Interactor *> > interactorsMap;
std::list<QAction *> interactorsActionList;
QWidget *widget;
QVBoxLayout *mainLayout;
QWidget *centralWidget;
public slots:
/**
* this function is call by Qt
* this function call specificEventFilter, buildContextMenu and computeContextMenu
*/
bool eventFilter(QObject *object, QEvent *event);
};
}
#endif
|