#ifndef ASSETPOPUP_H
#define ASSETPOPUP_H
-class AssetPopupInfo;
-class AssetPopupBuildIndex;
-class AssetPopupView;
-class AssetPopupViewWindow;
-
#include "assetedit.inc"
+#include "assetpopup.inc"
#include "awindowgui.inc"
-#include "awindowmenu.inc"
#include "edl.inc"
#include "guicast.h"
#include "assets.inc"
AssetPopupBuildIndex *index;
AssetPopupView *view;
AssetPopupViewWindow *view_window;
-// AssetListFormat *format;
+ AssetPopupMixer *mixer;
+ AWindowListFormat *format;
};
class AssetPopupInfo : public BC_MenuItem
AssetPopup *popup;
};
+class AssetPopupMixer : public BC_MenuItem
+{
+public:
+ AssetPopupMixer(MWindow *mwindow, AssetPopup *popup);
+ ~AssetPopupMixer();
+
+ int handle_event();
+
+ MWindow *mwindow;
+ AssetPopup *popup;
+};
+
class AssetPopupPaste : public BC_MenuItem
{
public:
AssetPopup *popup;
};
+class AssetListMenu : public BC_PopupMenu
+{
+public:
+ AssetListMenu(MWindow *mwindow, AWindowGUI *gui);
+ ~AssetListMenu();
+
+ void create_objects();
+ void update_titles(int shots);
+
+ MWindow *mwindow;
+ AWindowGUI *gui;
+ AssetPopupLoadFile *load_file;
+ AWindowListFormat *format;
+ AssetSnapshot *asset_snapshot;
+ AssetGrabshot *asset_grabshot;
+ int shots_displayed;
+};
+
+class AssetPopupLoadFile : public BC_MenuItem
+{
+public:
+ AssetPopupLoadFile(MWindow *mwindow, AWindowGUI *gui);
+ ~AssetPopupLoadFile();
+
+ int handle_event();
+
+ MWindow *mwindow;
+ AWindowGUI *gui;
+};
+
+class AssetListCopy : public BC_MenuItem
+{
+public:
+ AssetListCopy(MWindow *mwindow, AWindowGUI *gui);
+ ~AssetListCopy();
+
+ int handle_event();
+
+ MWindow *mwindow;
+ AWindowGUI *gui;
+ AssetCopyDialog *copy_dialog;
+};
+
+class AssetCopyDialog : public BC_DialogThread
+{
+public:
+ AssetCopyDialog(AssetListCopy *copy);
+ ~AssetCopyDialog();
+
+ void start(char *text, int x, int y);
+ BC_Window* new_gui();
+ void handle_done_event(int result);
+ void handle_close_event(int result);
+
+ char *text;
+ int x, y;
+ AssetListCopy *copy;
+ AssetCopyWindow *copy_window;
+};
+
+class AssetCopyWindow : public BC_Window
+{
+public:
+ AssetCopyWindow(AssetCopyDialog *copy_dialog);
+ ~AssetCopyWindow();
+
+ void create_objects();
+ int resize_event(int w, int h);
+
+ AssetCopyDialog *copy_dialog;
+ BC_ScrollTextBox *file_list;
+};
+
+class AssetListPaste : public BC_MenuItem
+{
+public:
+ AssetListPaste(MWindow *mwindow, AWindowGUI *gui);
+ ~AssetListPaste();
+
+ int handle_event();
+
+ MWindow *mwindow;
+ AWindowGUI *gui;
+ AssetPasteDialog *paste_dialog;
+};
+
+class AssetPasteDialog : public BC_DialogThread
+{
+public:
+ AssetPasteDialog(AssetListPaste *paste);
+ ~AssetPasteDialog();
+
+ BC_Window* new_gui();
+ void handle_done_event(int result);
+ void handle_close_event(int result);
+ void start(int x, int y);
+
+ AssetListPaste *paste;
+ AssetPasteWindow *paste_window;
+ int x, y;
+};
+
+class AssetPasteWindow : public BC_Window
+{
+public:
+ AssetPasteWindow(AssetPasteDialog *paste_dialog);
+ ~AssetPasteWindow();
+
+ void create_objects();
+ int resize_event(int w, int h);
+
+ AssetPasteDialog *paste_dialog;
+ BC_ScrollTextBox *file_list;
+};
+
+class AssetSnapshot : public BC_MenuItem
+{
+public:
+ AssetSnapshot(MWindow *mwindow, AssetListMenu *asset_list_menu);
+ ~AssetSnapshot();
+
+ MWindow *mwindow;
+ AssetListMenu *asset_list_menu;
+};
+
+class SnapshotSubMenu : public BC_SubMenu
+{
+public:
+ SnapshotSubMenu(AssetSnapshot *asset_snapshot);
+ ~SnapshotSubMenu();
+
+ AssetSnapshot *asset_snapshot;
+};
+
+class SnapshotMenuItem : public BC_MenuItem
+{
+public:
+ SnapshotMenuItem(SnapshotSubMenu *submenu, const char *text, int mode);
+ ~SnapshotMenuItem();
+
+ int handle_event();
+ SnapshotSubMenu *submenu;
+ int mode;
+};
+
+
+class AssetGrabshot : public BC_MenuItem
+{
+public:
+ AssetGrabshot(MWindow *mwindow, AssetListMenu *asset_list_menu);
+ ~AssetGrabshot();
+
+ MWindow *mwindow;
+ AssetListMenu *asset_list_menu;
+};
+
+class GrabshotSubMenu : public BC_SubMenu
+{
+public:
+ GrabshotSubMenu(AssetGrabshot *asset_grabshot);
+ ~GrabshotSubMenu();
+
+ AssetGrabshot *asset_grabshot;
+};
+
+class GrabshotMenuItem : public BC_MenuItem
+{
+public:
+ GrabshotMenuItem(GrabshotSubMenu *submenu, const char *text, int mode);
+ ~GrabshotMenuItem();
+
+ int handle_event();
+ GrabshotSubMenu *submenu;
+ int mode;
+ GrabshotThread *grab_thread;
+};
+
+class GrabshotThread : public Thread
+{
+public:
+ GrabshotThread(MWindow* mwindow);
+ ~GrabshotThread();
+
+ MWindow *mwindow;
+ GrabshotPopup *popup;
+ BC_Popup *edge[4];
+ int done;
+
+ void start(GrabshotMenuItem *menu_item);
+ void run();
+};
+
+class GrabshotPopup : public BC_Popup
+{
+public:
+ GrabshotPopup(GrabshotThread *grab_thread, int mode);
+ ~GrabshotPopup();
+ int grab_event(XEvent *event);
+ void draw_selection(int invert);
+ void update();
+
+ GrabshotThread *grab_thread;
+ int mode;
+ int dragging;
+ int grab_color;
+ int x0, y0, x1, y1;
+ int lx0, ly0, lx1, ly1;
+};
#endif