00001 #ifndef LOADFILE_H
00002 #define LOADFILE_H
00003
00004 #include "guicast.h"
00005 #include "loadmode.inc"
00006 #include "mainmenu.inc"
00007 #include "mwindow.inc"
00008 #include "thread.h"
00009
00010 class LoadFileThread;
00011 class LoadFileWindow;
00012
00013 class Load : public BC_MenuItem
00014 {
00015 public:
00016 Load(MWindow *mwindow, MainMenu *mainmenu);
00017 ~Load();
00018
00019 int create_objects();
00020 int handle_event();
00021
00022 MWindow *mwindow;
00023 MainMenu *mainmenu;
00024 LoadFileThread *thread;
00025 };
00026
00027 class LoadFileThread : public Thread
00028 {
00029 public:
00030 LoadFileThread(MWindow *mwindow, Load *menuitem);
00031 ~LoadFileThread();
00032
00033 void run();
00034
00035 MWindow *mwindow;
00036 Load *load;
00037 int load_mode;
00038 };
00039
00040 class NewTimeline;
00041 class NewConcatenate;
00042 class AppendNewTracks;
00043 class EndofTracks;
00044 class ResourcesOnly;
00045 class ReelWindow;
00046 class OverwriteReel;
00047
00048 class LoadFileWindow : public BC_FileBox
00049 {
00050 public:
00051 LoadFileWindow(MWindow *mwindow,
00052 LoadFileThread *thread,
00053 char *init_directory);
00054 ~LoadFileWindow();
00055
00056 int create_objects();
00057 int resize_event(int w, int h);
00058
00059 LoadFileThread *thread;
00060 LoadMode *loadmode;
00061 MWindow *mwindow;
00062 NewTimeline *newtimeline;
00063 NewConcatenate *newconcatenate;
00064 AppendNewTracks *newtracks;
00065 EndofTracks *concatenate;
00066 ResourcesOnly *resourcesonly;
00067 };
00068
00069 class NewTimeline : public BC_Radial
00070 {
00071 public:
00072 NewTimeline(int x, int y, LoadFileWindow *window);
00073 int handle_event();
00074 LoadFileWindow *window;
00075 };
00076
00077 class NewConcatenate : public BC_Radial
00078 {
00079 public:
00080 NewConcatenate(int x, int y, LoadFileWindow *window);
00081 int handle_event();
00082 LoadFileWindow *window;
00083 };
00084
00085 class AppendNewTracks : public BC_Radial
00086 {
00087 public:
00088 AppendNewTracks(int x, int y, LoadFileWindow *window);
00089 int handle_event();
00090 LoadFileWindow *window;
00091 };
00092
00093 class EndofTracks : public BC_Radial
00094 {
00095 public:
00096 EndofTracks(int x, int y, LoadFileWindow *window);
00097 int handle_event();
00098 LoadFileWindow *window;
00099 };
00100
00101 class ResourcesOnly : public BC_Radial
00102 {
00103 public:
00104 ResourcesOnly(int x, int y, LoadFileWindow *window);
00105 int handle_event();
00106 LoadFileWindow *window;
00107 };
00108
00109
00110
00111 class LocateFileWindow : public BC_FileBox
00112 {
00113 public:
00114 LocateFileWindow(MWindow *mwindow, char *init_directory, char *old_filename);
00115 ~LocateFileWindow();
00116 MWindow *mwindow;
00117 };
00118
00119 class LoadPrevious : public BC_MenuItem, public Thread
00120 {
00121 public:
00122 LoadPrevious(MWindow *mwindow);
00123 int handle_event();
00124 void run();
00125
00126 int set_path(char *path);
00127
00128 MWindow *mwindow;
00129 Load *loadfile;
00130 char path[1024];
00131 };
00132
00133 class LoadBackup : public BC_MenuItem
00134 {
00135 public:
00136 LoadBackup(MWindow *mwindow);
00137 int handle_event();
00138 MWindow *mwindow;
00139 };
00140
00141 class ReelWindow : public BC_Window
00142 {
00143 public:
00144 ReelWindow(MWindow *mwindow);
00145 ~ReelWindow();
00146
00147 int create_objects();
00148 int resize_event(int w, int h);
00149
00150 BC_OKButton *ok_button;
00151 BC_CancelButton *cancel_button;
00152 BC_Title *reel_name_title, *reel_number_title;
00153 BC_TextBox *reel_name, *reel_number;
00154 OverwriteReel *checkbox;
00155 int overwrite_reel;
00156
00157 MWindow *mwindow;
00158 };
00159
00160
00161 class OverwriteReel : public BC_CheckBox
00162 {
00163 public:
00164 OverwriteReel(ReelWindow *lwindow,
00165 int x, int y, int value);
00166
00167 int handle_event();
00168
00169 ReelWindow *rwindow;
00170 };
00171
00172 #endif