modify folder segv fix, opengl pbfr resource conflict fix
[goodguy/history.git] / cinelerra-5.1 / cinelerra / binfolder.h
index cf0c943def1e523003b8b7022100c5faff8f0bcd..97b1335555b744d17f718e419a36e7c444eeaa3c 100644 (file)
@@ -26,6 +26,7 @@
 #include "awindowgui.inc"
 #include "binfolder.inc"
 #include "datatype.h"
+#include "edl.inc"
 #include "filesystem.h"
 #include "guicast.h"
 #include "indexable.h"
@@ -78,7 +79,7 @@ public:
 class BinFolder
 {
 public:
-       BinFolder(int awindow_folder, const char *title);
+       BinFolder(int awindow_folder, int is_clips, const char *title);
        BinFolder(BinFolder &that);
        ~BinFolder();
 
@@ -87,10 +88,12 @@ public:
        int load_xml(FileXML *file);
        double matches_indexable(Indexable *idxbl);
        void copy_from(BinFolder *that);
-       void add_patterns(ArrayList<Indexable*> *drag_assets);
+       const char *get_idxbl_title(Indexable *idxbl);
+       int add_patterns(ArrayList<Indexable*> *drag_assets);
 
        char title[BCSTRLEN];
        int awindow_folder;
+       int is_clips;
 };
 
 class BinFolders : public ArrayList<BinFolder *>
@@ -520,6 +523,15 @@ public:
        BinFolderList *folder_list;
 };
 
+class BinFolderApplyFilter : public BC_GenericButton
+{
+public:
+       BinFolderApplyFilter(BinFolderList *folder_list, int x, int y);
+       ~BinFolderApplyFilter();
+       int handle_event();
+       BinFolderList *folder_list;
+};
+
 class NewFolderGUI : public BC_Window
 {
 public:
@@ -541,9 +553,10 @@ public:
        BC_Window *new_gui();
        void handle_done_event(int result);
        void handle_close_event(int result);
-       void start(int x, int y, int w, int h);
+       void start(int x, int y, int w, int h, int is_clips);
 
        int wx, wy, ww, wh;
+       int is_clips;
        AWindowGUI *agui;
        NewFolderGUI *window;
 };
@@ -565,6 +578,8 @@ public:
        BinFolderList *folder_list;
        BinFolderAddFilter *add_filter;
        BinFolderDelFilter *del_filter;
+       BinFolderApplyFilter *apply_filter;
+       BC_Title *text_title;
        BC_TextBox *text_box;
        Atom modify_folder_xatom;
        BC_OKButton *ok_button;
@@ -585,16 +600,18 @@ public:
        AWindowGUI *agui;
        BinFolder *original, *folder;
        ModifyFolderGUI *window;
+       EDL *modify_edl;
 };
 
 
 class ModifyTargetGUI : public BC_Window
 {
 public:
-       ModifyTargetGUI(ModifyTargetThread *thread);
+       ModifyTargetGUI(ModifyTargetThread *thread, int allow_resize=0);
        ~ModifyTargetGUI();
        virtual void create_objects() {}
        virtual void update() {}
+       virtual int resize_event(int w, int h);
        void create_objects(BC_TextBox *&text_box);
 
        ModifyTargetThread *thread;
@@ -622,9 +639,13 @@ public:
        ModifyTargetPatternsGUI(ModifyTargetThread *thread);
        ~ModifyTargetPatternsGUI();
        void create_objects();
+       int resize_event(int w, int h);
        void update();
 
        BC_ScrollTextBox *scroll_text_box;
+       BC_OKButton *ok_button;
+       BC_CancelButton *cancel_button;
+       int text_rowsz;
 };
 
 class ModifyTargetFileSizeGUI : public ModifyTargetGUI