Main Page | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Class Members | File Members

assetedit.h

Go to the documentation of this file.
00001 #ifndef ASSETEDIT_H
00002 #define ASSETEDIT_H
00003 
00004 #include "asset.inc"
00005 #include "awindow.inc"
00006 #include "guicast.h"
00007 #include "bitspopup.inc"
00008 #include "browsebutton.h"
00009 #include "formatpopup.h"
00010 #include "mwindow.h"
00011 #include "thread.h"
00012 
00013 #include <libintl.h>
00014 #define _(String) gettext(String)
00015 #define gettext_noop(String) String
00016 #define N_(String) gettext_noop (String)
00017 
00018 class AssetEditTCStartTextBox;
00019 class AssetEditReelNumber;
00020 class AssetEditReelName;
00021 class AssetEditByteOrderHILO;
00022 class AssetEditByteOrderLOHI;
00023 class AssetEditPath;
00024 class AssetEditPathText;
00025 class AssetEditWindow;
00026 
00027 class AssetEdit : public Thread
00028 {
00029 public:
00030         AssetEdit(MWindow *mwindow);
00031         ~AssetEdit();
00032         
00033         void edit_asset(Asset *asset);
00034         int set_asset(Asset *asset);
00035         void run();
00036 
00037         Asset *asset, *new_asset;
00038         MWindow *mwindow;
00039         AssetEditWindow *window;
00040 };
00041 
00042 
00043 
00044 // Pcm is the only format users should be able to fix.
00045 // All other formats display information about the file in read-only.
00046 
00047 class AssetEditWindow : public BC_Window
00048 {
00049 public:
00050         AssetEditWindow(MWindow *mwindow, AssetEdit *asset_edit);
00051         ~AssetEditWindow();
00052 
00053         int create_objects();
00054         Asset *asset;
00055         AssetEditPathText *path_text;
00056         AssetEditPath *path_button;
00057         AssetEditByteOrderHILO *hilo;
00058         AssetEditByteOrderLOHI *lohi;
00059         BitsPopup *bitspopup;
00060         int allow_edits;
00061         MWindow *mwindow;
00062         AssetEdit *asset_edit;
00063 };
00064 
00065 
00066 class AssetEditPath : public BrowseButton
00067 {
00068 public:
00069         AssetEditPath(MWindow *mwindow, AssetEditWindow *fwindow, BC_TextBox *textbox, int y, char *text, char *window_title = "2000: Path", char *window_caption = _("Select a file"));
00070         ~AssetEditPath();
00071         
00072         AssetEditWindow *fwindow;
00073 };
00074 
00075 
00076 class AssetEditPathText : public BC_TextBox
00077 {
00078 public:
00079         AssetEditPathText(AssetEditWindow *fwindow, int y);
00080         ~AssetEditPathText();
00081         int handle_event();
00082 
00083         AssetEditWindow *fwindow;
00084 };
00085 
00086 
00087 
00088 class AssetEditFormat : public FormatPopup
00089 {
00090 public:
00091         AssetEditFormat(AssetEditWindow *fwindow, char* default_, int y);
00092         ~AssetEditFormat();
00093         
00094         int handle_event();
00095         AssetEditWindow *fwindow;
00096 };
00097 
00098 
00099 class AssetEditChannels : public BC_TumbleTextBox
00100 {
00101 public:
00102         AssetEditChannels(AssetEditWindow *fwindow, char *text, int x, int y);
00103         
00104         int handle_event();
00105         
00106         AssetEditWindow *fwindow;
00107 };
00108 
00109 class AssetEditRate : public BC_TextBox
00110 {
00111 public:
00112         AssetEditRate(AssetEditWindow *fwindow, char *text, int x, int y);
00113         
00114         int handle_event();
00115         
00116         AssetEditWindow *fwindow;
00117 };
00118 
00119 class AssetEditFRate : public BC_TextBox
00120 {
00121 public:
00122         AssetEditFRate(AssetEditWindow *fwindow, char *text, int x, int y);
00123         
00124         int handle_event();
00125         
00126         AssetEditWindow *fwindow;
00127 };
00128 
00129 class Interlaceautofix : public BC_CheckBox
00130 {
00131 public:
00132         Interlaceautofix(MWindow *mwindow,AssetEditWindow *fwindow, int x, int y);
00133         ~Interlaceautofix();
00134         int handle_event();
00135 
00136         void showhideotherwidgets();
00137 
00138         AssetEditWindow* fwindow;
00139         MWindow *mwindow;
00140 
00141         BC_TextBox *ilacemode_textbox;
00142         BC_ListBox *ilacemode_listbox;
00143         BC_TextBox *ilacefixmethod_textbox;
00144         BC_ListBox *ilacefixmethod_listbox;
00145 private:
00146         char string[BCTEXTLEN];
00147 };
00148 
00149 class AssetEditILaceautofixoption : public BC_TextBox
00150 {
00151 public:
00152         AssetEditILaceautofixoption(AssetEditWindow *fwindow, char *text, int thedefault, int x, int y, int w);
00153 
00154         int handle_event();
00155         int thedefault;
00156         AssetEditWindow *fwindow;
00157 };
00158 
00159 class AssetEditILacemode : public BC_TextBox
00160 {
00161 public:
00162         AssetEditILacemode(AssetEditWindow *fwindow, char *text, int thedefault, int x, int y, int w);
00163         int handle_event();
00164         int thedefault; 
00165         AssetEditWindow *fwindow;
00166 };
00167 
00168 class AssetEditInterlacemodePulldown : public BC_ListBox
00169 {
00170 public:
00171         AssetEditInterlacemodePulldown(MWindow *mwindow, 
00172                                 BC_TextBox *output_text, 
00173                                 int *output_value,
00174                                 ArrayList<BC_ListBoxItem*> *data,
00175                                 Interlaceautofix *fixoption_chkbox,
00176                                 int x,
00177                                 int y);
00178         int handle_event();
00179         char* interlacemode_to_text();
00180         MWindow *mwindow;
00181         BC_TextBox *output_text;
00182         int *output_value;
00183         Interlaceautofix *fixoption_chkbox;
00184 private:
00185         char string[BCTEXTLEN];
00186 };
00187 
00188 class AssetEditILacefixmethod : public BC_TextBox
00189 {
00190 public:
00191         AssetEditILacefixmethod(AssetEditWindow *fwindow, char *text, int thedefault, int x, int y, int w);
00192         
00193         int handle_event();
00194         int thedefault;
00195         AssetEditWindow *fwindow;
00196 };
00197 
00198 class AssetEditHeader : public BC_TextBox
00199 {
00200 public:
00201         AssetEditHeader(AssetEditWindow *fwindow, char *text, int x, int y);
00202         
00203         int handle_event();
00204         
00205         AssetEditWindow *fwindow;
00206 };
00207 
00208 class AssetEditByteOrderLOHI : public BC_Radial
00209 {
00210 public:
00211         AssetEditByteOrderLOHI(AssetEditWindow *fwindow, int value, int x, int y);
00212         
00213         int handle_event();
00214         
00215         AssetEditWindow *fwindow;
00216 };
00217 
00218 class AssetEditByteOrderHILO : public BC_Radial
00219 {
00220 public:
00221         AssetEditByteOrderHILO(AssetEditWindow *fwindow, int value, int x, int y);
00222         
00223         int handle_event();
00224         
00225         AssetEditWindow *fwindow;
00226 };
00227 
00228 class AssetEditSigned : public BC_CheckBox
00229 {
00230 public:
00231         AssetEditSigned(AssetEditWindow *fwindow, int value, int x, int y);
00232         
00233         int handle_event();
00234         
00235         AssetEditWindow *fwindow;
00236 };
00237 
00238 class AssetEditReelName : public BC_TextBox
00239 {
00240 public:
00241         AssetEditReelName(AssetEditWindow *fwindow, int x, int y);
00242         ~AssetEditReelName();
00243 
00244         int handle_event();
00245         
00246         AssetEditWindow *fwindow;
00247 };
00248 
00249 class AssetEditReelNumber : public BC_TextBox
00250 {
00251 public:
00252         AssetEditReelNumber(AssetEditWindow *fwindow, int x, int y);
00253         ~AssetEditReelNumber();
00254         
00255         int handle_event();
00256         
00257         AssetEditWindow *fwindow;
00258 };
00259 
00260 class AssetEditTCStartTextBox : public BC_TextBox
00261 {
00262 public:
00263         AssetEditTCStartTextBox(AssetEditWindow *fwindow, int value, int x, int y, int multiplier);
00264         ~AssetEditTCStartTextBox();
00265         int handle_event();
00266         
00267         AssetEditWindow *fwindow;
00268 // Multiplier is the # of frames for whatever unit of time this is.
00269 // fps dependent, and unit dependent
00270         int multiplier;
00271         int previous;
00272 };
00273 #endif

Generated on Sun Jan 8 13:38:50 2006 for Cinelerra-svn by  doxygen 1.4.4