diff widgets/PluginParameterDialog.h @ 163:dd6dd983e8ef

* Tidy up plugin parameter dialog by switching it to a simple constructor with separate methods for passing in the additional options if necessary * Fix sizing problem on advanced pane toggle in plugin parameter dialog * Make a start on passing in list of candidate input models for transform
author Chris Cannam
date Wed, 11 Oct 2006 16:18:51 +0000
parents 8c730f49b9b3
children 11949d0b2739
line wrap: on
line diff
--- a/widgets/PluginParameterDialog.h	Tue Oct 10 19:04:57 2006 +0000
+++ b/widgets/PluginParameterDialog.h	Wed Oct 11 16:18:51 2006 +0000
@@ -24,6 +24,8 @@
 class PluginParameterBox;
 class QWidget;
 class QPushButton;
+class QLabel;
+class QGroupBox;
 
 /**
  * A dialog for editing the parameters of a given plugin, using a
@@ -38,16 +40,18 @@
     Q_OBJECT
     
 public:
-    PluginParameterDialog(Vamp::PluginBase *,
-                          int sourceChannels,
-                          int targetChannels,
-                          int defaultChannel,
-                          QString output = "",
-                          bool showWindowSize = false,
-                          bool showFrequencyDomainOptions = false,
-                          QWidget *parent = 0);
+    PluginParameterDialog(Vamp::PluginBase *, QWidget *parent = 0);
     ~PluginParameterDialog();
 
+    void setChannelArrangement(int sourceChannels,
+                               int targetChannels,
+                               int defaultChannel);
+
+    void setOutputLabel(QString output);
+
+    void setShowProcessingOptions(bool showWindowSize,
+                                  bool showFrequencyDomainOptions);
+
     Vamp::PluginBase *getPlugin() { return m_plugin; }
 
     int getChannel() const { return m_channel; }
@@ -67,16 +71,28 @@
     void incrementComboChanged(const QString &);
     void windowTypeChanged(WindowType type);
     void advancedToggled();
+    void setAdvancedVisible(bool);
 
 protected:
     Vamp::PluginBase *m_plugin;
+
     int m_channel;
     size_t m_stepSize;
     size_t m_blockSize;
+
     WindowType m_windowType;
     PluginParameterBox *m_parameterBox;
+
+    QLabel *m_outputLabel;
+    QLabel *m_outputValue;
+    QGroupBox *m_channelBox;
+    bool m_haveChannelBoxData;
+    QGroupBox *m_windowBox;
+    bool m_haveWindowBoxData;
+
     QPushButton *m_advancedButton;
     QWidget *m_advanced;
+    bool m_advancedVisible;
 };
 
 #endif