add grouping, default proxy vcodec h264.mp4, default titlebar alpha=1, green bar bug
[goodguy/cinelerra.git] / cinelerra-5.1 / cinelerra / editpopup.h
index 89754a25b880ce9ebbb23f9b72723c67c49326e7..90fd9ace60da540d1a2f74f31d2dbe3a463f2145 100644 (file)
 #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
 {
@@ -54,157 +41,207 @@ 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
+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;
 };