Credit Andrew fix Alpha Bug of BT558 + small cleanup
[goodguy/cinelerra.git] / cinelerra-5.1 / cinelerra / clippopup.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 CLIPPOPUP_H
23 #define CLIPPOPUP_H
24
25 #include "assetedit.inc"
26 #include "awindowgui.inc"
27 #include "clippopup.inc"
28 #include "edl.inc"
29 #include "guicast.h"
30 #include "assets.inc"
31 #include "mwindow.inc"
32
33
34
35 class ClipPopup : public BC_PopupMenu
36 {
37 public:
38         ClipPopup(MWindow *mwindow, AWindowGUI *gui);
39         ~ClipPopup();
40
41         void create_objects();
42 // Set mainsession with the current selections
43         int update();
44         void paste_assets();
45         void match_size();
46         void match_rate();
47         void match_all();
48
49         MWindow *mwindow;
50         AWindowGUI *gui;
51
52
53         ClipPopupInfo *info;
54         AWindowListFormat *format;
55         ClipPopupSort *sort;
56         ClipPopupOpenEDL *open_edl;
57         ClipPopupCloseEDL *close_edl;
58         ClipPopupView *view;
59         ClipPopupViewWindow *view_window;
60         ClipPopupCopy *copy;
61         ClipPopupToMedia *to_media;
62         ClipPopupPaste *paste;
63 };
64
65 class ClipPopupInfo : public BC_MenuItem
66 {
67 public:
68         ClipPopupInfo(MWindow *mwindow, ClipPopup *popup);
69         ~ClipPopupInfo();
70
71         int handle_event();
72         int button_press_event();
73
74         MWindow *mwindow;
75         ClipPopup *popup;
76 };
77
78 class ClipPopupSort : public BC_MenuItem
79 {
80 public:
81         ClipPopupSort(MWindow *mwindow, ClipPopup *popup);
82         ~ClipPopupSort();
83
84         int handle_event();
85
86         MWindow *mwindow;
87         ClipPopup *popup;
88 };
89
90 class ClipPopupView : public BC_MenuItem
91 {
92 public:
93         ClipPopupView(MWindow *mwindow, ClipPopup *popup);
94         ~ClipPopupView();
95
96         int handle_event();
97
98         MWindow *mwindow;
99         ClipPopup *popup;
100 };
101
102
103 class ClipPopupViewWindow : public BC_MenuItem
104 {
105 public:
106         ClipPopupViewWindow(MWindow *mwindow, ClipPopup *popup);
107         ~ClipPopupViewWindow();
108
109         int handle_event();
110
111         MWindow *mwindow;
112         ClipPopup *popup;
113 };
114
115 class ClipPopupCopy : public BC_MenuItem
116 {
117 public:
118         ClipPopupCopy(MWindow *mwindow, ClipPopup *popup);
119         ~ClipPopupCopy();
120
121         int handle_event();
122
123         MWindow *mwindow;
124         ClipPopup *popup;
125 };
126
127 class ClipPopupPaste : public BC_MenuItem
128 {
129 public:
130         ClipPopupPaste(MWindow *mwindow, ClipPopup *popup);
131         ~ClipPopupPaste();
132
133         int handle_event();
134
135         MWindow *mwindow;
136         ClipPopup *popup;
137 };
138
139 class ClipMatchSize : public BC_MenuItem
140 {
141 public:
142         ClipMatchSize(MWindow *mwindow, ClipPopup *popup);
143
144         int handle_event();
145
146         MWindow *mwindow;
147         ClipPopup *popup;
148 };
149
150 class ClipMatchRate : public BC_MenuItem
151 {
152 public:
153         ClipMatchRate(MWindow *mwindow, ClipPopup *popup);
154
155         int handle_event();
156
157         MWindow *mwindow;
158         ClipPopup *popup;
159 };
160
161 class ClipMatchAll : public BC_MenuItem
162 {
163 public:
164         ClipMatchAll(MWindow *mwindow, ClipPopup *popup);
165
166         int handle_event();
167
168         MWindow *mwindow;
169         ClipPopup *popup;
170 };
171
172 class ClipPopupDelete : public BC_MenuItem
173 {
174 public:
175         ClipPopupDelete(MWindow *mwindow, ClipPopup *popup);
176         ~ClipPopupDelete();
177
178         int handle_event();
179
180         MWindow *mwindow;
181         ClipPopup *popup;
182 };
183
184
185 class ClipPasteToFolder : public BC_MenuItem
186 {
187 public:
188         ClipPasteToFolder(MWindow *mwindow);
189
190         int handle_event();
191         MWindow *mwindow;
192 };
193
194 class ClipListFormat : public BC_MenuItem
195 {
196 public:
197         ClipListFormat(MWindow *mwindow, ClipListMenu *menu);
198
199         int handle_event();
200         MWindow *mwindow;
201         ClipListMenu *menu;
202 };
203
204 class ClipListMenu : public BC_PopupMenu
205 {
206 public:
207         ClipListMenu(MWindow *mwindow, AWindowGUI *gui);
208         ~ClipListMenu();
209
210         void create_objects();
211         void update();
212         AWindowListFormat *format;
213         ClipPopupCloseEDL *close_edl;
214         MWindow *mwindow;
215         AWindowGUI *gui;
216 };
217
218 class ClipPopupToMedia : public BC_MenuItem
219 {
220 public:
221         ClipPopupToMedia(MWindow *mwindow, ClipPopup *popup);
222         ~ClipPopupToMedia();
223
224         int handle_event();
225
226         MWindow *mwindow;
227         ClipPopup *popup;
228 };
229
230 class ClipPopupOpenEDL : public BC_MenuItem
231 {
232 public:
233         ClipPopupOpenEDL(MWindow *mwindow, ClipPopup *popup);
234         ~ClipPopupOpenEDL();
235
236         int handle_event();
237
238         MWindow *mwindow;
239         ClipPopup *popup;
240 };
241
242 class ClipPopupCloseEDL : public BC_MenuItem
243 {
244 public:
245         ClipPopupCloseEDL(MWindow *mwindow, AWindowGUI *gui);
246         ~ClipPopupCloseEDL();
247
248         int handle_event();
249
250         MWindow *mwindow;
251         AWindowGUI *gui;
252 };
253
254 #endif