Merge branch 'ct' of git.pipapo.org:cinelerra-ct into ct
[cinelerra_cv/ct.git] / cinelerra / editpanel.h
blob340c7f47c5215a827f689a70db92370da213e589
1 #ifndef EDITPANEL_H
2 #define EDITPANEL_H
4 #include "guicast.h"
5 #include "meterpanel.inc"
6 #include "mwindow.inc"
7 #include "manualgoto.inc"
9 class EditPanel;
12 class EditInPoint : public BC_Button
14 public:
15 EditInPoint(MWindow *mwindow, EditPanel *panel, int x, int y);
16 ~EditInPoint();
17 int handle_event();
18 int keypress_event();
19 MWindow *mwindow;
20 EditPanel *panel;
23 class EditOutPoint : public BC_Button
25 public:
26 EditOutPoint(MWindow *mwindow, EditPanel *panel, int x, int y);
27 ~EditOutPoint();
28 int handle_event();
29 int keypress_event();
30 MWindow *mwindow;
31 EditPanel *panel;
34 class EditDelInPoint : public BC_Button
36 public:
37 EditDelInPoint(MWindow *mwindow, EditPanel *panel, int x, int y);
38 ~EditDelInPoint();
39 int handle_event();
40 int keypress_event();
41 MWindow *mwindow;
42 EditPanel *panel;
45 class EditDelOutPoint : public BC_Button
47 public:
48 EditDelOutPoint(MWindow *mwindow, EditPanel *panel, int x, int y);
49 ~EditDelOutPoint();
50 int handle_event();
51 int keypress_event();
52 MWindow *mwindow;
53 EditPanel *panel;
56 class EditSplice : public BC_Button
58 public:
59 EditSplice(MWindow *mwindow, EditPanel *panel, int x, int y);
60 ~EditSplice();
61 int handle_event();
62 int keypress_event();
63 MWindow *mwindow;
64 EditPanel *panel;
67 class EditOverwrite : public BC_Button
69 public:
70 EditOverwrite(MWindow *mwindow, EditPanel *panel, int x, int y);
71 ~EditOverwrite();
72 int handle_event();
73 int keypress_event();
74 MWindow *mwindow;
75 EditPanel *panel;
78 class EditLift : public BC_Button
80 public:
81 EditLift(MWindow *mwindow, EditPanel *panel, int x, int y);
82 ~EditLift();
83 int handle_event();
84 MWindow *mwindow;
85 EditPanel *panel;
88 class EditExtract : public BC_Button
90 public:
91 EditExtract(MWindow *mwindow, EditPanel *panel, int x, int y);
92 ~EditExtract();
93 int handle_event();
94 MWindow *mwindow;
95 EditPanel *panel;
98 class EditToClip : public BC_Button
100 public:
101 EditToClip(MWindow *mwindow, EditPanel *panel, int x, int y);
102 ~EditToClip();
103 int handle_event();
104 int keypress_event();
105 MWindow *mwindow;
106 EditPanel *panel;
109 class EditManualGoto : public BC_Button
111 public:
112 EditManualGoto(MWindow *mwindow, EditPanel *panel, int x, int y);
113 ~EditManualGoto();
114 int handle_event();
115 int keypress_event();
116 MWindow *mwindow;
117 EditPanel *panel;
118 ManualGoto *mangoto;
121 class EditCut : public BC_Button
123 public:
124 EditCut(MWindow *mwindow, EditPanel *panel, int x, int y);
125 ~EditCut();
127 int keypress_event();
128 int handle_event();
130 MWindow *mwindow;
131 EditPanel *panel;
134 class EditCopy : public BC_Button
136 public:
137 EditCopy(MWindow *mwindow, EditPanel *panel, int x, int y);
138 ~EditCopy();
140 int keypress_event();
141 int handle_event();
143 MWindow *mwindow;
144 EditPanel *panel;
147 class EditAppend : public BC_Button
149 public:
150 EditAppend(MWindow *mwindow, EditPanel *panel, int x, int y);
151 ~EditAppend();
153 int handle_event();
155 MWindow *mwindow;
156 EditPanel *panel;
159 class EditInsert : public BC_Button
161 public:
162 EditInsert(MWindow *mwindow, EditPanel *panel, int x, int y);
163 ~EditInsert();
165 int handle_event();
167 MWindow *mwindow;
168 EditPanel *panel;
171 class EditPaste : public BC_Button
173 public:
174 EditPaste(MWindow *mwindow, EditPanel *panel, int x, int y);
175 ~EditPaste();
177 int keypress_event();
178 int handle_event();
180 MWindow *mwindow;
181 EditPanel *panel;
184 class EditTransition : public BC_Button
186 public:
187 EditTransition(MWindow *mwindow, EditPanel *panel, int x, int y);
188 ~EditTransition();
189 int handle_event();
190 MWindow *mwindow;
191 EditPanel *panel;
194 class EditPresentation : public BC_Button
196 public:
197 EditPresentation(MWindow *mwindow, EditPanel *panel, int x, int y);
198 ~EditPresentation();
199 int handle_event();
200 MWindow *mwindow;
201 EditPanel *panel;
204 class EditUndo : public BC_Button
206 public:
207 EditUndo(MWindow *mwindow, EditPanel *panel, int x, int y);
208 ~EditUndo();
209 int keypress_event();
210 int handle_event();
211 MWindow *mwindow;
212 EditPanel *panel;
215 class EditRedo : public BC_Button
217 public:
218 EditRedo(MWindow *mwindow, EditPanel *panel, int x, int y);
219 ~EditRedo();
220 int keypress_event();
221 int handle_event();
222 MWindow *mwindow;
223 EditPanel *panel;
226 class EditLabelbutton : public BC_Button
228 public:
229 EditLabelbutton(MWindow *mwindow, EditPanel *panel, int x, int y);
230 ~EditLabelbutton();
231 int keypress_event();
232 int handle_event();
233 MWindow *mwindow;
234 EditPanel *panel;
237 class EditFit : public BC_Button
239 public:
240 EditFit(MWindow *mwindow, EditPanel *panel, int x, int y);
241 ~EditFit();
242 int keypress_event();
243 int handle_event();
244 MWindow *mwindow;
245 EditPanel *panel;
248 class EditFitAutos : public BC_Button
250 public:
251 EditFitAutos(MWindow *mwindow, EditPanel *panel, int x, int y);
252 ~EditFitAutos();
253 int keypress_event();
254 int handle_event();
255 MWindow *mwindow;
256 EditPanel *panel;
260 class EditPrevLabel : public BC_Button
262 public:
263 EditPrevLabel(MWindow *mwindow,
264 EditPanel *panel,
265 int x,
266 int y,
267 int is_mwindow);
268 ~EditPrevLabel();
270 int keypress_event();
271 int handle_event();
273 MWindow *mwindow;
274 EditPanel *panel;
275 int is_mwindow;
278 class EditNextLabel : public BC_Button
280 public:
281 EditNextLabel(MWindow *mwindow,
282 EditPanel *panel,
283 int x,
284 int y,
285 int is_mwindow);
286 ~EditNextLabel();
288 int keypress_event();
289 int handle_event();
291 MWindow *mwindow;
292 EditPanel *panel;
293 int is_mwindow;
297 class ArrowButton : public BC_Toggle
299 public:
300 ArrowButton(MWindow *mwindow, EditPanel *panel, int x, int y);
301 int handle_event();
302 MWindow *mwindow;
303 EditPanel *panel;
306 class IBeamButton : public BC_Toggle
308 public:
309 IBeamButton(MWindow *mwindow, EditPanel *panel, int x, int y);
310 int handle_event();
311 MWindow *mwindow;
312 EditPanel *panel;
315 class KeyFrameButton : public BC_Toggle
317 public:
318 KeyFrameButton(MWindow *mwindow, int x, int y);
319 int handle_event();
320 MWindow *mwindow;
323 class LockLabelsButton : public BC_Toggle
325 public:
326 LockLabelsButton(MWindow *mwindow, int x, int y);
327 int handle_event();
328 MWindow *mwindow;
332 class EditPanel
334 public:
335 EditPanel(MWindow *mwindow,
336 BC_WindowBase *subwindow,
337 int x,
338 int y,
339 int editing_mode, // From edl.inc
340 int use_editing_mode,
341 int use_keyframe,
342 int use_splice, // Extra buttons
343 int use_overwrite,
344 int use_lift,
345 int use_extract,
346 int use_copy, // Use copy when in EDITING_ARROW
347 int use_paste,
348 int use_undo,
349 int use_fit,
350 int use_locklabels,
351 int use_labels,
352 int use_toclip,
353 int use_meters,
354 int is_mwindow,
355 int use_cut);
356 ~EditPanel();
358 void set_meters(MeterPanel *meter_panel);
359 void update();
360 void delete_buttons();
361 void create_buttons();
362 void reposition_buttons(int x, int y);
363 int create_objects();
364 int get_w();
365 virtual void copy_selection();
366 virtual void splice_selection();
367 virtual void overwrite_selection();
368 virtual void set_inpoint();
369 virtual void set_outpoint();
370 virtual void clear_inpoint();
371 virtual void clear_outpoint();
372 virtual void to_clip();
373 virtual void toggle_label();
374 virtual void prev_label();
375 virtual void next_label();
377 MWindow *mwindow;
378 BC_WindowBase *subwindow;
379 MeterPanel *meter_panel;
381 int use_editing_mode;
382 int use_keyframe;
383 int editing_mode;
384 int use_splice;
385 int use_overwrite;
386 int use_lift;
387 int use_extract;
388 int use_paste;
389 int use_undo;
390 int use_fit;
391 int use_copy;
392 int use_locklabels;
393 int use_labels;
394 int use_toclip;
395 int use_meters;
396 int x, y, x1, y1;
397 int is_mwindow;
398 int use_cut;
400 EditFit *fit;
401 EditFitAutos *fit_autos;
402 EditInPoint *inpoint;
403 EditOutPoint *outpoint;
404 // EditDelInPoint *delinpoint;
405 // EditDelOutPoint *deloutpoint;
406 EditSplice *splice;
407 EditOverwrite *overwrite;
408 EditLift *lift;
409 EditExtract *extract;
410 EditToClip *clip;
411 EditManualGoto *mangoto;
412 EditCut *cut;
413 EditCopy *copy;
414 EditPaste *paste;
415 EditLabelbutton *labelbutton;
416 EditPrevLabel *prevlabel;
417 EditNextLabel *nextlabel;
418 EditUndo *undo;
419 EditRedo *redo;
420 MeterShow *meters;
421 ArrowButton *arrow;
422 IBeamButton *ibeam;
423 KeyFrameButton *keyframe;
424 LockLabelsButton *locklabels;
427 #endif
429 // Local Variables:
430 // mode: C++
431 // c-file-style: "linux"
432 // End: