add edit clear submenu/clear hard_edges, fix tessy gl segv, mask toolgui layout,...
[goodguy/cinelerra.git] / cinelerra-5.1 / cinelerra / pluginpopup.h
1
2 /*
3  * CINELERRA
4  * Copyright (C) 2008 Adam Williams <broadcast at earthling dot net>
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  * This program is distributed in the hope that it will be useful,
12  * but WITHOUT ANY WARRANTY; without even the implied warranty of
13  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14  * GNU General Public License for more details.
15  *
16  * You should have received a copy of the GNU General Public License
17  * along with this program; if not, write to the Free Software
18  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
19  *
20  */
21
22 #ifndef PLUGINPOPUP_H
23 #define PLUGINPOPUP_H
24
25 class PluginPopupChange;
26 class PluginPopupDetach;
27 class PluginPopupIn;
28 class PluginPopupOut;
29 class PluginPopupOn;
30 class PluginPopupShow;
31 class PluginPresets;
32
33 #include "guicast.h"
34 #include "mwindow.inc"
35 #include "mwindowgui.inc"
36 #include "plugin.inc"
37 #include "plugindialog.inc"
38 //#include "presets.inc"
39 //#include "presetsgui.inc"
40
41
42
43 class PluginPopup : public BC_PopupMenu
44 {
45 public:
46         PluginPopup(MWindow *mwindow, MWindowGUI *gui);
47         ~PluginPopup();
48
49         void create_objects();
50         int update(Plugin *plugin);
51
52         MWindow *mwindow;
53         MWindowGUI *gui;
54 // Acquired through the update command as the plugin currently being operated on
55         Plugin *plugin;
56
57
58 #if 0
59         PresetsThread *thread;
60 #endif
61
62
63
64
65
66
67         PluginPopupChange *change;
68         PluginPopupDetach *detach;
69         PluginPopupShow *show;
70         PluginPopupOn *on;
71         PluginPresets *presets;
72 };
73
74 class PluginPopupAttach : public BC_MenuItem
75 {
76 public:
77         PluginPopupAttach(MWindow *mwindow, PluginPopup *popup);
78         ~PluginPopupAttach();
79
80         int handle_event();
81
82         MWindow *mwindow;
83         PluginPopup *popup;
84         PluginDialogThread *dialog_thread;
85 };
86
87 class PluginPopupChange : public BC_MenuItem
88 {
89 public:
90    PluginPopupChange(MWindow *mwindow, PluginPopup *popup);
91    ~PluginPopupChange();
92
93    int handle_event();
94
95    MWindow *mwindow;
96    PluginPopup *popup;
97    PluginDialogThread *dialog_thread;
98 };
99
100
101 class PluginPopupDetach : public BC_MenuItem
102 {
103 public:
104         PluginPopupDetach(MWindow *mwindow, PluginPopup *popup);
105         ~PluginPopupDetach();
106
107         int handle_event();
108
109         MWindow *mwindow;
110         PluginPopup *popup;
111 };
112
113
114 class PluginPopupIn : public BC_MenuItem
115 {
116 public:
117         PluginPopupIn(MWindow *mwindow, PluginPopup *popup);
118         ~PluginPopupIn();
119
120         int handle_event();
121
122         MWindow *mwindow;
123         PluginPopup *popup;
124 };
125
126 class PluginPopupOut : public BC_MenuItem
127 {
128 public:
129         PluginPopupOut(MWindow *mwindow, PluginPopup *popup);
130         ~PluginPopupOut();
131
132         int handle_event();
133
134         MWindow *mwindow;
135         PluginPopup *popup;
136 };
137
138 class PluginPopupShow : public BC_MenuItem
139 {
140 public:
141         PluginPopupShow(MWindow *mwindow, PluginPopup *popup);
142         ~PluginPopupShow();
143
144         int handle_event();
145
146         MWindow *mwindow;
147         PluginPopup *popup;
148 };
149
150 class PluginPopupOn : public BC_MenuItem
151 {
152 public:
153         PluginPopupOn(MWindow *mwindow, PluginPopup *popup);
154         ~PluginPopupOn();
155
156         int handle_event();
157
158         MWindow *mwindow;
159         PluginPopup *popup;
160 };
161
162 class PluginPopupUp : public BC_MenuItem
163 {
164 public:
165         PluginPopupUp(MWindow *mwindow, PluginPopup *popup);
166         int handle_event();
167         MWindow *mwindow;
168         PluginPopup *popup;
169 };
170
171 class PluginPopupDown : public BC_MenuItem
172 {
173 public:
174         PluginPopupDown(MWindow *mwindow, PluginPopup *popup);
175         int handle_event();
176         MWindow *mwindow;
177         PluginPopup *popup;
178 };
179
180 class PluginPresets : public BC_MenuItem
181 {
182 public:
183         PluginPresets(MWindow *mwindow, PluginPopup *popup);
184         int handle_event();
185         MWindow *mwindow;
186         PluginPopup *popup;
187 };
188
189 #endif