File indexing completed on 2024-12-22 04:17:32

0001 /***************************************************************************
0002  *                                                                         *
0003  *   copyright : (C) 2016 C. Barth Netterfield                             *
0004  *                   netterfield@astro.utoronto.ca                         *
0005  *                                                                         *
0006  *   This program is free software; you can redistribute it and/or modify  *
0007  *   it under the terms of the GNU General Public License as published by  *
0008  *   the Free Software Foundation; either version 2 of the License, or     *
0009  *   (at your option) any later version.                                   *
0010  *                                                                         *
0011  ***************************************************************************/
0012 
0013 /* this class can be used to apply a filter to many vectors */
0014 /* it will optionally replace the vectors in curves that use it */
0015 
0016 #ifndef FILTERMULTIPLEDIALOG_H
0017 #define FILTERMULTIPLEDIALOG_H
0018 
0019 #include "dataobject.h"
0020 
0021 #include <QDialog>
0022 #include <QGridLayout>
0023 
0024 namespace Ui {
0025 class FilterMultipleDialog;
0026 }
0027 
0028 class QListWidgetItem;
0029 
0030 namespace Kst {
0031 
0032 class ObjectStore;
0033 
0034 class FilterMultipleDialog : public QDialog
0035 {
0036   Q_OBJECT
0037 
0038 public:
0039   explicit FilterMultipleDialog(QWidget *parent = 0);
0040   ~FilterMultipleDialog();
0041 
0042   void updateVectorLists();
0043 
0044   virtual void show();
0045 
0046 Q_SIGNALS:
0047   void modified();
0048 
0049 private Q_SLOTS:
0050   void updateButtons();
0051 
0052   void addButtonClicked();
0053   void smartButtonClicked();
0054   void removeButtonClicked();
0055   void addAll();
0056   void removeAll();
0057 
0058   void availableDoubleClicked(QListWidgetItem * item);
0059   void selectedDoubleClicked(QListWidgetItem * item);
0060 
0061   void pluginChanged(QString plugin = QString());
0062 
0063   void OKClicked();
0064   void apply();
0065 
0066 private:
0067   Ui::FilterMultipleDialog *ui;
0068   DataObjectConfigWidget* _configWidget;
0069   QGridLayout* _layout;
0070   ObjectStore *_store;
0071 
0072 
0073 };
0074 
0075 }
0076 #endif // FILTERMULTIPLEDIALOG_H
0077 
0078 // vim: ts=2 sw=2 et
0079