VTK
vtkQtAbstractModelAdapter.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: Visualization Toolkit
4  Module: vtkQtAbstractModelAdapter.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 -------------------------------------------------------------------------*/
35 #ifndef vtkQtAbstractModelAdapter_h
36 #define vtkQtAbstractModelAdapter_h
37 
38 #include "vtkGUISupportQtModule.h" // For export macro
39 #include <QAbstractItemModel>
40 #include <QItemSelection> // Needed for selection methods
41 
42 class vtkDataObject;
43 class vtkSelection;
44 
45 class VTKGUISUPPORTQT_EXPORT vtkQtAbstractModelAdapter : public QAbstractItemModel
46 {
47  Q_OBJECT
48 
49 public:
50 
51  // The view types.
52  enum {
54  DATA_VIEW
55  };
56 
58  QAbstractItemModel(p),
59  ViewType(FULL_VIEW),
60  KeyColumn(-1),
61  ColorColumn(-1),
62  DataStartColumn(-1),
63  DataEndColumn(-1)
64  { }
65 
67 
70  virtual void SetVTKDataObject(vtkDataObject *data) = 0;
71  virtual vtkDataObject* GetVTKDataObject() const = 0;
73 
75 
78  virtual vtkSelection* QModelIndexListToVTKIndexSelection(
79  const QModelIndexList qmil) const = 0;
80  virtual QItemSelection VTKIndexSelectionToQItemSelection(
81  vtkSelection *vtksel) const = 0;
83 
90  virtual void SetViewType(int type) { this->ViewType = type; }
91  virtual int GetViewType() { return this->ViewType; }
92 
100  virtual void SetKeyColumn(int col) { this->KeyColumn = col; }
101  virtual int GetKeyColumn() { return this->KeyColumn; }
102  virtual void SetKeyColumnName(const char* name) = 0;
103 
111  virtual void SetColorColumn(int col) { this->ColorColumn = col; }
112  virtual int GetColorColumn() { return this->ColorColumn; }
113  virtual void SetColorColumnName(const char* name) = 0;
114 
120  virtual void SetDataColumnRange(int c1, int c2)
121  { this->DataStartColumn = c1; this->DataEndColumn = c2; }
122 
123  // We make the reset() method public because it isn't always possible for
124  // an adapter to know when its input has changed, so it must be callable
125  // by an outside entity.
128  void reset() { QAbstractItemModel::beginResetModel(); QAbstractItemModel::endResetModel();}
129 
130  // We make the beginResetModel() and endResetModel() methods public because it
131  // isn't always possible for an adapter to know when its input has changed,
132  // so it must be callable by an outside entity.
133  void beginResetModel() { QAbstractItemModel::beginResetModel(); }
134  void endResetModel() { QAbstractItemModel::endResetModel(); }
135 
136 
137 signals:
138  void modelChanged();
139 
140 protected:
141 
147  virtual int ModelColumnToFieldDataColumn(int col) const;
148 
149  int ViewType;
154 };
155 
156 #endif
vtkQtAbstractModelAdapter::SetColorColumn
virtual void SetColorColumn(int col)
Set/Get the column storing the rgba color values for each row.
Definition: vtkQtAbstractModelAdapter.h:111
vtkQtAbstractModelAdapter::reset
void reset()
Definition: vtkQtAbstractModelAdapter.h:128
vtkQtAbstractModelAdapter::beginResetModel
void beginResetModel()
Definition: vtkQtAbstractModelAdapter.h:133
vtkX3D::type
Definition: vtkX3D.h:516
vtkX3D::data
Definition: vtkX3D.h:315
vtkQtAbstractModelAdapter::GetColorColumn
virtual int GetColorColumn()
Definition: vtkQtAbstractModelAdapter.h:112
vtkQtAbstractModelAdapter::SetKeyColumn
virtual void SetKeyColumn(int col)
Set/Get the key column.
Definition: vtkQtAbstractModelAdapter.h:100
vtkSelection
data object that represents a "selection" in VTK.
Definition: vtkSelection.h:63
vtkQtAbstractModelAdapter::endResetModel
void endResetModel()
Definition: vtkQtAbstractModelAdapter.h:134
vtkQtAbstractModelAdapter::ViewType
int ViewType
Definition: vtkQtAbstractModelAdapter.h:149
vtkQtAbstractModelAdapter::DataStartColumn
int DataStartColumn
Definition: vtkQtAbstractModelAdapter.h:152
vtkQtAbstractModelAdapter::SetDataColumnRange
virtual void SetDataColumnRange(int c1, int c2)
Set the range of columns that specify the main data matrix.
Definition: vtkQtAbstractModelAdapter.h:120
vtkQtAbstractModelAdapter::SetViewType
virtual void SetViewType(int type)
Set/Get the view type.
Definition: vtkQtAbstractModelAdapter.h:90
vtkQtAbstractModelAdapter::GetKeyColumn
virtual int GetKeyColumn()
Definition: vtkQtAbstractModelAdapter.h:101
vtkQtAbstractModelAdapter
Superclass for Qt model adapters.
Definition: vtkQtAbstractModelAdapter.h:45
vtkQtAbstractModelAdapter::DataEndColumn
int DataEndColumn
Definition: vtkQtAbstractModelAdapter.h:153
vtkX3D::name
Definition: vtkX3D.h:219
vtkQtAbstractModelAdapter::GetViewType
virtual int GetViewType()
Definition: vtkQtAbstractModelAdapter.h:91
vtkQtAbstractModelAdapter::KeyColumn
int KeyColumn
Definition: vtkQtAbstractModelAdapter.h:150
vtkQtAbstractModelAdapter::FULL_VIEW
Definition: vtkQtAbstractModelAdapter.h:53
vtkQtAbstractModelAdapter::vtkQtAbstractModelAdapter
vtkQtAbstractModelAdapter(QObject *p)
Definition: vtkQtAbstractModelAdapter.h:57
vtkDataObject
general representation of visualization data
Definition: vtkDataObject.h:64
vtkQtAbstractModelAdapter::ColorColumn
int ColorColumn
Definition: vtkQtAbstractModelAdapter.h:151