sams folder icons, snap drag, sort folders, in/out ptr bug, interp bg fix, filebox...
[goodguy/history.git] / cinelerra-5.1 / cinelerra / awindowgui.h
index 501de6dcc611ae0578ee89e6d0ee2f195b37ab8b..e8bd76f542c52623a5beb977be8aedf719974d45 100644 (file)
@@ -50,8 +50,7 @@ public:
        AssetPicon(MWindow *mwindow, AWindowGUI *gui, EDL *edl);
        AssetPicon(MWindow *mwindow, AWindowGUI *gui, PluginServer *plugin);
        AssetPicon(MWindow *mwindow, AWindowGUI *gui, Label *plugin);
-       AssetPicon(MWindow *mwindow, AWindowGUI *gui, int folder);
-       AssetPicon(MWindow *mwindow, AWindowGUI *gui, const char *folder_name, int folder_num);
+       AssetPicon(MWindow *mwindow, AWindowGUI *gui, int folder, int persist);
        virtual ~AssetPicon();
 
        void create_objects();
@@ -140,6 +139,7 @@ public:
        void async_update_assets();     // Sends update asset event
        void update_effects();
        void sort_assets();
+       void sort_folders();
        void reposition_objects();
        static int folder_number(const char *name);
 // Call back for MWindow entry point
@@ -167,6 +167,12 @@ public:
        void stop_vicon_drawing();
        void update_picon(Indexable *indexable);
 
+       VFrame *get_picon(const char *name, const char *plugin_icons);
+       VFrame *get_picon(const char *name);
+       void resource_icon(VFrame *&vfrm, BC_Pixmap *&icon, const char *fn, int idx);
+       void theme_icon(VFrame *&vfrm, BC_Pixmap *&icon, const char *fn);
+       void plugin_icon(VFrame *&vfrm, BC_Pixmap *&icon, const char *fn, unsigned char *png);
+
        MWindow *mwindow;
        AWindow *awindow;
 
@@ -188,24 +194,35 @@ public:
 // Currently displayed data for listboxes
 // Currently displayed assets + comments
        ArrayList<BC_ListBoxItem*> displayed_assets[2];
-
        const char *asset_titles[ASSET_COLUMNS];
+       int displayed_folder;
 
        BC_Hash *defaults;
 // Persistent icons
-       BC_Pixmap *folder_icon;
-       BC_Pixmap *file_icon;
-       BC_Pixmap *audio_icon;
-       BC_Pixmap *video_icon;
-       BC_Pixmap *label_icon;
+       BC_Pixmap *aeffect_folder_icon;      VFrame *aeffect_folder_vframe;
+       BC_Pixmap *atransition_folder_icon;  VFrame *atransition_folder_vframe;
+       BC_Pixmap *clip_folder_icon;         VFrame *clip_folder_vframe;
+       BC_Pixmap *label_folder_icon;        VFrame *label_folder_vframe;
+       BC_Pixmap *media_folder_icon;        VFrame *media_folder_vframe;
+       BC_Pixmap *proxy_folder_icon;        VFrame *proxy_folder_vframe;
+       BC_Pixmap *veffect_folder_icon;      VFrame *veffect_folder_vframe;
+       BC_Pixmap *vtransition_folder_icon;  VFrame *vtransition_folder_vframe;
+       BC_Pixmap *folder_icons[AWINDOW_FOLDERS];
+
+       BC_Pixmap *folder_icon;       VFrame *folder_vframe;
+       BC_Pixmap *file_icon;         VFrame *file_vframe;
+       BC_Pixmap *audio_icon;        VFrame *audio_vframe;
+       BC_Pixmap *video_icon;        VFrame *video_vframe;
+       BC_Pixmap *label_icon;        VFrame *label_vframe;
        BC_Pixmap *clip_icon;         VFrame *clip_vframe;
        BC_Pixmap *atransition_icon;  VFrame *atransition_vframe;
        BC_Pixmap *vtransition_icon;  VFrame *vtransition_vframe;
        BC_Pixmap *aeffect_icon;      VFrame *aeffect_vframe;
+       BC_Pixmap *veffect_icon;      VFrame *veffect_vframe;
        BC_Pixmap *ladspa_icon;       VFrame *ladspa_vframe;
        BC_Pixmap *ff_aud_icon;       VFrame *ff_aud_vframe;
        BC_Pixmap *ff_vid_icon;       VFrame *ff_vid_vframe;
-       BC_Pixmap *veffect_icon;      VFrame *veffect_vframe;
+
        NewFolderThread *newfolder_thread;
 
 // Popup menus