Salome HOME
Copyright update 2022
[modules/paravis.git] / src / Plugins / View / MyView.h
1 // Copyright (C) 2010-2022  CEA/DEN, EDF R&D
2 //
3 // This library is free software; you can redistribute it and/or
4 // modify it under the terms of the GNU Lesser General Public
5 // License as published by the Free Software Foundation; either
6 // version 2.1 of the License, or (at your option) any later version.
7 //
8 // This library is distributed in the hope that it will be useful,
9 // but WITHOUT ANY WARRANTY; without even the implied warranty of
10 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
11 // Lesser General Public License for more details.
12 //
13 // You should have received a copy of the GNU Lesser General Public
14 // License along with this library; if not, write to the Free Software
15 // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
16 //
17 // See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
18 //
19
20 #ifndef _MyView_h
21 #define _MyView_h
22
23 #include "pqView.h"
24 #include <QMap>
25 #include <QColor>
26 class QLabel;
27
28 /// a simple view that shows a QLabel with the display's name in the view
29 class MyView : public pqView
30 {
31   Q_OBJECT
32 public:
33     /// constructor takes a bunch of init stuff and must have this signature to 
34     /// satisfy pqView
35   MyView(const QString& viewtypemodule, 
36          const QString& group, 
37          const QString& name, 
38          vtkSMViewProxy* viewmodule, 
39          pqServer* server, 
40          QObject* p);
41   ~MyView();
42
43   /// don't support save images
44   bool saveImage(int, int, const QString& ) { return false; }
45   vtkImageData* captureImage(int) { return NULL; }
46   vtkImageData* captureImage(const QSize&) { return NULL; }
47
48   /// return the QWidget to give to ParaView's view manager
49   QWidget* getWidget();
50
51   /// returns whether this view can display the given source
52   bool canDisplay(pqOutputPort* opPort) const;
53
54   /// set the background color of this view
55   void setBackground(const QColor& col);
56   QColor background() const;
57
58 protected slots:
59   /// helper slots to create labels
60   void onRepresentationAdded(pqRepresentation*);
61   void onRepresentationRemoved(pqRepresentation*);
62
63 protected:
64
65   QWidget* MyWidget;
66   QMap<pqRepresentation*, QLabel*> Labels;
67
68 };
69
70 #endif // _MyView_h
71