1 /****************************************************************************
2 * MeshLab                                                           o o     *
3 * A versatile mesh processing toolbox                             o     o   *
4 *                                                                _   O  _   *
5 * Copyright(C) 2005-2008                                           \/)\/    *
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 
24 
25 #ifndef EditSliceFactoryPLUGIN_H
26 #define EditSliceFactoryPLUGIN_H
27 
28 #include <common/interfaces.h>
29 
30 class EditSliceFactory : public QObject, public MeshEditInterfaceFactory
31 {
32 	Q_OBJECT
33 	MESHLAB_PLUGIN_IID_EXPORTER(MESH_EDIT_INTERFACE_FACTORY_IID)
34 	Q_INTERFACES(MeshEditInterfaceFactory)
35 
36 public:
37 	EditSliceFactory();
~EditSliceFactory()38 	virtual ~EditSliceFactory() { delete editSlice; }
39 
40 	//gets a list of actions available from this plugin
41 	virtual QList<QAction *> actions() const;
42 
43 	//get the edit tool for the given action
44 	virtual MeshEditInterface* getMeshEditInterface(QAction *);
45 
46 	//get the description for the given action
47     virtual QString getEditToolDescription(QAction *);
48 
49 private:
50 	QList <QAction *> actionList;
51 
52 	QAction *editSlice;
53 };
54 
55 #endif
56