Entropy Piano Tuner  1.1.3 (documentation not yet complete)
An open-source experimental software for piano tuning by entropy minimization
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
algorithmdialog.h
Go to the documentation of this file.
1 /*****************************************************************************
2  * Copyright 2015 Haye Hinrichsen, Christoph Wick
3  *
4  * This file is part of Entropy Piano Tuner.
5  *
6  * Entropy Piano Tuner is free software: you can redistribute it and/or modify
7  * it under the terms of the GNU General Public License as published by the
8  * Free Software Foundation, either version 3 of the License, or (at your
9  * option) any later version.
10  *
11  * Entropy Piano Tuner is distributed in the hope that it will be useful, but
12  * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
13  * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
14  * more details.
15  *
16  * You should have received a copy of the GNU General Public License along with
17  * Entropy Piano Tuner. If not, see http://www.gnu.org/licenses/.
18  *****************************************************************************/
19 
20 #ifndef ALGORITHMDIALOG_H
21 #define ALGORITHMDIALOG_H
22 
23 #include <QDialog>
24 #include <QStringList>
25 #include <QList>
26 #include <QPair>
27 #include <QScrollArea>
28 #include <QComboBox>
29 #include <memory>
30 
32 
33 class AlgorithmParameter;
35 
36 class AlgorithmDialog : public QDialog
37 {
38  Q_OBJECT
39 public:
40  AlgorithmDialog(std::shared_ptr<const AlgorithmInformation> currentAlgorithm, QWidget *parent);
41 
42  std::shared_ptr<const AlgorithmInformation> getAlgorithmInformation() const {return mCurrentAlgorithmInformation;}
43 private:
44  void acceptCurrent();
45 
46 private slots:
47  void algorithmSelectionChanged(int index);
48  void accept() override;
49 
50 private:
51  using AlgorithmIdList = QList<QPair<QString, QString>>;
53 
54  using AlgorithmWidgetConnectionList = QList<QPair<std::string, QWidget*>>;
56 
58  std::shared_ptr<const AlgorithmInformation> mCurrentAlgorithmInformation;
59  QComboBox *mAlgorithmSelection = nullptr;
60  QScrollArea *mAlgorithmDescriptionScrollArea = nullptr;
61 };
62 
63 #endif // ALGORITHMDIALOG_H
void accept() override
QComboBox * mAlgorithmSelection
AlgorithmDialog(std::shared_ptr< const AlgorithmInformation > currentAlgorithm, QWidget *parent)
std::shared_ptr< const AlgorithmInformation > mCurrentAlgorithmInformation
static AlgorithmIdList mAlgorithmNames
AlgorithmWidgetConnectionList mAlgorithmWidgetConnectionList
QList< QPair< std::string, QWidget * >> AlgorithmWidgetConnectionList
QList< QPair< QString, QString >> AlgorithmIdList
AlgorithmFactoryDescription * mCurrentFactoryDescription
QScrollArea * mAlgorithmDescriptionScrollArea
void algorithmSelectionChanged(int index)
std::shared_ptr< const AlgorithmInformation > getAlgorithmInformation() const