#include "asset.inc"
#include "assets.inc"
#include "awindow.inc"
-#include "awindowmenu.inc"
+#include "awindowgui.inc"
+#include "clippopup.inc"
#include "edl.inc"
+#include "effectlist.inc"
+#include "folderlistmenu.inc"
#include "guicast.h"
+#include "labeledit.inc"
+#include "labelpopup.inc"
#include "labels.h"
#include "indexable.inc"
#include "mwindow.inc"
#include "pluginserver.inc"
#include "vicon.h"
-class AWindowAssets;
-class AWindowFolders;
-class AWindowNewFolder;
-class AWindowDeleteFolder;
-class AWindowRenameFolder;
-class AWindowDeleteDisk;
-class AWindowDeleteProject;
-class AWindowDivider;
-class AWindowInfo;
-class AWindowRedrawIndex;
-class AWindowPaste;
-class AWindowAppend;
-class AWindowView;
-class AddTools;
-class AddPluginsMenu;
-class AddPluginItem;
-class AVIconDrawing;
-
-class AssetPicon;
-class AssetVIcon;
-class LabelPopup;
-class LabelPopupEdit;
-class AWindowGUI;
-
class AssetPicon : public BC_ListBoxItem
{
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, const char *folder);
+ AssetPicon(MWindow *mwindow, AWindowGUI *gui, int folder, int persist);
+ AssetPicon(MWindow *mwindow, AWindowGUI *gui, const char *folder_name, int folder_num);
virtual ~AssetPicon();
void create_objects();
AWindowGUI *gui;
BC_Pixmap *icon;
VFrame *icon_vframe;
+ int foldernum;
// ID of thing pointed to
int id;
void update_effects();
void sort_assets();
void reposition_objects();
- int current_folder_number();
+ static int folder_number(const char *name);
// Call back for MWindow entry point
int drag_motion();
int drag_stop();
int is_transition);
void create_label_folder();
void copy_picons(ArrayList<BC_ListBoxItem*> *dst,
- ArrayList<BC_ListBoxItem*> *src,
- char *folder);
- void sort_picons(ArrayList<BC_ListBoxItem*> *src,
- char *folder);
+ ArrayList<BC_ListBoxItem*> *src, int folder);
+ void sort_picons(ArrayList<BC_ListBoxItem*> *src);
// Return the selected asset in asset_list
Indexable* selected_asset();
PluginServer* selected_plugin();
int load_defaults(BC_Hash *defaults);
void start_vicon_drawing();
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);
+ VFrame *resource_icon(VFrame *&vfrm, BC_Pixmap *&icon, const char *fn, int idx);
+ VFrame *theme_icon(VFrame *&vfrm, BC_Pixmap *&icon, const char *fn);
+ VFrame *plugin_icon(VFrame *&vfrm, BC_Pixmap *&icon, const char *fn, unsigned char *png);
MWindow *mwindow;
AWindow *awindow;
// 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 *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 *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;
+ BC_Pixmap *folder_icon; VFrame *folder_res, *folder_vframe;
+ BC_Pixmap *file_icon; VFrame *file_res, *file_vframe;
+ BC_Pixmap *audio_icon; VFrame *audio_res, *audio_vframe;
+ BC_Pixmap *video_icon; VFrame *video_res, *video_vframe;
+ BC_Pixmap *label_icon; VFrame *label_res, *label_vframe;
+ BC_Pixmap *clip_icon; VFrame *clip_res, *clip_vframe;
+ BC_Pixmap *atransition_icon; VFrame *atrans_res, *atransition_vframe;
+ BC_Pixmap *vtransition_icon; VFrame *vtrans_res, *vtransition_vframe;
+ BC_Pixmap *aeffect_icon; VFrame *aeffect_res, *aeffect_vframe;
+ BC_Pixmap *veffect_icon; VFrame *veffect_res, *veffect_vframe;
+ BC_Pixmap *ladspa_icon; VFrame *ladspa_res, *ladspa_vframe;
+ BC_Pixmap *ff_aud_icon; VFrame *ff_aud_res, *ff_aud_vframe;
+ BC_Pixmap *ff_vid_icon; VFrame *ff_vid_res, *ff_vid_vframe;
NewFolderThread *newfolder_thread;
// Popup menus
AssetPopup *asset_menu;
+ ClipPopup *clip_menu;
LabelPopup *label_menu;
+ EffectListMenu *effectlist_menu;
AssetListMenu *assetlist_menu;
+ ClipListMenu *cliplist_menu;
+ LabelListMenu *labellist_menu;
FolderListMenu *folderlist_menu;
AddTools *add_tools;
// Temporary for reading picons from files
int create_custom_xatoms();
// Function to overload to recieve customly defined atoms
virtual int recieve_custom_xatoms(xatom_event *event);
+ static const char *folder_names[];
private:
void update_folder_list();
int drag_motion_event();
int drag_stop_event();
int button_press_event();
- int button_release_event();
int column_resize_event();
int focus_in_event();
int focus_out_event();
int selection_changed();
int button_press_event();
- int button_release_event();
MWindow *mwindow;
AWindowGUI *gui;
int x, y;
};
-class LabelPopup : public BC_PopupMenu
-{
-public:
- LabelPopup(MWindow *mwindow, AWindowGUI *gui);
- ~LabelPopup();
-
- void create_objects();
-// Set mainsession with the current selections
- int update();
-
- MWindow *mwindow;
- AWindowGUI *gui;
-
- LabelPopupEdit *editlabel;
-};
-
-class LabelPopupEdit : public BC_MenuItem
-{
-public:
- LabelPopupEdit(MWindow *mwindow, LabelPopup *popup);
- ~LabelPopupEdit();
-
- int handle_event();
-
- MWindow *mwindow;
- LabelPopup *popup;
-};
-
class AddTools : public BC_PopupMenu
{
public:
MWindow *mwindow;
AWindowGUI *gui;
- AddPluginsMenu *add_plugins;
};
class AddPluginItem : public BC_MenuItem
~AVIconDrawing();
};
+
+class AWindowListFormat : public BC_MenuItem
+{
+public:
+ AWindowListFormat(MWindow *mwindow, AWindowGUI *gui);
+
+ void update();
+ int handle_event();
+ MWindow *mwindow;
+ AWindowGUI *gui;
+};
+
+
+class AWindowListSort : public BC_MenuItem
+{
+public:
+ AWindowListSort(MWindow *mwindow, AWindowGUI *gui);
+
+ void update();
+ int handle_event();
+ MWindow *mwindow;
+ AWindowGUI *gui;
+};
+
#endif