4 * Copyright (C) 2008 Adam Williams <broadcast at earthling dot net>
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.
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.
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
26 #include "mwindow.inc"
27 #include "mwindowgui.inc"
29 #include "plugindialog.inc"
30 #include "resizetrackthread.inc"
32 #define SNAPSHOT_PNG 0
33 #define SNAPSHOT_JPEG 1
34 #define SNAPSHOT_TIFF 2
36 class EditPopupResize;
37 class EditPopupMatchSize;
38 class EditPopupTitleText;
39 class EditPopupTitleWindow;
40 class EditPopupTitleButton;
41 class EditPopupTitleButtonRes;
43 class SnapshotSubMenu;
44 class SnapshotMenuItem;
46 class EditPopup : public BC_PopupMenu
49 EditPopup(MWindow *mwindow, MWindowGUI *gui);
52 void create_objects();
53 int update(Track *track, Edit *edit);
57 // Acquired through the update command as the edit currently being operated on
60 EditPopupResize *resize_option;
61 EditPopupMatchSize *matchsize_option;
64 class EditPopupMatchSize : public BC_MenuItem
67 EditPopupMatchSize(MWindow *mwindow, EditPopup *popup);
68 ~EditPopupMatchSize();
74 class EditPopupResize : public BC_MenuItem
77 EditPopupResize(MWindow *mwindow, EditPopup *popup);
82 ResizeTrackThread *dialog_thread;
85 class EditPopupDeleteTrack : public BC_MenuItem
88 EditPopupDeleteTrack(MWindow *mwindow, EditPopup *popup);
94 class EditPopupAddTrack : public BC_MenuItem
97 EditPopupAddTrack(MWindow *mwindow, EditPopup *popup);
104 class EditAttachEffect : public BC_MenuItem
107 EditAttachEffect(MWindow *mwindow, EditPopup *popup);
114 PluginDialogThread *dialog_thread;
117 class EditMoveTrackUp : public BC_MenuItem
120 EditMoveTrackUp(MWindow *mwindow, EditPopup *popup);
129 class EditMoveTrackDown : public BC_MenuItem
132 EditMoveTrackDown(MWindow *mwindow, EditPopup *popup);
133 ~EditMoveTrackDown();
142 class EditPopupTitle : public BC_MenuItem
145 EditPopupTitle (MWindow *mwindow, EditPopup *popup);
152 EditPopupTitleWindow *window;
155 class EditPopupTitleText : public BC_TextBox
158 EditPopupTitleText (EditPopupTitleWindow *window,
159 MWindow *mwindow, int x, int y);
160 ~EditPopupTitleText();
164 EditPopupTitleWindow *window;
169 class EditPopupTitleWindow : public BC_Window
172 EditPopupTitleWindow (MWindow *mwindow, EditPopup *popup);
173 ~EditPopupTitleWindow ();
175 void create_objects();
178 EditPopupTitleText *title_text;
182 char new_text[BCTEXTLEN];
186 class EditSnapshot : public BC_MenuItem
189 EditSnapshot(MWindow *mwindow, EditPopup *popup);
196 class SnapshotSubMenu : public BC_SubMenu
199 SnapshotSubMenu(EditSnapshot *edit_snapshot);
202 EditSnapshot *edit_snapshot;
205 class SnapshotMenuItem : public BC_MenuItem
208 SnapshotMenuItem(SnapshotSubMenu *submenu, const char *text, int mode);
212 SnapshotSubMenu *submenu;