00001 #ifndef EDITPOPUP_H
00002 #define EDITPOPUP_H
00003
00004 #include "guicast.h"
00005 #include "mwindow.inc"
00006 #include "mwindowgui.inc"
00007 #include "edit.inc"
00008 #include "plugindialog.inc"
00009 #include "resizetrackthread.inc"
00010
00011
00012 class EditPopupResize;
00013 class EditPopupMatchSize;
00014 class EditPopupTitleText;
00015 class EditPopupTitleWindow;
00016 class EditPopupTitleButton;
00017 class EditPopupTitleButtonRes;
00018
00019 class EditPopup : public BC_PopupMenu
00020 {
00021 public:
00022 EditPopup(MWindow *mwindow, MWindowGUI *gui);
00023 ~EditPopup();
00024
00025 void create_objects();
00026 int update(Track *track, Edit *edit);
00027
00028 MWindow *mwindow;
00029 MWindowGUI *gui;
00030
00031 Edit *edit;
00032 Track *track;
00033 EditPopupResize *resize_option;
00034 EditPopupMatchSize *matchsize_option;
00035 };
00036
00037 class EditPopupMatchSize : public BC_MenuItem
00038 {
00039 public:
00040 EditPopupMatchSize(MWindow *mwindow, EditPopup *popup);
00041 ~EditPopupMatchSize();
00042 int handle_event();
00043 MWindow *mwindow;
00044 EditPopup *popup;
00045 };
00046
00047 class EditPopupResize : public BC_MenuItem
00048 {
00049 public:
00050 EditPopupResize(MWindow *mwindow, EditPopup *popup);
00051 ~EditPopupResize();
00052 int handle_event();
00053 MWindow *mwindow;
00054 EditPopup *popup;
00055 ResizeTrackThread *dialog_thread;
00056 };
00057
00058 class EditPopupDeleteTrack : public BC_MenuItem
00059 {
00060 public:
00061 EditPopupDeleteTrack(MWindow *mwindow, EditPopup *popup);
00062 int handle_event();
00063 MWindow *mwindow;
00064 EditPopup *popup;
00065 };
00066
00067 class EditPopupAddTrack : public BC_MenuItem
00068 {
00069 public:
00070 EditPopupAddTrack(MWindow *mwindow, EditPopup *popup);
00071 int handle_event();
00072 MWindow *mwindow;
00073 EditPopup *popup;
00074 };
00075
00076
00077 class EditAttachEffect : public BC_MenuItem
00078 {
00079 public:
00080 EditAttachEffect(MWindow *mwindow, EditPopup *popup);
00081 ~EditAttachEffect();
00082
00083 int handle_event();
00084
00085 MWindow *mwindow;
00086 EditPopup *popup;
00087 PluginDialogThread *dialog_thread;
00088 };
00089
00090 class EditMoveTrackUp : public BC_MenuItem
00091 {
00092 public:
00093 EditMoveTrackUp(MWindow *mwindow, EditPopup *popup);
00094 ~EditMoveTrackUp();
00095
00096 int handle_event();
00097
00098 MWindow *mwindow;
00099 EditPopup *popup;
00100 };
00101
00102 class EditMoveTrackDown : public BC_MenuItem
00103 {
00104 public:
00105 EditMoveTrackDown(MWindow *mwindow, EditPopup *popup);
00106 ~EditMoveTrackDown();
00107
00108 int handle_event();
00109
00110 MWindow *mwindow;
00111 EditPopup *popup;
00112 };
00113
00114
00115 class EditPopupTitle : public BC_MenuItem
00116 {
00117 public:
00118 EditPopupTitle (MWindow *mwindow, EditPopup *popup);
00119 ~EditPopupTitle();
00120
00121 int handle_event();
00122
00123 MWindow *mwindow;
00124 EditPopup *popup;
00125 EditPopupTitleWindow *window;
00126 };
00127
00128 class EditPopupTitleText : public BC_TextBox
00129 {
00130 public:
00131 EditPopupTitleText (EditPopupTitleWindow *window,
00132 MWindow *mwindow, int x, int y);
00133 ~EditPopupTitleText();
00134
00135 int handle_event();
00136
00137 EditPopupTitleWindow *window;
00138 MWindow *mwindow;
00139 };
00140
00141
00142 class EditPopupTitleWindow : public BC_Window
00143 {
00144 public:
00145 EditPopupTitleWindow (MWindow *mwindow, EditPopup *popup);
00146 ~EditPopupTitleWindow ();
00147
00148 int create_objects();
00149 int close_event();
00150
00151 EditPopupTitleText *title_text;
00152 Edit *edt;
00153 MWindow *mwindow;
00154 EditPopup *popup;
00155 char new_text[BCTEXTLEN];
00156 };
00157
00158
00159
00160 #endif