00001
00002
00003 #ifndef ui_ae_h
00004 #define ui_ae_h
00005 #include <FL/Fl.H>
00006 #include <FL/Fl_Double_Window.H>
00007 #include "imgviewer.h"
00008 #include <FL/Fl_Button.H>
00009 #include <FL/Fl_Light_Button.H>
00010 #include <FL/Fl_Group.H>
00011 #include <FL/Fl_Input.H>
00012 #include <FL/Fl_Slider.H>
00013 #include "defaults.h"
00014 #include "sndfile-play.h"
00015 #include <FL/Fl_Output.H>
00016 #include <sys/types.h>
00017 #include <unistd.h>
00018 #include <FL/Fl_Text_Display.H>
00019 #include <FL/Fl_Choice.H>
00020 #include <FL/Fl_Repeat_Button.H>
00021 #include <FL/Fl_Value_Input.H>
00022 #include <FL/Fl_Check_Button.H>
00023 #include <FL/Fl_Round_Button.H>
00024 #include <FL/Fl_Return_Button.H>
00025
00026 class MuanUI {
00027 public:
00028 Boolean redraw_message;
00029 int camera_connection;
00030 Boolean camera_on;
00031 private:
00032 Boolean insert_on;
00033 char file_name[150];
00034 public:
00035 Boolean file_changed;
00036 int duration_default;
00037 int load_mode;
00038 char* first_frame_file;
00039 char* save_path;
00040 int auto_save;
00041 char* auto_save_file;
00042 int auto_save_time;
00043 int play_sound;
00044 char* fw_device;
00045 char* v4l_device;
00046 int v4l_channel;
00047 int v4l_mode;
00048 Fl_Double_Window* make_window();
00049 Fl_Double_Window *win_principal;
00050 private:
00051 void cb_win_principal_i(Fl_Double_Window*, void*);
00052 static void cb_win_principal(Fl_Double_Window*, void*);
00053 public:
00054 ImageViewer *imgv;
00055 Fl_Button *btn_new;
00056 private:
00057 void cb_btn_new_i(Fl_Button*, void*);
00058 static void cb_btn_new(Fl_Button*, void*);
00059 public:
00060 Fl_Button *btn_load;
00061 private:
00062 void cb_btn_load_i(Fl_Button*, void*);
00063 static void cb_btn_load(Fl_Button*, void*);
00064 public:
00065 Fl_Button *btn_insert;
00066 private:
00067 void cb_btn_insert_i(Fl_Button*, void*);
00068 static void cb_btn_insert(Fl_Button*, void*);
00069 public:
00070 Fl_Button *btn_save;
00071 private:
00072 void cb_btn_save_i(Fl_Button*, void*);
00073 static void cb_btn_save(Fl_Button*, void*);
00074 public:
00075 Fl_Button *btn_save_as;
00076 private:
00077 void cb_btn_save_as_i(Fl_Button*, void*);
00078 static void cb_btn_save_as(Fl_Button*, void*);
00079 public:
00080 Fl_Button *btn_export;
00081 private:
00082 void cb_btn_export_i(Fl_Button*, void*);
00083 static void cb_btn_export(Fl_Button*, void*);
00084 public:
00085 Fl_Button *btn_import;
00086 private:
00087 void cb_btn_import_i(Fl_Button*, void*);
00088 static void cb_btn_import(Fl_Button*, void*);
00089 public:
00090 Fl_Button *btn_mode;
00091 private:
00092 void cb_btn_mode_i(Fl_Button*, void*);
00093 static void cb_btn_mode(Fl_Button*, void*);
00094 public:
00095 Fl_Light_Button *btn_range;
00096 private:
00097 void cb_btn_range_i(Fl_Light_Button*, void*);
00098 static void cb_btn_range(Fl_Light_Button*, void*);
00099 public:
00100 Fl_Group *gb_trecho;
00101 Fl_Input *edt_begin;
00102 private:
00103 void cb_edt_begin_i(Fl_Input*, void*);
00104 static void cb_edt_begin(Fl_Input*, void*);
00105 public:
00106 Fl_Input *edt_end;
00107 private:
00108 void cb_edt_end_i(Fl_Input*, void*);
00109 static void cb_edt_end(Fl_Input*, void*);
00110 public:
00111 Fl_Button *btn_begin;
00112 private:
00113 void cb_btn_begin_i(Fl_Button*, void*);
00114 static void cb_btn_begin(Fl_Button*, void*);
00115 public:
00116 Fl_Button *btn_end;
00117 private:
00118 void cb_btn_end_i(Fl_Button*, void*);
00119 static void cb_btn_end(Fl_Button*, void*);
00120 public:
00121 Fl_Light_Button *btn_loop;
00122 private:
00123 void cb_btn_loop_i(Fl_Light_Button*, void*);
00124 static void cb_btn_loop(Fl_Light_Button*, void*);
00125 public:
00126 Fl_Light_Button *btn_flick;
00127 private:
00128 void cb_btn_flick_i(Fl_Light_Button*, void*);
00129 static void cb_btn_flick(Fl_Light_Button*, void*);
00130 public:
00131 Fl_Slider *sl_flick;
00132 private:
00133 void cb_sl_flick_i(Fl_Slider*, void*);
00134 static void cb_sl_flick(Fl_Slider*, void*);
00135 public:
00136 Fl_Button *btn_first;
00137 private:
00138 void cb_btn_first_i(Fl_Button*, void*);
00139 static void cb_btn_first(Fl_Button*, void*);
00140 public:
00141 Fl_Button *btn_rew;
00142 private:
00143 void cb_btn_rew_i(Fl_Button*, void*);
00144 static void cb_btn_rew(Fl_Button*, void*);
00145 public:
00146 Fl_Button *btn_pause;
00147 private:
00148 void cb_btn_pause_i(Fl_Button*, void*);
00149 static void cb_btn_pause(Fl_Button*, void*);
00150 public:
00151 Fl_Button *btn_play;
00152 private:
00153 void cb_btn_play_i(Fl_Button*, void*);
00154 static void cb_btn_play(Fl_Button*, void*);
00155 public:
00156 Fl_Button *btn_fwd;
00157 private:
00158 void cb_btn_fwd_i(Fl_Button*, void*);
00159 static void cb_btn_fwd(Fl_Button*, void*);
00160 public:
00161 Fl_Button *btn_last;
00162 private:
00163 void cb_btn_last_i(Fl_Button*, void*);
00164 static void cb_btn_last(Fl_Button*, void*);
00165 public:
00166 Fl_Input *edt_go_to_frame;
00167 private:
00168 void cb_edt_go_to_frame_i(Fl_Input*, void*);
00169 static void cb_edt_go_to_frame(Fl_Input*, void*);
00170 public:
00171 Fl_Input *edt_duration;
00172 private:
00173 void cb_edt_duration_i(Fl_Input*, void*);
00174 static void cb_edt_duration(Fl_Input*, void*);
00175 public:
00176 Fl_Button *btn_capture;
00177 private:
00178 void cb_btn_capture_i(Fl_Button*, void*);
00179 static void cb_btn_capture(Fl_Button*, void*);
00180 public:
00181 Fl_Output *lbl_version;
00182 Fl_Button *btn_exit;
00183 private:
00184 void cb_btn_exit_i(Fl_Button*, void*);
00185 static void cb_btn_exit(Fl_Button*, void*);
00186 public:
00187 Fl_Button *btn_about;
00188 private:
00189 void cb_btn_about_i(Fl_Button*, void*);
00190 static void cb_btn_about(Fl_Button*, void*);
00191 public:
00192 Fl_Button *btn_manual;
00193 private:
00194 void cb_btn_manual_i(Fl_Button*, void*);
00195 static void cb_btn_manual(Fl_Button*, void*);
00196 public:
00197 Fl_Button *btn_preferences;
00198 private:
00199 void cb_btn_preferences_i(Fl_Button*, void*);
00200 static void cb_btn_preferences(Fl_Button*, void*);
00201 public:
00202 Fl_Button *btn_clear;
00203 private:
00204 void cb_btn_clear_i(Fl_Button*, void*);
00205 static void cb_btn_clear(Fl_Button*, void*);
00206 public:
00207 Fl_Button *btn_remove;
00208 private:
00209 void cb_btn_remove_i(Fl_Button*, void*);
00210 static void cb_btn_remove(Fl_Button*, void*);
00211 public:
00212 Fl_Button *btn_remove_direct;
00213 private:
00214 void cb_btn_remove_direct_i(Fl_Button*, void*);
00215 static void cb_btn_remove_direct(Fl_Button*, void*);
00216 public:
00217 Fl_Button *btn_clear_range;
00218 private:
00219 void cb_btn_clear_range_i(Fl_Button*, void*);
00220 static void cb_btn_clear_range(Fl_Button*, void*);
00221 public:
00222 Fl_Group *gb_current;
00223 Fl_Output *out_frame_number;
00224 Fl_Input *out_current_frame_duration;
00225 Fl_Output *out_frame_pos;
00226 Fl_Group *gb_total;
00227 Fl_Output *out_tot_img_cap;
00228 Fl_Output *out_tot_frames;
00229 Fl_Text_Display *pn_message;
00230 Fl_Output *out_message;
00231 Fl_Text_Display *pn_file_name;
00232 Fl_Output *out_file_name;
00233 Fl_Light_Button *btn_fullscr;
00234 private:
00235 void cb_btn_fullscr_i(Fl_Light_Button*, void*);
00236 static void cb_btn_fullscr(Fl_Light_Button*, void*);
00237 public:
00238 Fl_Double_Window* make_preferences_subwindow();
00239 Fl_Double_Window *win_preferences;
00240 Fl_Choice *cmb_load_mode;
00241 Fl_Input *edt_first_frame_file;
00242 Fl_Repeat_Button *btn_first_frame_file;
00243 private:
00244 void cb_btn_first_frame_file_i(Fl_Repeat_Button*, void*);
00245 static void cb_btn_first_frame_file(Fl_Repeat_Button*, void*);
00246 public:
00247 Fl_Input *edt_save_path;
00248 Fl_Repeat_Button *btn_save_path;
00249 private:
00250 void cb_btn_save_path_i(Fl_Repeat_Button*, void*);
00251 static void cb_btn_save_path(Fl_Repeat_Button*, void*);
00252 public:
00253 Fl_Value_Input *edt_duration_default;
00254 Fl_Check_Button *ck_auto_save;
00255 private:
00256 void cb_ck_auto_save_i(Fl_Check_Button*, void*);
00257 static void cb_ck_auto_save(Fl_Check_Button*, void*);
00258 public:
00259 Fl_Group *gb_auto_save;
00260 Fl_Input *edt_auto_save_file;
00261 Fl_Repeat_Button *btn_auto_save_file;
00262 private:
00263 void cb_btn_auto_save_file_i(Fl_Repeat_Button*, void*);
00264 static void cb_btn_auto_save_file(Fl_Repeat_Button*, void*);
00265 public:
00266 Fl_Value_Input *edt_auto_save_time;
00267 Fl_Output *out_seconds;
00268 Fl_Group *gb_camera_connection;
00269 Fl_Round_Button *btn_camera_firewire;
00270 Fl_Round_Button *btn_camera_v4l;
00271 Fl_Group *gb_v4l_conf;
00272 Fl_Input *edt_v4l_device_name;
00273 Fl_Group *gb_v4l_channel;
00274 Fl_Round_Button *btn_v4l_tv;
00275 Fl_Round_Button *btn_v4l_cp1;
00276 Fl_Round_Button *btn_v4l_svideo;
00277 Fl_Round_Button *btn_v4l_cp3;
00278 Fl_Group *gb_v4l_mode;
00279 Fl_Round_Button *btn_v4l_pal;
00280 Fl_Round_Button *btn_v4l_ntsc;
00281 Fl_Group *gb_fw_conf;
00282 Fl_Input *edt_fw_device_name;
00283 Fl_Return_Button *btn_save_pref;
00284 private:
00285 void cb_btn_save_pref_i(Fl_Return_Button*, void*);
00286 static void cb_btn_save_pref(Fl_Return_Button*, void*);
00287 public:
00288 Fl_Button *btn_cancel_pref;
00289 private:
00290 void cb_btn_cancel_pref_i(Fl_Button*, void*);
00291 static void cb_btn_cancel_pref(Fl_Button*, void*);
00292 public:
00293 Fl_Double_Window* make_about_window();
00294 Fl_Double_Window *win_about;
00295 Fl_Group *gb_img_about;
00296 Fl_Group *gb_nomes_visgraf;
00297 Fl_Group *gb_nomes_animamundi;
00298 Fl_Group *gb_nomes_ibm;
00299 Fl_Group *lbl_muan_about;
00300 Fl_Group *lbl_equipe_visgraf;
00301 Fl_Group *lbl_equipe_animamundi;
00302 Fl_Group *lbl_equipe_ibm;
00303 Fl_Button *btn_close_about;
00304 private:
00305 void cb_btn_close_about_i(Fl_Button*, void*);
00306 static void cb_btn_close_about(Fl_Button*, void*);
00307 public:
00308 Fl_Double_Window* make_splash_window();
00309 Fl_Double_Window *win_splash;
00310 Fl_Group *gb_img_splash;
00311 Fl_Group *lbl_muan_splash;
00312 Fl_Group *lbl_coord;
00313 Fl_Group *lbl_desenvolvimento;
00314 Fl_Group *lbl_parceria;
00315 Fl_Button *btn_iniciar;
00316 private:
00317 void cb_btn_iniciar_i(Fl_Button*, void*);
00318 static void cb_btn_iniciar(Fl_Button*, void*);
00319 public:
00320 void quit_muan();
00321 Boolean validate_range(int inicio, int fim, int total);
00322 void redraw_file_name();
00323 void fullscr();
00324 int file_exists(char *fname);
00325 void swap_mode();
00326 void set_memory_mode();
00327 int load();
00328 int insert();
00329 int load_file(char* fname);
00330 int check_file(Boolean _quit);
00331 int saveOLD(Boolean _quit);
00332 int save(Boolean _quit);
00333 int save_asOLD();
00334 int save_as(Boolean _quit);
00335 void save_file(char* _fname, Boolean _quit);
00336 void cb_export();
00337 void export_file(char* fname);
00338 int import_jpg_list();
00339 };
00340 #endif