VTK  9.1.0
vtkQtListView.h
Go to the documentation of this file.
1/*=========================================================================
2
3 Program: Visualization Toolkit
4 Module: vtkQtListView.h
5
6 Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
7 All rights reserved.
8 See Copyright.txt or http://www.kitware.com/Copyright.htm for details.
9
10 This software is distributed WITHOUT ANY WARRANTY; without even
11 the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
12 PURPOSE. See the above copyright notice for more information.
13
14=========================================================================*/
15/*-------------------------------------------------------------------------
16 Copyright 2008 Sandia Corporation.
17 Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation,
18 the U.S. Government retains certain rights in this software.
19-------------------------------------------------------------------------*/
32#ifndef vtkQtListView_h
33#define vtkQtListView_h
34
35#include "vtkQtView.h"
36#include "vtkViewsQtModule.h" // For export macro
37
38#include "vtkSmartPointer.h" // Needed for member variables
39#include <QImage> // Needed for the icon methods
40#include <QPointer> // Needed for the internal list view
41
42class vtkApplyColors;
44class QItemSelection;
45class QSortFilterProxyModel;
46class QListView;
48
49class VTKVIEWSQT_EXPORT vtkQtListView : public vtkQtView
50{
51 Q_OBJECT
52
53public:
54 static vtkQtListView* New();
55 vtkTypeMacro(vtkQtListView, vtkQtView);
56 void PrintSelf(ostream& os, vtkIndent indent) override;
57
64 QWidget* GetWidget() override;
65
66 enum
67 {
68 FIELD_DATA = 0,
69 POINT_DATA = 1,
70 CELL_DATA = 2,
71 VERTEX_DATA = 3,
72 EDGE_DATA = 4,
73 ROW_DATA = 5,
74 };
75
77
81 vtkGetMacro(FieldType, int);
82 void SetFieldType(int);
84
89
94
102
104
107 void SetColorArrayName(const char* name);
108 const char* GetColorArrayName();
110
112
115 void SetColorByArray(bool vis);
117 vtkBooleanMacro(ColorByArray, bool);
119
123 void SetVisibleColumn(int col);
124
128#if (QT_VERSION >= QT_VERSION_CHECK(5, 12, 0))
129 void SetFilterRegExp(const QRegularExpression& pattern);
130#else
131 void SetFilterRegExp(const QRegExp& pattern);
132#endif
133
135
138 void SetIconSheet(QImage sheet);
139 void SetIconSize(int w, int h);
140 void SetIconSheetSize(int w, int h);
141 void SetIconArrayName(const char* name);
143
144 void ApplyViewTheme(vtkViewTheme* theme) override;
145
149 void Update() override;
150
151protected:
153 ~vtkQtListView() override;
154
157
158private Q_SLOTS:
159 void slotQtSelectionChanged(const QItemSelection&, const QItemSelection&);
160
161private:
162 void SetVTKSelection();
163
164 vtkMTimeType LastSelectionMTime;
165 vtkMTimeType LastInputMTime;
166 vtkMTimeType LastMTime;
167
168 vtkSetStringMacro(ColorArrayNameInternal);
169 vtkGetStringMacro(ColorArrayNameInternal);
170 vtkSetStringMacro(IconIndexArrayNameInternal);
171 vtkGetStringMacro(IconIndexArrayNameInternal);
172
173 QPointer<QListView> ListView;
174 vtkQtTableModelAdapter* TableAdapter;
175 QSortFilterProxyModel* TableSorter;
176 char* ColorArrayNameInternal;
177 char* IconIndexArrayNameInternal;
178 char* VisibleColumnName;
179 bool SortSelectionToTop;
180 bool ApplyRowColors;
181 int FieldType;
182 int VisibleColumn;
183
186
187 vtkQtListView(const vtkQtListView&) = delete;
188 void operator=(const vtkQtListView&) = delete;
189};
190
191#endif
apply colors to a data set.
extract field data as a table
The superclass for all representations.
vtkFrustumSelector is a vtkSelector that selects elements based on whether they are inside or interse...
a simple class to control print indentation
Definition: vtkIndent.h:113
A VTK view based on a Qt List view.
Definition: vtkQtListView.h:50
const char * GetColorArrayName()
The array to use for coloring items in view.
void SetColorArrayName(const char *name)
The array to use for coloring items in view.
void Update() override
Updates the view.
~vtkQtListView() override
void SetEnableDragDrop(bool)
Enable drag and drop on this widget.
void SetVisibleColumn(int col)
The column to display.
void RemoveRepresentationInternal(vtkDataRepresentation *rep) override
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
void SetAlternatingRowColors(bool)
Have the view alternate its row colors.
void ApplyViewTheme(vtkViewTheme *theme) override
QWidget * GetWidget() override
Get the main container of this view (a QWidget).
void SetIconArrayName(const char *name)
Set the icon ivars.
void SetFilterRegExp(const QRegularExpression &pattern)
The column used to filter on.
void SetIconSheetSize(int w, int h)
Set the icon ivars.
void AddRepresentationInternal(vtkDataRepresentation *rep) override
void SetFieldType(int)
The field type to copy into the output table.
bool GetColorByArray()
Whether to color vertices.
static vtkQtListView * New()
void SetIconSize(int w, int h)
Set the icon ivars.
void SetIconSheet(QImage sheet)
Set the icon ivars.
void SetDecorationStrategy(int)
The strategy for how to decorate rows.
void SetColorByArray(bool vis)
Whether to color vertices.
Adapts a table to a Qt item model.
Superclass for Qt widget-based views.
Definition: vtkQtView.h:34
Hold a reference to a vtkObjectBase instance.
Sets theme colors for a graphical view.
Definition: vtkViewTheme.h:132
vtkTypeUInt32 vtkMTimeType
Definition: vtkType.h:287