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
27 #include "editpopup.inc"
28 #include "mwindow.inc"
29 #include "mwindowgui.inc"
31 #include "pluginset.inc"
32 #include "plugindialog.inc"
33 #include "resizetrackthread.inc"
36 class EditPopup : public BC_PopupMenu
39 EditPopup(MWindow *mwindow, MWindowGUI *gui);
42 void create_objects();
43 int activate_menu(Track *track, Edit *edit,
44 PluginSet *pluginset, Plugin *plugin, double position);
55 class EditPopupClearSelect : public BC_MenuItem
58 EditPopupClearSelect(MWindow *mwindow, EditPopup *popup);
65 class EditPopupCopy : public BC_MenuItem
68 EditPopupCopy(MWindow *mwindow, EditPopup *popup);
75 class EditPopupCopyPack : public BC_MenuItem
78 EditPopupCopyPack(MWindow *mwindow, EditPopup *popup);
85 class EditPopupCut : public BC_MenuItem
88 EditPopupCut(MWindow *mwindow, EditPopup *popup);
95 class EditPopupCutPack : public BC_MenuItem
98 EditPopupCutPack(MWindow *mwindow, EditPopup *popup);
105 class EditPopupMute : public BC_MenuItem
108 EditPopupMute(MWindow *mwindow, EditPopup *popup);
115 class EditPopupMutePack : public BC_MenuItem
118 EditPopupMutePack(MWindow *mwindow, EditPopup *popup);
125 class EditPopupPaste : public BC_MenuItem
128 EditPopupPaste(MWindow *mwindow, EditPopup *popup);
135 class EditPopupOverwrite : public BC_MenuItem
138 EditPopupOverwrite(MWindow *mwindow, EditPopup *popup);
145 class EditPopupFindAsset : public BC_MenuItem
148 EditPopupFindAsset(MWindow *mwindow, EditPopup *popup);
154 class EditPopupTitle : public BC_MenuItem
157 EditPopupTitle(MWindow *mwindow, EditPopup *popup);
164 EditTitleDialogThread *dialog_thread;
167 class EditTitleDialogThread : public BC_DialogThread
170 EditTitleDialogThread(EditPopupTitle *edit_title);
171 ~EditTitleDialogThread();
172 BC_Window* new_gui();
173 void start(int wx, int wy);
174 void handle_close_event(int result);
175 void handle_done_event(int result);
178 EditPopupTitle *edit_title;
179 EditPopupTitleWindow *window;
182 class EditPopupTitleText : public BC_TextBox
185 EditPopupTitleText(EditPopupTitleWindow *window,
186 MWindow *mwindow, int x, int y, const char *text);
187 ~EditPopupTitleText();
191 EditPopupTitleWindow *window;
194 class EditPopupTitleWindow : public BC_Window
197 EditPopupTitleWindow(MWindow *mwindow, EditPopup *popup, int wx, int wy);
198 ~EditPopupTitleWindow();
200 void create_objects();
201 void handle_close_event(int result);
203 EditPopupTitleText *title_text;
206 char new_text[BCTEXTLEN];
210 class EditPopupShow : public BC_MenuItem
213 EditPopupShow(MWindow *mwindow, EditPopup *popup);
220 EditShowDialogThread *dialog_thread;
223 class EditShowDialogThread : public BC_DialogThread
226 EditShowDialogThread(EditPopupShow *edit_show);
227 ~EditShowDialogThread();
228 BC_Window* new_gui();
229 void start(int wx, int wy);
230 void handle_close_event(int result);
233 EditPopupShow *edit_show;
234 EditPopupShowWindow *window;
237 class EditPopupShowText : public BC_TextBox
240 EditPopupShowText(EditPopupShowWindow *window,
241 MWindow *mwindow, int x, int y, const char *text);
242 ~EditPopupShowText();
244 EditPopupShowWindow *window;
248 class EditPopupShowWindow : public BC_Window
251 EditPopupShowWindow(MWindow *mwindow, EditPopup *popup, int wx, int wy);
252 ~EditPopupShowWindow();
254 void create_objects();
256 EditPopupShowText *show_text;