00001
00002
00003 #ifndef fluid_h
00004 #define fluid_h
00005 #include <FL/Fl.H>
00006 #include <string.h>
00007 #include <iostream>
00008 #include "global.h"
00009 #include <stdio.h>
00010 #include <list>
00011 using namespace std;
00012 class MainWindow;
00013 class ResultsWindow;
00014 class LoadWindow;
00015 LoadWindow* makeSelection();
00016 MainWindow* makeMain();
00017 ResultsWindow* makeResults();
00018 #include <FL/Fl_Double_Window.H>
00019 #include <FL/Fl_File_Browser.H>
00020 #include <FL/Fl_Button.H>
00021
00022 class LoadWindow : public Fl_Double_Window {
00023 void _LoadWindow();
00024 public:
00025 LoadWindow(int X, int Y, int W, int H, const char *L = 0);
00026 LoadWindow(int W, int H, const char *L = 0);
00027 private:
00028 void cb_Select_i(Fl_Button*, void*);
00029 static void cb_Select(Fl_Button*, void*);
00030 Fl_File_Browser *fb;
00031 char **selections;
00032 int sCount;
00033 char path[500];
00034 public:
00035 MainWindow *mw;
00036 int handle(int event);
00037 void getSelections();
00038 ~LoadWindow();
00039 void resetPath();
00040 };
00041 #include <FL/Fl_Browser.H>
00042 #include <FL/Fl_Value_Input.H>
00043 #include <FL/Fl_Check_Button.H>
00044
00045 class MainWindow : public Fl_Double_Window {
00046 void _MainWindow();
00047 public:
00048 MainWindow(int X, int Y, int W, int H, const char *L = 0);
00049 MainWindow(int W, int H, const char *L = 0);
00050 private:
00051 list<char*>text;
00052 public:
00053 LoadWindow *lw;
00054 ResultsWindow *rw;
00055 private:
00056 int tCount;
00057 void cb_Load_i(Fl_Button*, void*);
00058 static void cb_Load(Fl_Button*, void*);
00059 void cb_Remove_i(Fl_Button*, void*);
00060 static void cb_Remove(Fl_Button*, void*);
00061 void cb_Calibrate_i(Fl_Button*, void*);
00062 static void cb_Calibrate(Fl_Button*, void*);
00063 Fl_Browser *browser;
00064 void cb_x_i(Fl_Value_Input*, void*);
00065 static void cb_x(Fl_Value_Input*, void*);
00066 void cb_y_i(Fl_Value_Input*, void*);
00067 static void cb_y(Fl_Value_Input*, void*);
00068 void cb_x1_i(Fl_Value_Input*, void*);
00069 static void cb_x1(Fl_Value_Input*, void*);
00070 void cb_y1_i(Fl_Value_Input*, void*);
00071 static void cb_y1(Fl_Value_Input*, void*);
00072 int xgrid;
00073 int ygrid;
00074 double xdist;
00075 double ydist;
00076 void cb_no_i(Fl_Check_Button*, void*);
00077 static void cb_no(Fl_Check_Button*, void*);
00078 void cb_save_i(Fl_Check_Button*, void*);
00079 static void cb_save(Fl_Check_Button*, void*);
00080 bool noSkew;
00081 bool savePictures;
00082 public:
00083 void addSelection(char* path,char **t,int cnt);
00084 ~MainWindow();
00085 void deleteSelections();
00086 void reloadText();
00087 };
00088 #include <FL/Fl_Output.H>
00089 #include <FL/Fl_Text_Display.H>
00090
00091 class ResultsWindow : public Fl_Double_Window {
00092 void _ResultsWindow();
00093 public:
00094 ResultsWindow(int X, int Y, int W, int H, const char *L = 0);
00095 ResultsWindow(int W, int H, const char *L = 0);
00096 Fl_Output *blah;
00097 private:
00098 Fl_Output *one;
00099 Fl_Output *two;
00100 Fl_Output *labels;
00101 Fl_Text_Buffer buff;
00102 public:
00103 void updateOutput(char *in1,char *in2);
00104 };
00105
00106 class GUI {
00107 MainWindow *mw;
00108 ResultsWindow *rw;
00109 LoadWindow *lw;
00110 public:
00111 GUI();
00112 };
00113 #endif