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