// generated by Fast Light User Interface Designer (fluid) version 1.0300

#ifndef toolGUI_h
#define toolGUI_h
#include <FL/Fl.H>
#include <string>
#include <FL/Fl_Double_Window.H>
#include <FL/Fl_Tabs.H>
#include <FL/Fl_Group.H>
#include <FL/Fl_File_Input.H>
#include <FL/Fl_Button.H>
#include <FL/Fl_Output.H>
#include <FL/Fl_Value_Output.H>
#include <FL/Fl_Value_Input.H>
#include <FL/Fl_Choice.H>
#include <FL/Fl_Check_Button.H>
#include <FL/Fl_Round_Button.H>
#include <FL/Fl_Box.H>

class ToolGUI {
public:
  ToolGUI();
  Fl_Double_Window *toolWindow;
  static Fl_Menu_Item menu_[];
private:
  void cb_Quit_i(Fl_Menu_*, void*);
  static void cb_Quit(Fl_Menu_*, void*);
  void cb_About_i(Fl_Menu_*, void*);
  static void cb_About(Fl_Menu_*, void*);
public:
  Fl_File_Input *toolInfoDataInput;
private:
  void cb_Browse_i(Fl_Button*, void*);
  static void cb_Browse(Fl_Button*, void*);
  void cb_Open_i(Fl_Button*, void*);
  static void cb_Open(Fl_Button*, void*);
public:
  Fl_Output *toolInfoDataTypeOutput;
  Fl_Value_Output *toolInfoZDimOutput;
  Fl_Value_Output *toolInfoYDimOutput;
  Fl_Value_Output *toolInfoXDimOutput;
  Fl_Value_Output *toolInfoMaximumOutput;
  Fl_Value_Output *toolInfoMinimumOutput;
  Fl_Value_Output *toolInfoAverageOutput;
  Fl_Value_Output *toolInfoSizeInBytesOutput;
  Fl_File_Input *toolRemoveDataInput;
  Fl_File_Input *toolRemoveOutputInput;
  Fl_Value_Input *toolRemoveNumberInput;
private:
  void cb_Browse1_i(Fl_Button*, void*);
  static void cb_Browse1(Fl_Button*, void*);
  void cb_Browse2_i(Fl_Button*, void*);
  static void cb_Browse2(Fl_Button*, void*);
  void cb_Execute_i(Fl_Button*, void*);
  static void cb_Execute(Fl_Button*, void*);
public:
  Fl_File_Input *toolAddDataInput;
  Fl_File_Input *toolAddOutputInput;
  Fl_Value_Input *toolAddXDimInput;
  Fl_Value_Input *toolAddYDimInput;
  Fl_Value_Input *toolAddZDimInput;
  Fl_Choice *toolAddDataTypeChoice;
  static Fl_Menu_Item menu_toolAddDataTypeChoice[];
  Fl_Check_Button *toolAddEndianCheck;
private:
  void cb_Browse3_i(Fl_Button*, void*);
  static void cb_Browse3(Fl_Button*, void*);
  void cb_Browse4_i(Fl_Button*, void*);
  static void cb_Browse4(Fl_Button*, void*);
  void cb_Execute1_i(Fl_Button*, void*);
  static void cb_Execute1(Fl_Button*, void*);
public:
  Fl_File_Input *toolResampleDataInput;
  Fl_File_Input *toolResampleOutputInput;
  Fl_Value_Input *toolResampleXDimInput;
  Fl_Value_Input *toolResampleYDimInput;
  Fl_Value_Input *toolResampleZDimInput;
  Fl_Round_Button *toolResampleDown;
private:
  void cb_toolResampleDown_i(Fl_Round_Button*, void*);
  static void cb_toolResampleDown(Fl_Round_Button*, void*);
public:
  Fl_Round_Button *toolResampleUp;
private:
  void cb_toolResampleUp_i(Fl_Round_Button*, void*);
  static void cb_toolResampleUp(Fl_Round_Button*, void*);
  void cb_Browse5_i(Fl_Button*, void*);
  static void cb_Browse5(Fl_Button*, void*);
  void cb_Browse6_i(Fl_Button*, void*);
  static void cb_Browse6(Fl_Button*, void*);
  void cb_Execute2_i(Fl_Button*, void*);
  static void cb_Execute2(Fl_Button*, void*);
public:
  Fl_File_Input *toolTransDataInput;
  Fl_File_Input *toolTransOutputInput;
  Fl_Value_Input *toolTransXShiftInput;
  Fl_Value_Input *toolTransYShiftInput;
  Fl_Value_Input *toolTransZShiftInput;
  Fl_Value_Input *toolTransFillInput;
  Fl_Value_Input *toolTransXDimInput;
  Fl_Value_Input *toolTransYDimInput;
  Fl_Value_Input *toolTransZDimInput;
private:
  void cb_Browse7_i(Fl_Button*, void*);
  static void cb_Browse7(Fl_Button*, void*);
  void cb_Browse8_i(Fl_Button*, void*);
  static void cb_Browse8(Fl_Button*, void*);
  void cb_Execute3_i(Fl_Button*, void*);
  static void cb_Execute3(Fl_Button*, void*);
public:
  Fl_File_Input *toolShiftDataInput;
  Fl_File_Input *toolShiftOutputInput;
  Fl_Value_Input *toolShiftXShiftInput;
  Fl_Value_Input *toolShiftYShiftInput;
  Fl_Value_Input *toolShiftZShiftInput;
  Fl_Check_Button *toolShiftCircularCheck;
private:
  void cb_Browse9_i(Fl_Button*, void*);
  static void cb_Browse9(Fl_Button*, void*);
  void cb_Browsea_i(Fl_Button*, void*);
  static void cb_Browsea(Fl_Button*, void*);
  void cb_Execute4_i(Fl_Button*, void*);
  static void cb_Execute4(Fl_Button*, void*);
public:
  Fl_File_Input *toolScaleDataInput;
  Fl_File_Input *toolScaleOutputInput;
  Fl_Check_Button *toolScaleMaxCheck;
private:
  void cb_toolScaleMaxCheck_i(Fl_Check_Button*, void*);
  static void cb_toolScaleMaxCheck(Fl_Check_Button*, void*);
  void cb_Browseb_i(Fl_Button*, void*);
  static void cb_Browseb(Fl_Button*, void*);
  void cb_Browsec_i(Fl_Button*, void*);
  static void cb_Browsec(Fl_Button*, void*);
  void cb_Execute5_i(Fl_Button*, void*);
  static void cb_Execute5(Fl_Button*, void*);
public:
  Fl_Value_Input *toolScaleValueInput;
  Fl_Check_Button *toolScaleSumCheck;
private:
  void cb_toolScaleSumCheck_i(Fl_Check_Button*, void*);
  static void cb_toolScaleSumCheck(Fl_Check_Button*, void*);
public:
  Fl_File_Input *toolConvertDataInput;
  Fl_File_Input *toolConvertOutputInput;
  Fl_Value_Input *toolConvertNumberInput;
  Fl_Choice *toolConvertDataTypeChoice;
  static Fl_Menu_Item menu_toolConvertDataTypeChoice[];
private:
  void cb_Browsed_i(Fl_Button*, void*);
  static void cb_Browsed(Fl_Button*, void*);
  void cb_Browsee_i(Fl_Button*, void*);
  static void cb_Browsee(Fl_Button*, void*);
  void cb_Execute6_i(Fl_Button*, void*);
  static void cb_Execute6(Fl_Button*, void*);
public:
  Fl_File_Input *toolCompareDataInput;
  Fl_File_Input *toolCompareRefInput;
  Fl_Value_Output *toolCompareMaximumOutput;
  Fl_Value_Output *toolCompareMeanOutput;
  Fl_Value_Output *toolCompareMeanSquareOutput;
private:
  void cb_Execute7_i(Fl_Button*, void*);
  static void cb_Execute7(Fl_Button*, void*);
  void cb_Browsef_i(Fl_Button*, void*);
  static void cb_Browsef(Fl_Button*, void*);
  void cb_Browse10_i(Fl_Button*, void*);
  static void cb_Browse10(Fl_Button*, void*);
public:
  Fl_File_Input *toolConvImg1Input;
  Fl_File_Input *toolConvImg2Input;
  Fl_Check_Button *toolConvolveCenteredPsfCheck;
  Fl_File_Input *toolConvOutputInput;
private:
  void cb_Browse11_i(Fl_Button*, void*);
  static void cb_Browse11(Fl_Button*, void*);
  void cb_Browse12_i(Fl_Button*, void*);
  static void cb_Browse12(Fl_Button*, void*);
  void cb_Browse13_i(Fl_Button*, void*);
  static void cb_Browse13(Fl_Button*, void*);
  void cb_Execute8_i(Fl_Button*, void*);
  static void cb_Execute8(Fl_Button*, void*);
public:
  Fl_Check_Button *convolveNormalSize;
private:
  void cb_convolveNormalSize_i(Fl_Check_Button*, void*);
  static void cb_convolveNormalSize(Fl_Check_Button*, void*);
public:
  Fl_Check_Button *convolveFirstSize;
private:
  void cb_convolveFirstSize_i(Fl_Check_Button*, void*);
  static void cb_convolveFirstSize(Fl_Check_Button*, void*);
public:
  Fl_Check_Button *convolveSecondSize;
private:
  void cb_convolveSecondSize_i(Fl_Check_Button*, void*);
  static void cb_convolveSecondSize(Fl_Check_Button*, void*);
public:
  Fl_File_Input *toolObjectDataInput;
  Fl_File_Input *toolObjectOutputInput;
private:
  void cb_Browse14_i(Fl_Button*, void*);
  static void cb_Browse14(Fl_Button*, void*);
  void cb_Browse15_i(Fl_Button*, void*);
  static void cb_Browse15(Fl_Button*, void*);
public:
  Fl_Value_Input *toolObjectCreateXDimInput;
  Fl_Value_Input *toolObjectCreateYDimInput;
  Fl_Value_Input *toolObjectCreateZDimInput;
  Fl_Value_Input *toolObjectCreateValueInput;
  Fl_Choice *toolObjectCreateDataTypeChoice;
  static Fl_Menu_Item menu_toolObjectCreateDataTypeChoice[];
private:
  void cb_Execute9_i(Fl_Button*, void*);
  static void cb_Execute9(Fl_Button*, void*);
public:
  Fl_Value_Input *toolObjectEllipsoidCenterXInput;
  Fl_Value_Input *toolObjectEllipsoidCenterYInput;
  Fl_Value_Input *toolObjectEllipsoidCenterZInput;
  Fl_Value_Input *toolObjectEllipsoidRadiusXInput;
  Fl_Value_Input *toolObjectEllipsoidRadiusYInput;
  Fl_Value_Input *toolObjectEllipsoidRadiusZInput;
  Fl_Value_Input *toolObjectEllipsoidValueInput;
private:
  void cb_Executea_i(Fl_Button*, void*);
  static void cb_Executea(Fl_Button*, void*);
public:
  Fl_Value_Input *toolObjectBoxCenterXInput;
  Fl_Value_Input *toolObjectBoxCenterYInput;
  Fl_Value_Input *toolObjectBoxCenterZInput;
  Fl_Value_Input *toolObjectBoxSizeXInput;
  Fl_Value_Input *toolObjectBoxSizeYInput;
  Fl_Value_Input *toolObjectBoxSizeZInput;
  Fl_Value_Input *toolObjectBoxValueInput;
private:
  void cb_Executeb_i(Fl_Button*, void*);
  static void cb_Executeb(Fl_Button*, void*);
public:
  Fl_Value_Input *toolObjectPointXInput;
  Fl_Value_Input *toolObjectPointYInput;
  Fl_Value_Input *toolObjectPointZInput;
  Fl_Value_Input *toolObjectPointValueInput;
private:
  void cb_Executec_i(Fl_Button*, void*);
  static void cb_Executec(Fl_Button*, void*);
public:
  Fl_File_Input *toolVariantObjectInput;
  Fl_File_Input *toolVariantPsfInput;
  Fl_Check_Button *toolVariantCenteredPsfCheck;
  Fl_File_Input *toolVariantOutputInput;
private:
  void cb_Browse16_i(Fl_Button*, void*);
  static void cb_Browse16(Fl_Button*, void*);
  void cb_Browse17_i(Fl_Button*, void*);
  static void cb_Browse17(Fl_Button*, void*);
  void cb_Browse18_i(Fl_Button*, void*);
  static void cb_Browse18(Fl_Button*, void*);
  void cb_Executed_i(Fl_Button*, void*);
  static void cb_Executed(Fl_Button*, void*);
public:
  Fl_Round_Button *toolVariantStrata;
private:
  void cb_toolVariantStrata_i(Fl_Round_Button*, void*);
  static void cb_toolVariantStrata(Fl_Round_Button*, void*);
public:
  Fl_Round_Button *toolVariantPCA;
private:
  void cb_toolVariantPCA_i(Fl_Round_Button*, void*);
  static void cb_toolVariantPCA(Fl_Round_Button*, void*);
public:
  Fl_Group *strataTab;
  Fl_Value_Input *toolVariantNumberInput;
  Fl_Value_Input *toolVariantStartInput;
  Fl_Value_Input *toolVariantSizeInput;
  Fl_Group *PCATab;
  Fl_Value_Input *toolVariantComponentsNumberInput;
  Fl_Value_Input *toolVariantPSFStartInput;
  Fl_Value_Input *toolVariantPSFNumberInput;
  Fl_File_Input *toolOriginalPsfInput;
  Fl_File_Input *toolPCAPsfOutputInput;
private:
  void cb_Browse19_i(Fl_Button*, void*);
  static void cb_Browse19(Fl_Button*, void*);
  void cb_Browse1a_i(Fl_Button*, void*);
  static void cb_Browse1a(Fl_Button*, void*);
  void cb_Executee_i(Fl_Button*, void*);
  static void cb_Executee(Fl_Button*, void*);
public:
  Fl_Value_Input *toolNumberPsfInput;
  Fl_Value_Input *toolDepthIntervalInput;
  Fl_Value_Input *toolNumberComponent1Input;
  Fl_File_Input *toolCPMPSFInput;
  Fl_File_Input *toolCPMMaskInput;
  Fl_Check_Button *toolCPMCenteredPsfCheck;
  Fl_File_Input *toolCPMOutputInput;
private:
  void cb_Browse1b_i(Fl_Button*, void*);
  static void cb_Browse1b(Fl_Button*, void*);
  void cb_Browse1c_i(Fl_Button*, void*);
  static void cb_Browse1c(Fl_Button*, void*);
  void cb_Browse1d_i(Fl_Button*, void*);
  static void cb_Browse1d(Fl_Button*, void*);
  void cb_Executef_i(Fl_Button*, void*);
  static void cb_Executef(Fl_Button*, void*);
public:
  ~ToolGUI();
  void show(int argc, char* argv[]);
  void executeInfo();
  void executeRemove();
  void executeAdd();
  void executeResample();
  void executeTransform();
  void executeConvert();
  void executeCompare();
  void executeConvolve();
  void executeShift();
  void executeScale();
  void executeObjectCreate();
  void executeObjectEllipsoid();
  void executeObjectBox();
  void executeObjectPoint();
  void executeVariant();
  void executePCA();
  void executeCPM();
  void writeXmlConvolve( const std::string& filename );
  void writeXmlVariant( const std::string& filename );
};
#endif
