#define EDITPOPUP_H
#include "guicast.h"
+#include "edit.inc"
+#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
-{
-public:
- EditPopupResize(MWindow *mwindow, EditPopup *popup);
- ~EditPopupResize();
- int handle_event();
MWindow *mwindow;
EditPopup *popup;
- ResizeTrackThread *dialog_thread;
};
-class EditPopupDeleteTrack : public BC_MenuItem
+class EditPopupCopy : public BC_MenuItem
{
public:
- EditPopupDeleteTrack(MWindow *mwindow, EditPopup *popup);
+ EditPopupCopy(MWindow *mwindow, EditPopup *popup);
int handle_event();
- MWindow *mwindow;
- EditPopup *popup;
-};
-class EditPopupAddTrack : public BC_MenuItem
-{
-public:
- EditPopupAddTrack(MWindow *mwindow, EditPopup *popup);
- int handle_event();
MWindow *mwindow;
EditPopup *popup;
};
-class EditPopupFindAsset : public BC_MenuItem
+class EditPopupCopyPack : public BC_MenuItem
{
public:
- EditPopupFindAsset(MWindow *mwindow, EditPopup *popup);
+ EditPopupCopyPack(MWindow *mwindow, EditPopup *popup);
int handle_event();
+
MWindow *mwindow;
EditPopup *popup;
};
-
-class EditAttachEffect : public BC_MenuItem
+class EditPopupCut : public BC_MenuItem
{
public:
- EditAttachEffect(MWindow *mwindow, EditPopup *popup);
- ~EditAttachEffect();
-
+ EditPopupCut(MWindow *mwindow, EditPopup *popup);
int handle_event();
MWindow *mwindow;
EditPopup *popup;
- PluginDialogThread *dialog_thread;
};
-class EditMoveTrackUp : public BC_MenuItem
+class EditPopupCutPack : public BC_MenuItem
{
public:
- EditMoveTrackUp(MWindow *mwindow, EditPopup *popup);
- ~EditMoveTrackUp();
-
+ EditPopupCutPack(MWindow *mwindow, EditPopup *popup);
int handle_event();
MWindow *mwindow;
EditPopup *popup;
};
-class EditMoveTrackDown : public BC_MenuItem
+class EditPopupMute : public BC_MenuItem
{
public:
- EditMoveTrackDown(MWindow *mwindow, EditPopup *popup);
- ~EditMoveTrackDown();
-
+ EditPopupMute(MWindow *mwindow, EditPopup *popup);
int handle_event();
MWindow *mwindow;
EditPopup *popup;
};
-
-class EditPopupTitle : public BC_MenuItem
+class EditPopupMutePack : public BC_MenuItem
{
public:
- EditPopupTitle(MWindow *mwindow, EditPopup *popup);
- ~EditPopupTitle();
-
+ EditPopupMutePack(MWindow *mwindow, EditPopup *popup);
int handle_event();
MWindow *mwindow;
EditPopup *popup;
- EditTitleDialogThread *dialog_thread;
};
-class EditTitleDialogThread : public BC_DialogThread
+class EditPopupPaste : public BC_MenuItem
{
public:
- EditTitleDialogThread(EditPopupTitle *edit_title);
- ~EditTitleDialogThread();
- BC_Window* new_gui();
- void start(int wx, int wy);
- void handle_close_event(int result);
- void handle_done_event(int result);
-
- int wx, wy;
- EditPopupTitle *edit_title;
- EditPopupTitleWindow *window;
-};
-
-class EditPopupTitleText : public BC_TextBox
-{
-public:
- EditPopupTitleText(EditPopupTitleWindow *window,
- MWindow *mwindow, int x, int y, const char *text);
- ~EditPopupTitleText();
+ EditPopupPaste(MWindow *mwindow, EditPopup *popup);
int handle_event();
- MWindow *mwindow;
- EditPopupTitleWindow *window;
-};
-
-class EditPopupTitleWindow : public BC_Window
-{
-public:
- EditPopupTitleWindow(MWindow *mwindow, EditPopup *popup, int wx, int wy);
- ~EditPopupTitleWindow();
-
- void create_objects();
- void handle_close_event(int result);
-
- EditPopupTitleText *title_text;
MWindow *mwindow;
EditPopup *popup;
- char new_text[BCTEXTLEN];
};
-
-class EditPopupShow : public BC_MenuItem
+class EditPopupOverwrite : public BC_MenuItem
{
public:
- EditPopupShow(MWindow *mwindow, EditPopup *popup);
- ~EditPopupShow();
-
+ EditPopupOverwrite(MWindow *mwindow, EditPopup *popup);
int handle_event();
MWindow *mwindow;
EditPopup *popup;
- EditShowDialogThread *dialog_thread;
-};
-
-class EditShowDialogThread : public BC_DialogThread
-{
-public:
- EditShowDialogThread(EditPopupShow *edit_show);
- ~EditShowDialogThread();
- BC_Window* new_gui();
- void start(int wx, int wy);
- void handle_close_event(int result);
-
- int wx, wy;
- EditPopupShow *edit_show;
- EditPopupShowWindow *window;
};
-class EditPopupShowText : public BC_TextBox
+class EditPopupOverwritePlugins : public BC_MenuItem
{
public:
- EditPopupShowText(EditPopupShowWindow *window,
- MWindow *mwindow, int x, int y, const char *text);
- ~EditPopupShowText();
-
- EditPopupShowWindow *window;
- MWindow *mwindow;
-};
-
-class EditPopupShowWindow : public BC_Window
-{
-public:
- EditPopupShowWindow(MWindow *mwindow, EditPopup *popup, int wx, int wy);
- ~EditPopupShowWindow();
-
- void create_objects();
+ EditPopupOverwritePlugins(MWindow *mwindow, EditPopup *popup);
+ int handle_event();
- EditPopupShowText *show_text;
MWindow *mwindow;
EditPopup *popup;
};