fix delete_edit optimize segv, add dump submenu/dump_undo, add dbl edge drag/drop...
[goodguy/cinelerra.git] / cinelerra-5.1 / cinelerra / mainmenu.h
index b87e8088833b2b1e1f16586366d48d08ed3b7b26..2e965f41bcda8dd747026e5ae2ce547fbbe05b76 100644 (file)
 #ifndef MAINMENU_H
 #define MAINMENU_H
 
-class AEffectMenu;
-class LabelsFollowEdits;
-class PluginsFollowEdits;
-class KeyframesFollowEdits;
-class CursorOnFrames;
-class TypelessKeyframes;
-class SetBRenderActive;
-class LoopPlayback;
-
-class Redo;
-class ShowVWindow;
-class ShowAWindow;
-class ShowGWindow;
-class ShowCWindow;
-class ShowLWindow;
-class Undo;
-class KeyframeCurveType;
-class KeyframeCurveTypeMenu;
-class KeyframeCurveTypeItem;
-class SplitX;
-class SplitY;
-class MixerViewer;
-class LoadLayoutItem;
-class LoadLayout;
-
-
 #include "arraylist.h"
 #include "guicast.h"
 #include "bchash.inc"
 #include "loadfile.inc"
+#include "mainmenu.inc"
 #include "mwindow.inc"
 #include "mwindowgui.inc"
 #include "maxchannels.h"
@@ -115,6 +90,7 @@ public:
        MenuAEffectItem *aeffect[TOTAL_EFFECTS];
        MenuVEffectItem *veffect[TOTAL_EFFECTS];
        Quit *quit_program;              // affected by save
+       MainDumpsMenu *dump_menu;
        Undo *undo;
        Redo *redo;
        int total_aeffects;
@@ -168,7 +144,25 @@ public:
        MWindow *mwindow;
 };
 
+class MainDumpsSubMenu : public BC_SubMenu
+{
+public:
+       MainDumpsSubMenu(BC_MenuItem *menu_item);
+       ~MainDumpsSubMenu();
+
+       BC_MenuItem *menu_item;
+};
+
+class MainDumpsMenu : public BC_MenuItem
+{
+public:
+       MainDumpsMenu(MWindow *mwindow);
+       ~MainDumpsMenu();
+       void create_objects();
 
+       MWindow *mwindow;
+       MainDumpsSubMenu *dumps_menu;
+};
 
 class DumpCICache : public BC_MenuItem
 {
@@ -202,6 +196,14 @@ public:
        MWindow *mwindow;
 };
 
+class DumpUndo : public BC_MenuItem
+{
+public:
+       DumpUndo(MWindow *mwindow);
+       int handle_event();
+       MWindow *mwindow;
+};
+
 class Redo : public BC_MenuItem
 {
 public: