QSS Solver GUI  4.5.3
treeitem.hpp
Go to the documentation of this file.
1 /*****************************************************************************
2 
3  This file is part of QSS Solver.
4 
5  QSS Solver is free software: you can redistribute it and/or modify
6  it under the terms of the GNU General Public License as published by
7  the Free Software Foundation, either version 3 of the License, or
8  (at your option) any later version.
9 
10  QSS Solver is distributed in the hope that it will be useful,
11  but WITHOUT ANY WARRANTY; without even the implied warranty of
12  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13  GNU General Public License for more details.
14 
15  You should have received a copy of the GNU General Public License
16  along with QSS Solver. If not, see <http://www.gnu.org/licenses/>.
17 
18  ******************************************************************************/
19 
20 #ifndef TREEITEM_H_
21 #define TREEITEM_H_
22 
23 #include <QList>
24 #include <QVariant>
25 #include <QVector>
26 
30 class TreeItem {
31  public:
37  TreeItem(const QVector<QVariant> &data, TreeItem *parent = 0);
41  ~TreeItem();
47  TreeItem *child(int number);
52  int childCount() const;
57  int columnCount() const;
63  QVariant data(int column) const;
71  bool insertChildren(int position, int count, int columns);
78  bool insertColumns(int position, int columns);
83  TreeItem *parent();
90  bool removeChildren(int position, int count);
97  bool removeColumns(int position, int columns);
102  int childNumber() const;
109  bool setData(int column, const QVariant &value);
110 
111  private:
112  QList<TreeItem *> childItems;
113  QVector<QVariant> itemData;
115 };
116 
120 class FileItem {
121  public:
125  FileItem();
135  FileItem(QString v, bool l, bool s, bool p, bool i, QString output);
139  ~FileItem();
144  QString plotStr();
148  bool lines;
152  bool steps;
156  bool plot;
160  bool impulses;
164  QString variable;
168  QString out;
169 };
170 
174 class MapFiles {
175  public:
180  MapFiles(QString output = QString());
184  ~MapFiles();
190  QList<FileItem> files(QString file);
197  FileItem fileItem(QString dir, QString name);
204  void setFileItem(FileItem it, QString dir, QString name);
210  void addFiles(QString dir, bool init = true);
215  void clearFiles(QString dir);
220  void setFiles(QString dir);
224  void clearAllFiles();
228  void setAllFiles();
232  void clear();
237  void removeFiles(QString dir);
242  QMap<QString, QList<FileItem>> map() { return *_files; };
243 
244  private:
245  void _changeFiles(QString file, bool st);
246  QMap<QString, QList<FileItem>> *_files;
247  QString _output;
248 };
249 
250 #endif /* TREEITEM_H_ */
TreeItem::childCount
int childCount() const
Definition: treeitem.cpp:44
MapFiles::setAllFiles
void setAllFiles()
Definition: treeitem.cpp:207
FileItem::impulses
bool impulses
Definition: treeitem.hpp:160
TreeItem::childItems
QList< TreeItem * > childItems
Definition: treeitem.hpp:129
TreeItem
Definition: treeitem.hpp:30
FileItem::out
QString out
Definition: treeitem.hpp:168
MapFiles::fileItem
FileItem fileItem(QString dir, QString name)
Definition: treeitem.cpp:170
MapFiles::_output
QString _output
Definition: treeitem.hpp:247
FileItem::plot
bool plot
Definition: treeitem.hpp:156
FileItem::lines
bool lines
Definition: treeitem.hpp:148
TreeItem::setData
bool setData(int column, const QVariant &value)
Definition: treeitem.cpp:95
TreeItem::columnCount
int columnCount() const
Definition: treeitem.cpp:52
TreeItem::removeChildren
bool removeChildren(int position, int count)
Definition: treeitem.cpp:79
TreeItem::~TreeItem
~TreeItem()
Definition: treeitem.cpp:40
MapFiles::~MapFiles
~MapFiles()
Definition: treeitem.cpp:141
MapFiles::addFiles
void addFiles(QString dir, bool init=true)
Definition: treeitem.cpp:147
MapFiles::MapFiles
MapFiles(QString output=QString())
Definition: treeitem.cpp:135
MapFiles
Definition: treeitem.hpp:174
FileItem::variable
QString variable
Definition: treeitem.hpp:164
MapFiles::clearAllFiles
void clearAllFiles()
Definition: treeitem.cpp:199
TreeItem::removeColumns
bool removeColumns(int position, int columns)
Definition: treeitem.cpp:86
TreeItem::childNumber
int childNumber() const
Definition: treeitem.cpp:46
FileItem
Definition: treeitem.hpp:120
MapFiles::setFileItem
void setFileItem(FileItem it, QString dir, QString name)
Definition: treeitem.cpp:180
TreeItem::TreeItem
TreeItem(const QVector< QVariant > &data, TreeItem *parent=0)
Definition: treeitem.cpp:34
FileItem::~FileItem
~FileItem()
Definition: treeitem.cpp:133
TreeItem::parent
TreeItem * parent()
Definition: treeitem.cpp:77
MapFiles::removeFiles
void removeFiles(QString dir)
Definition: treeitem.cpp:160
TreeItem::insertChildren
bool insertChildren(int position, int count, int columns)
Definition: treeitem.cpp:56
MapFiles::files
QList< FileItem > files(QString file)
Definition: treeitem.cpp:143
FileItem::plotStr
QString plotStr()
Definition: treeitem.cpp:121
MapFiles::setFiles
void setFiles(QString dir)
Definition: treeitem.cpp:168
TreeItem::itemData
QVector< QVariant > itemData
Definition: treeitem.hpp:130
TreeItem::insertColumns
bool insertColumns(int position, int columns)
Definition: treeitem.cpp:67
MapFiles::_changeFiles
void _changeFiles(QString file, bool st)
Definition: treeitem.cpp:188
MapFiles::map
QMap< QString, QList< FileItem > > map()
Definition: treeitem.hpp:242
MapFiles::_files
QMap< QString, QList< FileItem > > * _files
Definition: treeitem.hpp:246
TreeItem::data
QVariant data(int column) const
Definition: treeitem.cpp:54
TreeItem::child
TreeItem * child(int number)
Definition: treeitem.cpp:42
FileItem::FileItem
FileItem()
Definition: treeitem.cpp:112
FileItem::steps
bool steps
Definition: treeitem.hpp:152
TreeItem::parentItem
TreeItem * parentItem
Definition: treeitem.hpp:131
MapFiles::clear
void clear()
Definition: treeitem.cpp:145
MapFiles::clearFiles
void clearFiles(QString dir)
Definition: treeitem.cpp:166