olaf neophyte and de.po updates, valgrind tweaks, delete green lady, inkscape dpi=96
[goodguy/history.git] / cinelerra-5.1 / cinelerra / awindowgui.h
index c26d4e87dc2e809a124e7fc23c4040c58fc4b6ea..d135145555cd4bb8552cea543ff19d37d20ea4ea 100644 (file)
 #include "samples.inc"
 #include "vicon.h"
 
-class AssetPicon : public BC_ListBoxItem
+class AWindowFolderItem : public BC_ListBoxItem
+{
+public:
+       AWindowFolderItem();
+       AWindowFolderItem(const char *text, int color = -1);
+       AWindowFolderItem(const char *text, BC_Pixmap *icon, int color = -1);
+
+       AssetPicon *get_picon();
+       int matches(const char *text);
+
+       AWindowFolderItem *parent;
+};
+
+class AssetPicon : public AWindowFolderItem
 {
 public:
        AssetPicon(MWindow *mwindow, AWindowGUI *gui, Indexable *indexable);
@@ -76,6 +89,9 @@ public:
        VFrame *icon_vframe;
        VFrame *vicon_frame;
        int foldernum;
+// sublist items if set
+       AWindowFolderSubItems *sub_items;
+
 // ID of thing pointed to
        int id;
 
@@ -191,8 +207,7 @@ public:
                int is_realtime,
                int is_transition);
        void create_label_folder();
-       void copy_picons(ArrayList<BC_ListBoxItem*> *dst,
-               ArrayList<BC_ListBoxItem*> *src, int folder);
+       void copy_picons(AssetPicon *picon, ArrayList<BC_ListBoxItem*> *src);
        void sort_picons(ArrayList<BC_ListBoxItem*> *src);
 // Return the selected asset in asset_list
        Indexable* selected_asset();
@@ -344,6 +359,22 @@ public:
        AWindowGUI *gui;
 };
 
+class AWindowSubFolderNames : public ArrayList<const char *>
+{
+public:
+       AWindowSubFolderNames() { set_array_delete(); }
+       ~AWindowSubFolderNames() { remove_all_objects(); }
+};
+
+class AWindowFolderSubItems : public AWindowFolderItem
+{
+public:
+       AWindowFolderSubItems(AWindowFolderItem *parent, const char *text);
+       int matches(const char *text);
+
+       AWindowSubFolderNames names;
+};
+
 class AWindowFolders : public BC_ListBox
 {
 public:
@@ -353,9 +384,12 @@ public:
        int selection_changed();
        int button_press_event();
        int drag_stop();
+       int load_expanders();
 
        MWindow *mwindow;
        AWindowGUI *gui;
+// last selection
+       AWindowFolderItem *last_item0, *last_item1;
 };
 
 class AWindowSearchTextBox : public BC_TextBox