ParaView
pqFileDialogModel.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: ParaView
4  Module: pqFileDialogModel.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 
33 #ifndef _pqFileDialogModel_h
34 #define _pqFileDialogModel_h
35 
36 #include "pqCoreModule.h"
37 #include <QAbstractItemModel>
38 #include <QFileIconProvider>
39 #include <QObject>
40 
41 #include "vtkPVFileInformation.h"
42 class vtkProcessModule;
43 class pqServer;
44 class QModelIndex;
45 
54 class PQCORE_EXPORT pqFileDialogModel : public QAbstractItemModel
55 {
56  typedef QAbstractItemModel base;
57 
58  Q_OBJECT
59 
60 public:
65  pqFileDialogModel(pqServer* server, QObject* Parent = NULL);
67 
71  void setCurrentPath(const QString&);
72 
76  QString getCurrentPath();
77 
81  bool isHidden(const QModelIndex&);
82 
86  bool isDir(const QModelIndex&);
87 
88  // Creates a directory. "dirName" can be relative or absolute path
89  bool mkdir(const QString& dirname);
90 
91  // Removes a directory. "dirName" can be relative or absolute path
92  bool rmdir(const QString& dirname);
93 
94  // Renames a directory or file.
95  bool rename(const QString& oldname, const QString& newname);
96 
101  bool fileExists(const QString& file, QString& fullpath);
102 
107  bool dirExists(const QString& dir, QString& fullpath);
108 
113  QChar separator() const;
114 
118  QString absoluteFilePath(const QString&);
119 
125  QStringList getFilePaths(const QModelIndex&);
126 
130  pqServer* server() const;
131 
135  bool setData(const QModelIndex& idx, const QVariant& value, int role);
136 
137  // overloads for QAbstractItemModel
138 
142  int columnCount(const QModelIndex&) const;
146  QVariant data(const QModelIndex& idx, int role) const;
150  QModelIndex index(int row, int column, const QModelIndex&) const;
154  QModelIndex parent(const QModelIndex&) const;
158  int rowCount(const QModelIndex&) const;
162  bool hasChildren(const QModelIndex& p) const;
166  QVariant headerData(int section, Qt::Orientation, int role) const;
170  Qt::ItemFlags flags(const QModelIndex& idx) const;
171 
172 private:
173  class pqImplementation;
174  pqImplementation* const Implementation;
175 };
176 
177 class pqFileDialogModelIconProvider : protected QFileIconProvider
178 {
179 public:
180  enum IconType
181  {
190  NetworkFolder
191  };
193  QIcon icon(IconType t) const;
194  QIcon icon(vtkPVFileInformation::FileTypes f) const;
195 
196 protected:
197  QIcon icon(const QFileInfo& info) const;
198  QIcon icon(QFileIconProvider::IconType ico) const;
199 
202  QIcon DomainIcon;
203  QIcon NetworkIcon;
204 };
205 
206 #endif // !_pqFileDialogModel_h
pqFileDialogModel allows remote browsing of a connected ParaView server&#39;s filesystem, as well as browsing of the local file system.
process initialization and management core for ParaView processes.
pqServer (should be renamed to pqSession) is a pqServerManagerModelItem subclass that represents a vt...
Definition: pqServer.h:64