X-Git-Url: https://git.cinelerra-gg.org/git/?p=goodguy%2Fcinelerra.git;a=blobdiff_plain;f=cinelerra-5.1%2Fcinelerra%2Fmainmenu.h;h=482cce3abcd9c64eabd2953206647749e07a6220;hp=b87e8088833b2b1e1f16586366d48d08ed3b7b26;hb=eb7b1a0bb84ed4f40b651b74ff72e63b97cce1c2;hpb=e41864cf7931bfb86f68c5d35d4578dfe161d386 diff --git a/cinelerra-5.1/cinelerra/mainmenu.h b/cinelerra-5.1/cinelerra/mainmenu.h index b87e8088..482cce3a 100644 --- a/cinelerra-5.1/cinelerra/mainmenu.h +++ b/cinelerra-5.1/cinelerra/mainmenu.h @@ -22,36 +22,11 @@ #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; @@ -152,7 +128,7 @@ public: ShowLWindow *show_lwindow; SplitX *split_x; SplitY *split_y; - MixerViewer *mixer_viewer; + MixerItems *mixer_items; LoadLayout *load_layout; LoadLayout *save_layout; }; @@ -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: @@ -415,6 +417,22 @@ public: MWindow *mwindow; }; +class MixerItems : public BC_MenuItem +{ +public: + MixerItems(MWindow *mwindow); + void create_objects(); + MWindow *mwindow; +}; + +class MixerViewer : public BC_MenuItem +{ +public: + MixerViewer(MWindow *mwindow); + int handle_event(); + MWindow *mwindow; +}; + class TileMixers : public BC_MenuItem { public: @@ -423,6 +441,14 @@ public: MWindow *mwindow; }; +class AlignMixers : public BC_MenuItem +{ +public: + AlignMixers(MWindow *mwindow); + int handle_event(); + MWindow *mwindow; +}; + // ======================================== audio class AddAudioTrack : public BC_MenuItem @@ -556,10 +582,18 @@ public: MWindow *mwindow; }; -class DeleteTrack : public BC_MenuItem +class DeleteFirstTrack : public BC_MenuItem { public: - DeleteTrack(MWindow *mwindow); + DeleteFirstTrack(MWindow *mwindow); + int handle_event(); + MWindow *mwindow; +}; + +class DeleteLastTrack : public BC_MenuItem +{ +public: + DeleteLastTrack(MWindow *mwindow); int handle_event(); MWindow *mwindow; }; @@ -704,14 +738,6 @@ public: MWindow *mwindow; }; -class MixerViewer : public BC_MenuItem -{ -public: - MixerViewer(MWindow *mwindow); - int handle_event(); - MWindow *mwindow; -}; - class LoadLayoutItem : public BC_MenuItem { @@ -719,7 +745,9 @@ public: LoadLayoutItem(LoadLayout *load_layout, const char *text, int no, int hotkey); int handle_event(); - int no; + int idx; + char layout_text[BCSTRLEN]; + char layout_file[BCSTRLEN]; LoadLayout *load_layout; }; @@ -727,10 +755,53 @@ class LoadLayout : public BC_MenuItem { public: LoadLayout(MWindow *mwindow, const char *text, int action); + ~LoadLayout(); void create_objects(); + void update(); + int activate_submenu(); MWindow *mwindow; + LoadLayoutDialog *layout_dialog; int action; }; +class LoadLayoutDialog : public BC_DialogThread +{ +public: + LoadLayoutDialog(LoadLayout *load_layout); + ~LoadLayoutDialog(); + + void start_confirm_dialog(int wx, int wy, int idx); + void handle_done_event(int result); + void handle_close_event(int result); + BC_Window* new_gui(); + + LoadLayout *load_layout; + LoadLayoutConfirm *lgui; + int wx, wy, idx; +}; + +class LoadLayoutNameText : public BC_TextBox +{ +public: + LoadLayoutNameText(LoadLayoutConfirm *confirm, + int x, int y, int w, const char *text); + ~LoadLayoutNameText(); + + int handle_event(); + + LoadLayoutConfirm *confirm; +}; + +class LoadLayoutConfirm : public BC_Window +{ +public: + LoadLayoutConfirm(LoadLayoutDialog *load_dialog, int x, int y); + ~LoadLayoutConfirm(); + void create_objects(); + + LoadLayoutDialog *layout_dialog; + LoadLayoutNameText *name_text; +}; + #endif