#define EDITPOPUP_H
#include "guicast.h"
+#include "edit.inc"
+#include "colorpicker.h"
+#include "editpopup.inc"
#include "mwindow.inc"
#include "mwindowgui.inc"
-#include "edit.inc"
+#include "plugin.inc"
+#include "pluginset.inc"
#include "plugindialog.inc"
#include "resizetrackthread.inc"
-
-class EditPopup;
-class EditPopupMatchSize;
-class EditPopupResize;
-class EditPopupDeleteTrack;
-class EditPopupAddTrack;
-class EditPopupFindAsset;
-class EditAttachEffect;
-class EditMoveTrackUp;
-class EditMoveTrackDown;
-class EditPopupTitle;
-class EditTitleDialogThread;
-class EditPopupTitleText;
-class EditPopupTitleWindow;
-class EditPopupShow;
-class EditShowDialogThread;
-class EditPopupShowText;
-class EditPopupShowWindow;
+#include "track.inc"
class EditPopup : public BC_PopupMenu
{
~EditPopup();
void create_objects();
- int update(Track *track, Edit *edit);
+ int activate_menu(Track *track, Edit *edit,
+ PluginSet *pluginset, Plugin *plugin, double position);
MWindow *mwindow;
MWindowGUI *gui;
-// Acquired through the update command as the edit currently being operated on
- Edit *edit;
Track *track;
- EditPopupResize *resize_option;
- EditPopupMatchSize *matchsize_option;
+ Edit *edit;
+ Plugin *plugin;
+ PluginSet *pluginset;
+ double position;
};
-class EditPopupMatchSize : public BC_MenuItem
+class EditPopupClearSelect : public BC_MenuItem
{
public:
- EditPopupMatchSize(MWindow *mwindow, EditPopup *popup);
- ~EditPopupMatchSize();
+ EditPopupClearSelect(MWindow *mwindow, EditPopup *popup);
int handle_event();
+
MWindow *mwindow;
EditPopup *popup;
};
-class EditPopupResize : public BC_MenuItem
+class EditPopupCopy : public BC_MenuItem
{
public:
- EditPopupResize(MWindow *mwindow, EditPopup *popup);
- ~EditPopupResize();
+ EditPopupCopy(MWindow *mwindow, EditPopup *popup);
int handle_event();
+
MWindow *mwindow;
EditPopup *popup;
- ResizeTrackThread *dialog_thread;
};
-class EditPopupDeleteTrack : public BC_MenuItem
+class EditPopupCopyPack : public BC_MenuItem
{
public:
- EditPopupDeleteTrack(MWindow *mwindow, EditPopup *popup);
+ EditPopupCopyPack(MWindow *mwindow, EditPopup *popup);
int handle_event();
+
MWindow *mwindow;
EditPopup *popup;
};
-class EditPopupAddTrack : public BC_MenuItem
+class EditPopupCut : public BC_MenuItem
{
public:
- EditPopupAddTrack(MWindow *mwindow, EditPopup *popup);
+ EditPopupCut(MWindow *mwindow, EditPopup *popup);
int handle_event();
+
MWindow *mwindow;
EditPopup *popup;
};
-class EditPopupFindAsset : public BC_MenuItem
+class EditPopupCutPack : public BC_MenuItem
{
public:
- EditPopupFindAsset(MWindow *mwindow, EditPopup *popup);
+ EditPopupCutPack(MWindow *mwindow, EditPopup *popup);
int handle_event();
+
MWindow *mwindow;
EditPopup *popup;
};
-
-class EditAttachEffect : public BC_MenuItem
+class EditPopupMute : public BC_MenuItem
{
public:
- EditAttachEffect(MWindow *mwindow, EditPopup *popup);
- ~EditAttachEffect();
+ EditPopupMute(MWindow *mwindow, EditPopup *popup);
+ int handle_event();
+ MWindow *mwindow;
+ EditPopup *popup;
+};
+
+class EditPopupMutePack : public BC_MenuItem
+{
+public:
+ EditPopupMutePack(MWindow *mwindow, EditPopup *popup);
int handle_event();
MWindow *mwindow;
EditPopup *popup;
- PluginDialogThread *dialog_thread;
};
-class EditMoveTrackUp : public BC_MenuItem
+class EditPopupPaste : public BC_MenuItem
{
public:
- EditMoveTrackUp(MWindow *mwindow, EditPopup *popup);
- ~EditMoveTrackUp();
+ EditPopupPaste(MWindow *mwindow, EditPopup *popup);
+ int handle_event();
+
+ MWindow *mwindow;
+ EditPopup *popup;
+};
+class EditPopupOverwrite : public BC_MenuItem
+{
+public:
+ EditPopupOverwrite(MWindow *mwindow, EditPopup *popup);
int handle_event();
MWindow *mwindow;
EditPopup *popup;
};
-class EditMoveTrackDown : public BC_MenuItem
+class EditPopupFindAsset : public BC_MenuItem
+{
+public:
+ EditPopupFindAsset(MWindow *mwindow, EditPopup *popup);
+ int handle_event();
+ MWindow *mwindow;
+ EditPopup *popup;
+};
+
+class EditPopupUserTitle : public BC_MenuItem
{
public:
- EditMoveTrackDown(MWindow *mwindow, EditPopup *popup);
- ~EditMoveTrackDown();
+ EditPopupUserTitle(MWindow *mwindow, EditPopup *popup);
+ ~EditPopupUserTitle();
int handle_event();
MWindow *mwindow;
EditPopup *popup;
+ EditUserTitleDialogThread *dialog_thread;
};
+class EditPopupUserTitleText : public BC_TextBox
+{
+public:
+ EditPopupUserTitleText(EditPopupUserTitleWindow *window,
+ MWindow *mwindow, int x, int y, const char *text);
+ ~EditPopupUserTitleText();
+ int handle_event();
-class EditPopupTitle : public BC_MenuItem
+ MWindow *mwindow;
+ EditPopupUserTitleWindow *window;
+};
+
+class EditPopupUserTitleWindow : public BC_Window
{
public:
- EditPopupTitle(MWindow *mwindow, EditPopup *popup);
- ~EditPopupTitle();
+ EditPopupUserTitleWindow(MWindow *mwindow, EditPopup *popup, int wx, int wy);
+ ~EditPopupUserTitleWindow();
- int handle_event();
+ void create_objects();
+ void handle_close_event(int result);
+ EditPopupUserTitleText *title_text;
MWindow *mwindow;
EditPopup *popup;
- EditTitleDialogThread *dialog_thread;
+ char new_text[BCTEXTLEN];
};
-class EditTitleDialogThread : public BC_DialogThread
+class EditUserTitleDialogThread : public BC_DialogThread
{
public:
- EditTitleDialogThread(EditPopupTitle *edit_title);
- ~EditTitleDialogThread();
- BC_Window* new_gui();
- void start(int wx, int wy);
+ EditUserTitleDialogThread(EditPopupUserTitle *edit_title);
+ ~EditUserTitleDialogThread();
+
void handle_close_event(int result);
void handle_done_event(int result);
+ BC_Window* new_gui();
+ void start(int wx, int wy);
int wx, wy;
- EditPopupTitle *edit_title;
- EditPopupTitleWindow *window;
+ EditPopupUserTitle *edit_title;
+ EditPopupUserTitleWindow *window;
};
-class EditPopupTitleText : public BC_TextBox
+
+class EditPopupTitleColor : public BC_MenuItem
{
public:
- EditPopupTitleText(EditPopupTitleWindow *window,
- MWindow *mwindow, int x, int y, const char *text);
- ~EditPopupTitleText();
+ EditPopupTitleColor(MWindow *mwindow, EditPopup *popup);
+ ~EditPopupTitleColor();
+
int handle_event();
MWindow *mwindow;
- EditPopupTitleWindow *window;
+ EditPopup *popup;
+ EditTitleColorPicker *color_picker;
};
-class EditPopupTitleWindow : public BC_Window
+class EditTitleColorDefault : public BC_GenericButton
{
public:
- EditPopupTitleWindow(MWindow *mwindow, EditPopup *popup, int wx, int wy);
- ~EditPopupTitleWindow();
+ EditTitleColorDefault(EditTitleColorPicker *color_picker, int x, int y);
+ int handle_event();
- void create_objects();
- void handle_close_event(int result);
+ EditTitleColorPicker *color_picker;
+};
+
+class EditTitleColorPicker : public ColorPicker
+{
+public:
+ EditTitleColorPicker(EditPopup *popup, int color);
+ ~EditTitleColorPicker();
+ void create_objects(ColorWindow *gui);
+ int handle_new_color(int color, int alpha);
+ void handle_done_event(int result);
- EditPopupTitleText *title_text;
- MWindow *mwindow;
EditPopup *popup;
- char new_text[BCTEXTLEN];
+ int color;
};