r499: This commit was manufactured by cvs2svn to create tag 'r1_2_1-last'.
[cinelerra_cv/mob.git] / hvirtual / cinelerra / editpanel.h
blobaa648257e28c97675343fc15bc1e378f8fb436ce
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 ArrowButton;
10 class IBeamButton;
11 class KeyFrameButton;
12 class EditFit;
13 class EditInPoint;
14 class EditOutPoint;
15 class EditDelInPoint;
16 class EditDelOutPoint;
17 class EditSplice;
18 class EditOverwrite;
19 class EditToClip;
20 class EditManualGoto;
21 class EditLift;
22 class EditExtract;
23 class EditCut;
24 class EditCopy;
25 class EditPaste;
26 class EditLabelbutton;
27 class EditPrevLabel;
28 class EditNextLabel;
29 class EditUndo;
30 class EditRedo;
32 class EditPanel
34 public:
35 EditPanel(MWindow *mwindow,
36 BC_WindowBase *subwindow,
37 int x,
38 int y,
39 int editing_mode, // From edl.inc
40 int use_editing_mode,
41 int use_keyframe,
42 int use_splice, // Extra buttons
43 int use_overwrite,
44 int use_lift,
45 int use_extract,
46 int use_copy, // Use copy when in EDITING_ARROW
47 int use_paste,
48 int use_undo,
49 int use_fit,
50 int use_labels,
51 int use_toclip,
52 int use_meters,
53 int is_mwindow,
54 int use_cut);
55 ~EditPanel();
57 void set_meters(MeterPanel *meter_panel);
58 void update();
59 void delete_buttons();
60 void create_buttons();
61 void reposition_buttons(int x, int y);
62 int create_objects();
63 int get_w();
64 virtual void copy_selection();
65 virtual void splice_selection();
66 virtual void overwrite_selection();
67 virtual void set_inpoint();
68 virtual void set_outpoint();
69 virtual void clear_inpoint();
70 virtual void clear_outpoint();
71 virtual void to_clip();
72 virtual void toggle_label();
73 virtual void prev_label();
74 virtual void next_label();
76 MWindow *mwindow;
77 BC_WindowBase *subwindow;
78 MeterPanel *meter_panel;
80 int use_editing_mode;
81 int use_keyframe;
82 int editing_mode;
83 int use_splice;
84 int use_overwrite;
85 int use_lift;
86 int use_extract;
87 int use_paste;
88 int use_undo;
89 int use_fit;
90 int use_copy;
91 int use_labels;
92 int use_toclip;
93 int use_meters;
94 int x, y, x1, y1;
95 int is_mwindow;
96 int use_cut;
98 EditFit *fit;
99 EditInPoint *inpoint;
100 EditOutPoint *outpoint;
101 // EditDelInPoint *delinpoint;
102 // EditDelOutPoint *deloutpoint;
103 EditSplice *splice;
104 EditOverwrite *overwrite;
105 EditLift *lift;
106 EditExtract *extract;
107 EditToClip *clip;
108 EditManualGoto *mangoto;
109 EditCut *cut;
110 EditCopy *copy;
111 EditPaste *paste;
112 EditLabelbutton *labelbutton;
113 EditPrevLabel *prevlabel;
114 EditNextLabel *nextlabel;
115 EditUndo *undo;
116 EditRedo *redo;
117 MeterShow *meters;
118 ArrowButton *arrow;
119 IBeamButton *ibeam;
120 KeyFrameButton *keyframe;
123 class EditInPoint : public BC_Button
125 public:
126 EditInPoint(MWindow *mwindow, EditPanel *panel, int x, int y);
127 ~EditInPoint();
128 int handle_event();
129 int keypress_event();
130 MWindow *mwindow;
131 EditPanel *panel;
134 class EditOutPoint : public BC_Button
136 public:
137 EditOutPoint(MWindow *mwindow, EditPanel *panel, int x, int y);
138 ~EditOutPoint();
139 int handle_event();
140 int keypress_event();
141 MWindow *mwindow;
142 EditPanel *panel;
145 class EditDelInPoint : public BC_Button
147 public:
148 EditDelInPoint(MWindow *mwindow, EditPanel *panel, int x, int y);
149 ~EditDelInPoint();
150 int handle_event();
151 int keypress_event();
152 MWindow *mwindow;
153 EditPanel *panel;
156 class EditDelOutPoint : public BC_Button
158 public:
159 EditDelOutPoint(MWindow *mwindow, EditPanel *panel, int x, int y);
160 ~EditDelOutPoint();
161 int handle_event();
162 int keypress_event();
163 MWindow *mwindow;
164 EditPanel *panel;
167 class EditSplice : public BC_Button
169 public:
170 EditSplice(MWindow *mwindow, EditPanel *panel, int x, int y);
171 ~EditSplice();
172 int handle_event();
173 int keypress_event();
174 MWindow *mwindow;
175 EditPanel *panel;
178 class EditOverwrite : public BC_Button
180 public:
181 EditOverwrite(MWindow *mwindow, EditPanel *panel, int x, int y);
182 ~EditOverwrite();
183 int handle_event();
184 int keypress_event();
185 MWindow *mwindow;
186 EditPanel *panel;
189 class EditLift : public BC_Button
191 public:
192 EditLift(MWindow *mwindow, EditPanel *panel, int x, int y);
193 ~EditLift();
194 int handle_event();
195 MWindow *mwindow;
196 EditPanel *panel;
199 class EditExtract : public BC_Button
201 public:
202 EditExtract(MWindow *mwindow, EditPanel *panel, int x, int y);
203 ~EditExtract();
204 int handle_event();
205 MWindow *mwindow;
206 EditPanel *panel;
209 class EditToClip : public BC_Button
211 public:
212 EditToClip(MWindow *mwindow, EditPanel *panel, int x, int y);
213 ~EditToClip();
214 int handle_event();
215 int keypress_event();
216 MWindow *mwindow;
217 EditPanel *panel;
220 class EditManualGoto : public BC_Button
222 public:
223 EditManualGoto(MWindow *mwindow, EditPanel *panel, int x, int y);
224 ~EditManualGoto();
225 int handle_event();
226 int keypress_event();
227 MWindow *mwindow;
228 EditPanel *panel;
229 ManualGoto *mangoto;
232 class EditCut : public BC_Button
234 public:
235 EditCut(MWindow *mwindow, EditPanel *panel, int x, int y);
236 ~EditCut();
238 int keypress_event();
239 int handle_event();
241 MWindow *mwindow;
242 EditPanel *panel;
245 class EditCopy : public BC_Button
247 public:
248 EditCopy(MWindow *mwindow, EditPanel *panel, int x, int y);
249 ~EditCopy();
251 int keypress_event();
252 int handle_event();
254 MWindow *mwindow;
255 EditPanel *panel;
258 class EditAppend : public BC_Button
260 public:
261 EditAppend(MWindow *mwindow, EditPanel *panel, int x, int y);
262 ~EditAppend();
264 int handle_event();
266 MWindow *mwindow;
267 EditPanel *panel;
270 class EditInsert : public BC_Button
272 public:
273 EditInsert(MWindow *mwindow, EditPanel *panel, int x, int y);
274 ~EditInsert();
276 int handle_event();
278 MWindow *mwindow;
279 EditPanel *panel;
282 class EditPaste : public BC_Button
284 public:
285 EditPaste(MWindow *mwindow, EditPanel *panel, int x, int y);
286 ~EditPaste();
288 int keypress_event();
289 int handle_event();
291 MWindow *mwindow;
292 EditPanel *panel;
295 class EditTransition : public BC_Button
297 public:
298 EditTransition(MWindow *mwindow, EditPanel *panel, int x, int y);
299 ~EditTransition();
300 int handle_event();
301 MWindow *mwindow;
302 EditPanel *panel;
305 class EditPresentation : public BC_Button
307 public:
308 EditPresentation(MWindow *mwindow, EditPanel *panel, int x, int y);
309 ~EditPresentation();
310 int handle_event();
311 MWindow *mwindow;
312 EditPanel *panel;
315 class EditUndo : public BC_Button
317 public:
318 EditUndo(MWindow *mwindow, EditPanel *panel, int x, int y);
319 ~EditUndo();
320 int keypress_event();
321 int handle_event();
322 MWindow *mwindow;
323 EditPanel *panel;
326 class EditRedo : public BC_Button
328 public:
329 EditRedo(MWindow *mwindow, EditPanel *panel, int x, int y);
330 ~EditRedo();
331 int keypress_event();
332 int handle_event();
333 MWindow *mwindow;
334 EditPanel *panel;
337 class EditLabelbutton : public BC_Button
339 public:
340 EditLabelbutton(MWindow *mwindow, EditPanel *panel, int x, int y);
341 ~EditLabelbutton();
342 int keypress_event();
343 int handle_event();
344 MWindow *mwindow;
345 EditPanel *panel;
348 class EditFit : public BC_Button
350 public:
351 EditFit(MWindow *mwindow, EditPanel *panel, int x, int y);
352 ~EditFit();
353 int keypress_event();
354 int handle_event();
355 MWindow *mwindow;
356 EditPanel *panel;
360 class EditPrevLabel : public BC_Button
362 public:
363 EditPrevLabel(MWindow *mwindow,
364 EditPanel *panel,
365 int x,
366 int y,
367 int is_mwindow);
368 ~EditPrevLabel();
370 int keypress_event();
371 int handle_event();
373 MWindow *mwindow;
374 EditPanel *panel;
375 int is_mwindow;
378 class EditNextLabel : public BC_Button
380 public:
381 EditNextLabel(MWindow *mwindow,
382 EditPanel *panel,
383 int x,
384 int y,
385 int is_mwindow);
386 ~EditNextLabel();
388 int keypress_event();
389 int handle_event();
391 MWindow *mwindow;
392 EditPanel *panel;
393 int is_mwindow;
397 class ArrowButton : public BC_Toggle
399 public:
400 ArrowButton(MWindow *mwindow, EditPanel *panel, int x, int y);
401 int handle_event();
402 MWindow *mwindow;
403 EditPanel *panel;
406 class IBeamButton : public BC_Toggle
408 public:
409 IBeamButton(MWindow *mwindow, EditPanel *panel, int x, int y);
410 int handle_event();
411 MWindow *mwindow;
412 EditPanel *panel;
415 class KeyFrameButton : public BC_Toggle
417 public:
418 KeyFrameButton(MWindow *mwindow, int x, int y);
419 int handle_event();
420 MWindow *mwindow;
423 #endif