1 /*************************************************************************** 2 * * 3 * copyright : (C) 2016 C. Barth Netterfield * 4 * netterfield@astro.utoronto.ca * 5 * * 6 * This program is free software; you can redistribute it and/or modify * 7 * it under the terms of the GNU General Public License as published by * 8 * the Free Software Foundation; either version 2 of the License, or * 9 * (at your option) any later version. * 10 * * 11 ***************************************************************************/ 12 13 /* this class can be used to apply a filter to many vectors */ 14 /* it will optionally replace the vectors in curves that use it */ 15 16 #ifndef FILTERMULTIPLEDIALOG_H 17 #define FILTERMULTIPLEDIALOG_H 18 19 #include "dataobject.h" 20 21 #include <QDialog> 22 #include <QGridLayout> 23 24 namespace Ui { 25 class FilterMultipleDialog; 26 } 27 28 class QListWidgetItem; 29 30 namespace Kst { 31 32 class ObjectStore; 33 34 class FilterMultipleDialog : public QDialog 35 { 36 Q_OBJECT 37 38 public: 39 explicit FilterMultipleDialog(QWidget *parent = 0); 40 ~FilterMultipleDialog(); 41 42 void updateVectorLists(); 43 44 virtual void show(); 45 46 Q_SIGNALS: 47 void modified(); 48 49 private Q_SLOTS: 50 void updateButtons(); 51 52 void addButtonClicked(); 53 void smartButtonClicked(); 54 void removeButtonClicked(); 55 void addAll(); 56 void removeAll(); 57 58 void availableDoubleClicked(QListWidgetItem * item); 59 void selectedDoubleClicked(QListWidgetItem * item); 60 61 void pluginChanged(QString plugin = QString()); 62 63 void OKClicked(); 64 void apply(); 65 66 private: 67 Ui::FilterMultipleDialog *ui; 68 DataObjectConfigWidget* _configWidget; 69 QGridLayout* _layout; 70 ObjectStore *_store; 71 72 73 }; 74 75 } 76 #endif // FILTERMULTIPLEDIALOG_H 77 78 // vim: ts=2 sw=2 et 79 80