exec bits, desktop icon props, noexecstack, attach transitions to selected edits...
[goodguy/cinelerra.git] / cinelerra-5.1 / cinelerra / editpopup.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 EDITPOPUP_H
23 #define EDITPOPUP_H
24
25 #include "guicast.h"
26 #include "edit.inc"
27 #include "editpopup.inc"
28 #include "mwindow.inc"
29 #include "mwindowgui.inc"
30 #include "plugin.inc"
31 #include "pluginset.inc"
32 #include "plugindialog.inc"
33 #include "resizetrackthread.inc"
34 #include "track.inc"
35
36 class EditPopup : public BC_PopupMenu
37 {
38 public:
39         EditPopup(MWindow *mwindow, MWindowGUI *gui);
40         ~EditPopup();
41
42         void create_objects();
43         int activate_menu(Track *track, Edit *edit,
44                 PluginSet *pluginset, Plugin *plugin, double position);
45
46         MWindow *mwindow;
47         MWindowGUI *gui;
48         Track *track;
49         Edit *edit;
50         Plugin *plugin;
51         PluginSet *pluginset;
52         double position;
53 };
54
55 class EditPopupClearSelect : public BC_MenuItem
56 {
57 public:
58         EditPopupClearSelect(MWindow *mwindow, EditPopup *popup);
59         int handle_event();
60
61         MWindow *mwindow;
62         EditPopup *popup;
63 };
64
65 class EditPopupCopy : public BC_MenuItem
66 {
67 public:
68         EditPopupCopy(MWindow *mwindow, EditPopup *popup);
69         int handle_event();
70
71         MWindow *mwindow;
72         EditPopup *popup;
73 };
74
75 class EditPopupCopyPack : public BC_MenuItem
76 {
77 public:
78         EditPopupCopyPack(MWindow *mwindow, EditPopup *popup);
79         int handle_event();
80
81         MWindow *mwindow;
82         EditPopup *popup;
83 };
84
85 class EditPopupCut : public BC_MenuItem
86 {
87 public:
88         EditPopupCut(MWindow *mwindow, EditPopup *popup);
89         int handle_event();
90
91         MWindow *mwindow;
92         EditPopup *popup;
93 };
94
95 class EditPopupCutPack : public BC_MenuItem
96 {
97 public:
98         EditPopupCutPack(MWindow *mwindow, EditPopup *popup);
99         int handle_event();
100
101         MWindow *mwindow;
102         EditPopup *popup;
103 };
104
105 class EditPopupMute : public BC_MenuItem
106 {
107 public:
108         EditPopupMute(MWindow *mwindow, EditPopup *popup);
109         int handle_event();
110
111         MWindow *mwindow;
112         EditPopup *popup;
113 };
114
115 class EditPopupMutePack : public BC_MenuItem
116 {
117 public:
118         EditPopupMutePack(MWindow *mwindow, EditPopup *popup);
119         int handle_event();
120
121         MWindow *mwindow;
122         EditPopup *popup;
123 };
124
125 class EditPopupPaste : public BC_MenuItem
126 {
127 public:
128         EditPopupPaste(MWindow *mwindow, EditPopup *popup);
129         int handle_event();
130
131         MWindow *mwindow;
132         EditPopup *popup;
133 };
134
135 class EditPopupOverwrite : public BC_MenuItem
136 {
137 public:
138         EditPopupOverwrite(MWindow *mwindow, EditPopup *popup);
139         int handle_event();
140
141         MWindow *mwindow;
142         EditPopup *popup;
143 };
144
145 class EditPopupFindAsset : public BC_MenuItem
146 {
147 public:
148         EditPopupFindAsset(MWindow *mwindow, EditPopup *popup);
149         int handle_event();
150         MWindow *mwindow;
151         EditPopup *popup;
152 };
153
154 class EditPopupTitle : public BC_MenuItem
155 {
156 public:
157         EditPopupTitle(MWindow *mwindow, EditPopup *popup);
158         ~EditPopupTitle();
159
160         int handle_event();
161
162         MWindow *mwindow;
163         EditPopup *popup;
164         EditTitleDialogThread *dialog_thread;
165 };
166
167 class EditTitleDialogThread : public BC_DialogThread
168 {
169 public:
170         EditTitleDialogThread(EditPopupTitle *edit_title);
171         ~EditTitleDialogThread();
172         BC_Window* new_gui();
173         void start(int wx, int wy);
174         void handle_close_event(int result);
175         void handle_done_event(int result);
176
177         int wx, wy;
178         EditPopupTitle *edit_title;
179         EditPopupTitleWindow *window;
180 };
181
182 class EditPopupTitleText : public BC_TextBox
183 {
184 public:
185         EditPopupTitleText(EditPopupTitleWindow *window,
186                 MWindow *mwindow, int x, int y, const char *text);
187         ~EditPopupTitleText();
188         int handle_event();
189
190         MWindow *mwindow;
191         EditPopupTitleWindow *window;
192 };
193
194 class EditPopupTitleWindow : public BC_Window
195 {
196 public:
197         EditPopupTitleWindow(MWindow *mwindow, EditPopup *popup, int wx, int wy);
198         ~EditPopupTitleWindow();
199
200         void create_objects();
201         void handle_close_event(int result);
202
203         EditPopupTitleText *title_text;
204         MWindow *mwindow;
205         EditPopup *popup;
206         char new_text[BCTEXTLEN];
207 };
208
209
210 class EditPopupShow : public BC_MenuItem
211 {
212 public:
213         EditPopupShow(MWindow *mwindow, EditPopup *popup);
214         ~EditPopupShow();
215
216         int handle_event();
217
218         MWindow *mwindow;
219         EditPopup *popup;
220         EditShowDialogThread *dialog_thread;
221 };
222
223 class EditShowDialogThread : public BC_DialogThread
224 {
225 public:
226         EditShowDialogThread(EditPopupShow *edit_show);
227         ~EditShowDialogThread();
228         BC_Window* new_gui();
229         void start(int wx, int wy);
230         void handle_close_event(int result);
231
232         int wx, wy;
233         EditPopupShow *edit_show;
234         EditPopupShowWindow *window;
235 };
236
237 class EditPopupShowText : public BC_TextBox
238 {
239 public:
240         EditPopupShowText(EditPopupShowWindow *window,
241                 MWindow *mwindow, int x, int y, const char *text);
242         ~EditPopupShowText();
243
244         EditPopupShowWindow *window;
245         MWindow *mwindow;
246 };
247
248 class EditPopupShowWindow : public BC_Window
249 {
250 public:
251         EditPopupShowWindow(MWindow *mwindow, EditPopup *popup, int wx, int wy);
252         ~EditPopupShowWindow();
253
254         void create_objects();
255
256         EditPopupShowText *show_text;
257         MWindow *mwindow;
258         EditPopup *popup;
259 };
260
261 #endif