1 /****************************************************************************
2 * MeshLab                                                           o o     *
3 * A versatile mesh processing toolbox                             o     o   *
4 *                                                                _   O  _   *
5 * Copyright(C) 2005                                                \/)\/    *
6 * Visual Computing Lab                                            /\/|      *
7 * ISTI - Italian National Research Council                           |      *
8 *                                                                    \      *
9 * All rights reserved.                                                      *
10 *                                                                           *
11 * This program is free software; you can redistribute it and/or modify      *
12 * it under the terms of the GNU General Public License as published by      *
13 * the Free Software Foundation; either version 2 of the License, or         *
14 * (at your option) any later version.                                       *
15 *                                                                           *
16 * This program is distributed in the hope that it will be useful,           *
17 * but WITHOUT ANY WARRANTY; without even the implied warranty of            *
18 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the             *
19 * GNU General Public License (http://www.gnu.org/licenses/gpl.txt)          *
20 * for more details.                                                         *
21 *                                                                           *
22 ****************************************************************************/
23 #ifndef FILTER_SCRIPT_DIALOG_H
24 #define FILTER_SCRIPT_DIALOG_H
25 
26 #include <QDialog>
27 #include "../common/filterscript.h"
28 
29 namespace Ui
30 {
31 	class scriptDialog;
32 	class scriptEditor;
33 }
34 
35 class FilterScriptDialog : public QDialog
36 {
37 Q_OBJECT
38 public:
39 	FilterScriptDialog(QWidget *parent = 0);
40 	~FilterScriptDialog();
41   void setScript(FilterScript *scr);
42 
43 private slots:
44 	//will do all things that need to be done before the script runs then trigger the running of the script
45 	//specifically with the PARMESH type we need to to set the mesh pointer based on the int given
46 	void applyScript();
47 
48 	void clearScript();
49 	void saveScript();
50 	void openScript();
51 
52 	//moves the filter selected in scriptListWidget up in the script
53 	void moveSelectedFilterUp();
54 
55 	//moves the filter selected in scriptListWidget down in the script
56 	void moveSelectedFilterDown();
57 
58 	//removes the selected filter from the script
59 	void removeSelectedFilter();
60 
61 	//edit the parameters of the selected filter
62 	void editSelectedFilterParameters();
63 
64 private:
65 	Ui::scriptDialog* ui;
66   FilterScript *scriptPtr;
67 
68   void editOldParameters(const int row);
69   void editXMLParameters(const int row);
70 
71 };
72 
73 #endif