change cv to gg, silence select bug fix, update ffmpeg.opts, update msg+Features5
[goodguy/cinelerra.git] / cinelerra-5.1 / cinelerra / editpopup.h
index 89754a25b880ce9ebbb23f9b72723c67c49326e7..ce16db69f3423d151daf47df23736399755a044e 100644 (file)
 #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
 {
@@ -54,207 +40,114 @@ public:
        ~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;
 };