itom  4.1.0
abstractFilterDialog.h
1 /* ********************************************************************
2  itom software
3  URL: http://www.uni-stuttgart.de/ito
4  Copyright (C) 2020, Institut fuer Technische Optik (ITO),
5  Universitaet Stuttgart, Germany
6 
7  This file is part of itom.
8 
9  itom is free software; you can redistribute it and/or modify it
10  under the terms of the GNU Library General Public Licence as published by
11  the Free Software Foundation; either version 2 of the Licence, or (at
12  your option) any later version.
13 
14  itom is distributed in the hope that it will be useful, but
15  WITHOUT ANY WARRANTY; without even the implied warranty of
16  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library
17  General Public Licence for more details.
18 
19  You should have received a copy of the GNU Library General Public License
20  along with itom. If not, see <http://www.gnu.org/licenses/>.
21 *********************************************************************** */
22 
23 #ifndef ABSTRACTFILTERDIALOG_H
24 #define ABSTRACTFILTERDIALOG_H
25 
26 #include "../global.h"
27 
28 #include <qdialog.h>
29 #include <qtreewidget.h>
30 
31 namespace ito {
32 
33 class AbstractFilterDialog : public QDialog
34 {
35  Q_OBJECT
36 
37 public:
38  AbstractFilterDialog(QVector<ito::ParamBase> &autoMand, QVector<ito::ParamBase> &autoOut, QWidget *parent = 0);
40 
41  inline QVector<ito::ParamBase> getAutoMand() const { return m_autoMand; }
42  inline QVector<ito::ParamBase> getAutoOut() const { return m_autoOut; }
43 
44 protected:
45  QVector<ito::ParamBase> m_autoMand; //mandatory parameters defined by Filter-Interface ito::AddInAlgo::tAlgoInterface
46  QVector<ito::ParamBase> m_autoOut; //output parameters defined by Filter-Interface ito::AddInAlgo::tAlgoInterface
47 
48  QList<QTreeWidgetItem*> renderAutoMandAndOutResult() const;
49  QTreeWidgetItem* renderParam( const ito::ParamBase &p ) const;
50 
51 private:
52  void presentResult();
53  void presentResultItem( const ito::ParamBase &p );
54 };
55 
56 } //end namespace ito
57 
58 #endif
Definition: apiFunctionsGraph.cpp:39
Definition: abstractFilterDialog.h:33
Definition: param.h:67