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 "colorpicker.h"
28 #include "editpopup.inc"
29 #include "mwindow.inc"
30 #include "mwindowgui.inc"
32 #include "pluginset.inc"
33 #include "plugindialog.inc"
34 #include "resizetrackthread.inc"
37 class EditPopup : public BC_PopupMenu
40 EditPopup(MWindow *mwindow, MWindowGUI *gui);
43 void create_objects();
44 int activate_menu(Track *track, Edit *edit,
45 PluginSet *pluginset, Plugin *plugin, double position);
56 class EditPopupClearSelect : public BC_MenuItem
59 EditPopupClearSelect(MWindow *mwindow, EditPopup *popup);
66 class EditPopupCopy : public BC_MenuItem
69 EditPopupCopy(MWindow *mwindow, EditPopup *popup);
76 class EditPopupCopyPack : public BC_MenuItem
79 EditPopupCopyPack(MWindow *mwindow, EditPopup *popup);
86 class EditPopupCut : public BC_MenuItem
89 EditPopupCut(MWindow *mwindow, EditPopup *popup);
96 class EditPopupCutPack : public BC_MenuItem
99 EditPopupCutPack(MWindow *mwindow, EditPopup *popup);
106 class EditPopupMute : public BC_MenuItem
109 EditPopupMute(MWindow *mwindow, EditPopup *popup);
116 class EditPopupMutePack : public BC_MenuItem
119 EditPopupMutePack(MWindow *mwindow, EditPopup *popup);
126 class EditPopupPaste : public BC_MenuItem
129 EditPopupPaste(MWindow *mwindow, EditPopup *popup);
136 class EditPopupOverwrite : public BC_MenuItem
139 EditPopupOverwrite(MWindow *mwindow, EditPopup *popup);
146 class EditPopupFindAsset : public BC_MenuItem
149 EditPopupFindAsset(MWindow *mwindow, EditPopup *popup);
155 class EditPopupUserTitle : public BC_MenuItem
158 EditPopupUserTitle(MWindow *mwindow, EditPopup *popup);
159 ~EditPopupUserTitle();
165 EditUserTitleDialogThread *dialog_thread;
168 class EditPopupUserTitleText : public BC_TextBox
171 EditPopupUserTitleText(EditPopupUserTitleWindow *window,
172 MWindow *mwindow, int x, int y, const char *text);
173 ~EditPopupUserTitleText();
177 EditPopupUserTitleWindow *window;
180 class EditPopupUserTitleWindow : public BC_Window
183 EditPopupUserTitleWindow(MWindow *mwindow, EditPopup *popup, int wx, int wy);
184 ~EditPopupUserTitleWindow();
186 void create_objects();
187 void handle_close_event(int result);
189 EditPopupUserTitleText *title_text;
192 char new_text[BCTEXTLEN];
195 class EditUserTitleDialogThread : public BC_DialogThread
198 EditUserTitleDialogThread(EditPopupUserTitle *edit_title);
199 ~EditUserTitleDialogThread();
201 void handle_close_event(int result);
202 void handle_done_event(int result);
203 BC_Window* new_gui();
204 void start(int wx, int wy);
207 EditPopupUserTitle *edit_title;
208 EditPopupUserTitleWindow *window;
212 class EditPopupTitleColor : public BC_MenuItem
215 EditPopupTitleColor(MWindow *mwindow, EditPopup *popup);
216 ~EditPopupTitleColor();
222 EditTitleColorPicker *color_picker;
225 class EditTitleColorDefault : public BC_GenericButton
228 EditTitleColorDefault(EditTitleColorPicker *color_picker, int x, int y);
231 EditTitleColorPicker *color_picker;
234 class EditTitleColorPicker : public ColorPicker
237 EditTitleColorPicker(EditPopup *popup, int color);
238 ~EditTitleColorPicker();
239 void create_objects(ColorWindow *gui);
240 int handle_new_color(int color, int alpha);
241 void handle_done_event(int result);
248 class EditPopupShow : public BC_MenuItem
251 EditPopupShow(MWindow *mwindow, EditPopup *popup);
258 EditShowDialogThread *dialog_thread;
261 class EditShowDialogThread : public BC_DialogThread
264 EditShowDialogThread(EditPopupShow *edit_show);
265 ~EditShowDialogThread();
266 BC_Window* new_gui();
267 void start(int wx, int wy);
268 void handle_close_event(int result);
271 EditPopupShow *edit_show;
272 EditPopupShowWindow *window;
275 class EditPopupShowText : public BC_TextBox
278 EditPopupShowText(EditPopupShowWindow *window,
279 MWindow *mwindow, int x, int y, const char *text);
280 ~EditPopupShowText();
282 EditPopupShowWindow *window;
286 class EditPopupShowWindow : public BC_Window
289 EditPopupShowWindow(MWindow *mwindow, EditPopup *popup, int wx, int wy);
290 ~EditPopupShowWindow();
292 void create_objects();
294 EditPopupShowText *show_text;