FotoSHOCK
Main Page
Related Pages
Namespaces
Classes
Files
Examples
File List
All
Classes
Namespaces
Functions
Variables
Typedefs
Enumerations
Enumerator
Pages
src
fotoshock
operations
FotoSHOCKOperation.h
1
/*
2
* Copyright 2011, 2012 Lukas Jirkovsky
3
*
4
* This file is part of FotoSHOCK.
5
*
6
* FotoSHOCK 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, version 3 of the License.
9
*
10
* FotoSHOCK is distributed in the hope that it will be useful,
11
* but WITHOUT ANY WARRANTY; without even the implied warranty of
12
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13
* GNU General Public License for more details.
14
*
15
* You should have received a copy of the GNU General Public License
16
* along with FotoSHOCK. If not, see <http://www.gnu.org/licenses/>.
17
*/
18
19
#ifndef FOTOSHOCKOPERATION_H
20
#define FOTOSHOCKOPERATION_H
21
22
#include <ImageOperation.hpp>
23
#include <GraphNode.hpp>
24
25
class
QDialog;
26
class
QWidget;
27
28
/* the operation also have to provide the following functions:
29
* - register()
30
* - EXPORTSHARED FotoSHOCKOperation* createObject()
31
* - EXPORTSHARED void destroyObject(FotoSHOCKOperation *object)
32
*/
33
34
class
IFotoSHOCKOperation
{
35
public
:
37
50
virtual
QDialog*
getUI
(QWidget* parent = 0) = 0;
51
};
52
53
inline
QDialog* getUI(
FotoSHOCKcore::GraphNode
* node, QWidget* parent = 0) {
54
IFotoSHOCKOperation
* op =
dynamic_cast<
IFotoSHOCKOperation
*
>
(node->
operation
());
55
if
(op) {
56
return
op->
getUI
(parent);
57
}
58
return
0;
59
}
60
61
#endif
Generated on Sat Jun 29 2013 14:25:18 for FotoSHOCK by
1.8.4