add grouping, default proxy vcodec h264.mp4, default titlebar alpha=1, green bar bug
[goodguy/cinelerra.git] / cinelerra-5.1 / cinelerra / editpopup.h
index 488bf4f1d289518f34e35d9a3de228ed327f90af..90fd9ace60da540d1a2f74f31d2dbe3a463f2145 100644 (file)
 
 #include "guicast.h"
 #include "edit.inc"
+#include "colorpicker.h"
 #include "editpopup.inc"
 #include "mwindow.inc"
 #include "mwindowgui.inc"
+#include "plugin.inc"
+#include "pluginset.inc"
 #include "plugindialog.inc"
 #include "resizetrackthread.inc"
+#include "track.inc"
 
 class EditPopup : public BC_PopupMenu
 {
@@ -37,38 +41,42 @@ public:
        ~EditPopup();
 
        void create_objects();
-       int update(Edit *edit);
+       int activate_menu(Track *track, Edit *edit,
+               PluginSet *pluginset, Plugin *plugin, double position);
 
        MWindow *mwindow;
        MWindowGUI *gui;
+       Track *track;
        Edit *edit;
+       Plugin *plugin;
+       PluginSet *pluginset;
+       double position;
 };
 
-
-class EditPopupClear : public BC_MenuItem
+class EditPopupClearSelect : public BC_MenuItem
 {
 public:
-       EditPopupClear(MWindow *mwindow, EditPopup *popup);
+       EditPopupClearSelect(MWindow *mwindow, EditPopup *popup);
        int handle_event();
 
        MWindow *mwindow;
        EditPopup *popup;
 };
 
-class EditPopupDelete : public BC_MenuItem
+class EditPopupCopy : public BC_MenuItem
 {
 public:
-       EditPopupDelete(MWindow *mwindow, EditPopup *popup);
+       EditPopupCopy(MWindow *mwindow, EditPopup *popup);
        int handle_event();
 
        MWindow *mwindow;
        EditPopup *popup;
 };
 
-class EditPopupCopy : public BC_MenuItem
+class EditPopupCopyPack : public BC_MenuItem
 {
 public:
-       EditPopupCopy(MWindow *mwindow, EditPopup *popup);
+       EditPopupCopyPack(MWindow *mwindow, EditPopup *popup);
        int handle_event();
 
        MWindow *mwindow;
@@ -85,10 +93,30 @@ public:
        EditPopup *popup;
 };
 
-class EditPopupCopyCut : public BC_MenuItem
+class EditPopupCutPack : public BC_MenuItem
+{
+public:
+       EditPopupCutPack(MWindow *mwindow, EditPopup *popup);
+       int handle_event();
+
+       MWindow *mwindow;
+       EditPopup *popup;
+};
+
+class EditPopupMute : public BC_MenuItem
+{
+public:
+       EditPopupMute(MWindow *mwindow, EditPopup *popup);
+       int handle_event();
+
+       MWindow *mwindow;
+       EditPopup *popup;
+};
+
+class EditPopupMutePack : public BC_MenuItem
 {
 public:
-       EditPopupCopyCut(MWindow *mwindow, EditPopup *popup);
+       EditPopupMutePack(MWindow *mwindow, EditPopup *popup);
        int handle_event();
 
        MWindow *mwindow;
@@ -105,6 +133,16 @@ public:
        EditPopup *popup;
 };
 
+class EditPopupOverwrite : public BC_MenuItem
+{
+public:
+       EditPopupOverwrite(MWindow *mwindow, EditPopup *popup);
+       int handle_event();
+
+       MWindow *mwindow;
+       EditPopup *popup;
+};
+
 class EditPopupFindAsset : public BC_MenuItem
 {
 public:
@@ -114,59 +152,96 @@ public:
        EditPopup *popup;
 };
 
-class EditPopupTitle : public BC_MenuItem
+class EditPopupUserTitle : public BC_MenuItem
 {
 public:
-       EditPopupTitle(MWindow *mwindow, EditPopup *popup);
-       ~EditPopupTitle();
+       EditPopupUserTitle(MWindow *mwindow, EditPopup *popup);
+       ~EditPopupUserTitle();
 
        int handle_event();
 
        MWindow *mwindow;
        EditPopup *popup;
-       EditTitleDialogThread *dialog_thread;
+       EditUserTitleDialogThread *dialog_thread;
 };
 
-class EditTitleDialogThread : public BC_DialogThread
+class EditPopupUserTitleText : public BC_TextBox
 {
 public:
-       EditTitleDialogThread(EditPopupTitle *edit_title);
-       ~EditTitleDialogThread();
-       BC_Window* new_gui();
-       void start(int wx, int wy);
+       EditPopupUserTitleText(EditPopupUserTitleWindow *window,
+               MWindow *mwindow, int x, int y, const char *text);
+       ~EditPopupUserTitleText();
+       int handle_event();
+
+       MWindow *mwindow;
+       EditPopupUserTitleWindow *window;
+};
+
+class EditPopupUserTitleWindow : public BC_Window
+{
+public:
+       EditPopupUserTitleWindow(MWindow *mwindow, EditPopup *popup, int wx, int wy);
+       ~EditPopupUserTitleWindow();
+
+       void create_objects();
+       void handle_close_event(int result);
+
+       EditPopupUserTitleText *title_text;
+       MWindow *mwindow;
+       EditPopup *popup;
+       char new_text[BCTEXTLEN];
+};
+
+class EditUserTitleDialogThread : public BC_DialogThread
+{
+public:
+       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;
 };