pqMultiBlockInspectorWidget.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: ParaView
4  Module: pqMultiBlockInspectorWidget.h
5 
6  Copyright (c) 2005,2006 Sandia Corporation, Kitware Inc.
7  All rights reserved.
8 
9  ParaView is a free software; you can redistribute it and/or modify it
10  under the terms of the ParaView license version 1.2.
11 
12  See License_v1.2.txt for the full ParaView license.
13  A copy of this license can be obtained by contacting
14  Kitware Inc.
15  28 Corporate Drive
16  Clifton Park, NY 12065
17  USA
18 
19 THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
20 ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
21 LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
22 A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS OR
23 CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
24 EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
25 PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
26 PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
27 LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
28 NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
29 SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
30 
31 ========================================================================*/
32 #ifndef pqMultiBlockInspectorWidget_h
33 #define pqMultiBlockInspectorWidget_h
34 
35 #include "pqComponentsModule.h" // for exports
36 #include <QScopedPointer> // for ivar
37 #include <QVariant> // for ivar
38 #include <QWidget>
39 
58 class pqOutputPort;
59 class pqView;
60 class QModelIndex;
61 
63 {
64  Q_OBJECT
65  typedef QWidget Superclass;
66 
67  Q_PROPERTY(QList<QVariant> blockVisibilities READ blockVisibilities WRITE setBlockVisibilities
68  NOTIFY blockVisibilitiesChanged);
69 
70  Q_PROPERTY(
71  QList<QVariant> blockColors READ blockColors WRITE setBlockColors NOTIFY blockColorsChanged);
72 
73  Q_PROPERTY(QList<QVariant> blockOpacities READ blockOpacities WRITE setBlockOpacities NOTIFY
74  blockOpacitiesChanged);
75 
76  Q_PROPERTY(QList<QVariant> visibleBlocks READ visibleBlocks WRITE setVisibleBlocks NOTIFY
77  blockOpacitiesChanged);
78 
79 public:
81  QWidget* parent = nullptr, Qt::WindowFlags f = Qt::WindowFlags(), bool autotracking = true);
82  ~pqMultiBlockInspectorWidget() override;
83 
90  bool isAutoTrackingEnabled() const { return this->AutoTracking; }
91 
93 
98  QList<QVariant> blockVisibilities() const;
99  void setBlockVisibilities(const QList<QVariant>& bvs);
101 
103 
107  QList<QVariant> visibleBlocks() const;
108  void setVisibleBlocks(const QList<QVariant>& vbs);
110 
112 
117  QList<QVariant> blockColors() const;
118  void setBlockColors(const QList<QVariant>& bcs);
120 
122 
126  QList<QVariant> blockOpacities() const;
127  void setBlockOpacities(const QList<QVariant>& bos);
129 
134  pqOutputPort* outputPort() const;
135 
139  pqView* view() const;
140 
144  pqDataRepresentation* representation() const;
145 
146 public Q_SLOTS:
154  void setOutputPort(pqOutputPort* port);
155 
164  void setView(pqView* view);
165 
166 private Q_SLOTS:
167  void setOutputPortInternal(pqOutputPort* port);
168  void setViewInternal(pqView* view);
169  void setRepresentation(pqDataRepresentation* repr);
170  void selected(pqOutputPort* port);
171  void modelDataChanged(const QModelIndex&, const QModelIndex&);
172  void contextMenu(const QPoint&);
173  void resetEventually();
174  void resetNow();
175  void itemDoubleClicked(const QModelIndex&);
176  void updateRepresentation();
177  void nameChanged();
178 
182  void updateScalarColoring();
183 
184 Q_SIGNALS:
185  void blockVisibilitiesChanged();
186  void blockColorsChanged();
187  void blockOpacitiesChanged();
188  void requestRender();
189 
190 private:
192 
203  void setColor(const QModelIndex& idx, const QColor& newcolor);
204  void setOpacity(const QModelIndex& idx, double opacity);
206 
207 private:
208  Q_DISABLE_COPY(pqMultiBlockInspectorWidget);
209 
210  class pqInternals;
211  QScopedPointer<pqInternals> Internals;
212 
213  bool AutoTracking;
214 };
215 
216 #endif
pqDataRepresentation is the superclass for a display for a pqPipelineSource i.e.
pqOutputPort is a server manager model item for an output port of any pqPipelineSource item...
Definition: pqOutputPort.h:58
#define PQCOMPONENTS_EXPORT
This is a PQ abstraction of a generic view module.
Definition: pqView.h:54
widget to show composite data hierarchy and controls its display properties.
port
bool isAutoTrackingEnabled() const
Returns true if tracking of the active objects via pqActiveObjects is enabled.