add stacked edl editing, add sketcher/vframe line anti-aliasing
[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         ClipPopupView *view;
58         ClipPopupViewWindow *view_window;
59         ClipPopupCopy *copy;
60         ClipPopupToMedia *to_media;
61         ClipPopupPaste *paste;
62 };
63
64 class ClipPopupInfo : public BC_MenuItem
65 {
66 public:
67         ClipPopupInfo(MWindow *mwindow, ClipPopup *popup);
68         ~ClipPopupInfo();
69
70         int handle_event();
71         int button_press_event();
72
73         MWindow *mwindow;
74         ClipPopup *popup;
75 };
76
77 class ClipPopupSort : public BC_MenuItem
78 {
79 public:
80         ClipPopupSort(MWindow *mwindow, ClipPopup *popup);
81         ~ClipPopupSort();
82
83         int handle_event();
84
85         MWindow *mwindow;
86         ClipPopup *popup;
87 };
88
89 class ClipPopupView : public BC_MenuItem
90 {
91 public:
92         ClipPopupView(MWindow *mwindow, ClipPopup *popup);
93         ~ClipPopupView();
94
95         int handle_event();
96
97         MWindow *mwindow;
98         ClipPopup *popup;
99 };
100
101
102 class ClipPopupViewWindow : public BC_MenuItem
103 {
104 public:
105         ClipPopupViewWindow(MWindow *mwindow, ClipPopup *popup);
106         ~ClipPopupViewWindow();
107
108         int handle_event();
109
110         MWindow *mwindow;
111         ClipPopup *popup;
112 };
113
114 class ClipPopupCopy : public BC_MenuItem
115 {
116 public:
117         ClipPopupCopy(MWindow *mwindow, ClipPopup *popup);
118         ~ClipPopupCopy();
119
120         int handle_event();
121
122         MWindow *mwindow;
123         ClipPopup *popup;
124 };
125
126 class ClipPopupPaste : public BC_MenuItem
127 {
128 public:
129         ClipPopupPaste(MWindow *mwindow, ClipPopup *popup);
130         ~ClipPopupPaste();
131
132         int handle_event();
133
134         MWindow *mwindow;
135         ClipPopup *popup;
136 };
137
138 class ClipMatchSize : public BC_MenuItem
139 {
140 public:
141         ClipMatchSize(MWindow *mwindow, ClipPopup *popup);
142
143         int handle_event();
144
145         MWindow *mwindow;
146         ClipPopup *popup;
147 };
148
149 class ClipMatchRate : public BC_MenuItem
150 {
151 public:
152         ClipMatchRate(MWindow *mwindow, ClipPopup *popup);
153
154         int handle_event();
155
156         MWindow *mwindow;
157         ClipPopup *popup;
158 };
159
160 class ClipMatchAll : public BC_MenuItem
161 {
162 public:
163         ClipMatchAll(MWindow *mwindow, ClipPopup *popup);
164
165         int handle_event();
166
167         MWindow *mwindow;
168         ClipPopup *popup;
169 };
170
171 class ClipPopupDelete : public BC_MenuItem
172 {
173 public:
174         ClipPopupDelete(MWindow *mwindow, ClipPopup *popup);
175         ~ClipPopupDelete();
176
177         int handle_event();
178
179         MWindow *mwindow;
180         ClipPopup *popup;
181 };
182
183
184 class ClipPasteToFolder : public BC_MenuItem
185 {
186 public:
187         ClipPasteToFolder(MWindow *mwindow);
188
189         int handle_event();
190         MWindow *mwindow;
191 };
192
193 class ClipListFormat : public BC_MenuItem
194 {
195 public:
196         ClipListFormat(MWindow *mwindow, ClipListMenu *menu);
197
198         int handle_event();
199         MWindow *mwindow;
200         ClipListMenu *menu;
201 };
202
203 class ClipListMenu : public BC_PopupMenu
204 {
205 public:
206         ClipListMenu(MWindow *mwindow, AWindowGUI *gui);
207         ~ClipListMenu();
208
209         void create_objects();
210         void update();
211         AWindowListFormat *format;
212         MWindow *mwindow;
213         AWindowGUI *gui;
214 };
215
216 class ClipPopupToMedia : public BC_MenuItem
217 {
218 public:
219         ClipPopupToMedia(MWindow *mwindow, ClipPopup *popup);
220         ~ClipPopupToMedia();
221
222         int handle_event();
223
224         MWindow *mwindow;
225         ClipPopup *popup;
226 };
227
228 class ClipPopupOpenEDL : public BC_MenuItem
229 {
230 public:
231         ClipPopupOpenEDL(MWindow *mwindow, ClipPopup *popup);
232         ~ClipPopupOpenEDL();
233
234         int handle_event();
235
236         MWindow *mwindow;
237         ClipPopup *popup;
238 };
239
240 #endif