ParaView
pqCustomFilterDefinitionModel.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: ParaView
4  Module: pqCustomFilterDefinitionModel.h
5 
6  Copyright (c) 2005-2008 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 
35 
36 #ifndef _pqCustomFilterDefinitionModel_h
37 #define _pqCustomFilterDefinitionModel_h
38 
39 
40 #include "pqComponentsModule.h"
41 #include <QAbstractItemModel>
42 
43 class pqCustomFilterDefinitionModelItem;
44 class pqPipelineSource;
45 class pqProxySelection;
46 class QPixmap;
47 class vtkCollection;
48 
49 
59 class PQCOMPONENTS_EXPORT pqCustomFilterDefinitionModel : public QAbstractItemModel
60 {
61 public:
62  enum ItemType
63  {
64  Invalid = -1,
65  Source = 0,
69  LastType = Link
70  };
71 
72 public:
73  pqCustomFilterDefinitionModel(QObject *parent=0);
75 
77 
78  virtual int rowCount(const QModelIndex &parent=QModelIndex()) const;
84 
90  virtual int columnCount(const QModelIndex &parent=QModelIndex()) const;
91 
97  virtual bool hasChildren(const QModelIndex &parent=QModelIndex()) const;
98 
106  virtual QModelIndex index(int row, int column,
107  const QModelIndex &parent=QModelIndex()) const;
108 
114  virtual QModelIndex parent(const QModelIndex &index) const;
115 
122  virtual QVariant data(const QModelIndex &index,
123  int role=Qt::DisplayRole) const;
124 
133  virtual Qt::ItemFlags flags(const QModelIndex &index) const;
135 
144  void setContents(const pqProxySelection& items);
145 
151  QModelIndex getNextIndex(const QModelIndex &index) const;
152 
158  pqPipelineSource *getSourceFor(const QModelIndex &index) const;
159 
160 private:
166  pqCustomFilterDefinitionModelItem *getModelItemFor(
167  const QModelIndex &index) const;
168 
174  pqCustomFilterDefinitionModelItem *getNextItem(
175  pqCustomFilterDefinitionModelItem *item) const;
176 
177 private:
178  pqCustomFilterDefinitionModelItem *Root;
179  QPixmap *PixmapList;
180 };
181 
182 #endif
The pqCustomFilterDefinitionModel class stores the sources that define a compound proxy in a hierarch...
pqProxySelection is used to specify a selection comprising proxies.
PQ representation for a vtkSMProxy that can be involved in a pipeline.