SeaBee3GUI.h

00001 /****************************************************************************
00002 ** Form interface generated from reading ui file 'Qt/SeaBee3GUI.ui'
00003 **
00004 ** WARNING! All changes made in this file will be lost!
00005 ****************************************************************************/
00006 
00007 #ifndef SEABEE3MAINDISPLAYFORM_H
00008 #define SEABEE3MAINDISPLAYFORM_H
00009 
00010 #include <qvariant.h>
00011 #include <qpixmap.h>
00012 #include <qmainwindow.h>
00013 #include <list>
00014 #include <IceUtil/Mutex.h>
00015 #include <queue>
00016 #include "Component/ModelManager.H"
00017 #include "Image/Image.H"
00018 #include "Image/PixelsTypes.H"
00019 #include "Qt/SeaBee3GUICommunicator.H"
00020 #include "GUI/SimpleMeter.H"
00021 #include "Util/MathFunctions.H"
00022 #include "Robots/SeaBeeIII/MapperI.H"
00023 #include "Image/CutPaste.H"
00024 #include "Raster/PngParser.H"
00025 #include "Raster/GenericFrame.H"
00026 #include "Image/Point2D.H"
00027 #include "Ice/RobotSimEvents.ice.H"
00028 
00029 class QVBoxLayout;
00030 class QHBoxLayout;
00031 class QGridLayout;
00032 class QSpacerItem;
00033 class QAction;
00034 class QActionGroup;
00035 class QToolBar;
00036 class QPopupMenu;
00037 class ImageCanvas;
00038 class QGroupBox;
00039 class QFrame;
00040 class QLabel;
00041 class QLineEdit;
00042 class QCheckBox;
00043 class QSpinBox;
00044 class QButtonGroup;
00045 class QRadioButton;
00046 class QTabWidget;
00047 class QWidget;
00048 class QPushButton;
00049 class QLCDNumber;
00050 class QComboBox;
00051 class SeaBee3GUICommunicator;
00052 
00053 class SeaBee3MainDisplayForm : public QMainWindow
00054 {
00055     Q_OBJECT
00056 
00057 public:
00058     SeaBee3MainDisplayForm( QWidget* parent = 0, const char* name = 0, WFlags fl = WType_TopLevel );
00059     ~SeaBee3MainDisplayForm();
00060 
00061     QGroupBox* groupBox9_4;
00062     QFrame* frame3;
00063     ImageCanvas* ThrusterCurrentMeterCanvas4;
00064     ImageCanvas* ThrusterCurrentMeterCanvas5;
00065     ImageCanvas* ThrusterCurrentMeterCanvas2;
00066     ImageCanvas* ThrusterCurrentMeterCanvas3;
00067     ImageCanvas* ThrusterCurrentMeterCanvas6;
00068     QLabel* textLabel2;
00069     QLabel* textLabel2_2;
00070     QLabel* textLabel2_2_2;
00071     QLabel* textLabel2_2_3;
00072     QLabel* textLabel2_2_4;
00073     QLabel* textLabel2_2_5;
00074     QLabel* textLabel2_2_6;
00075     QLabel* textLabel2_2_7;
00076     ImageCanvas* ThrusterCurrentMeterCanvas7;
00077     QLabel* textLabel1_3;
00078     QLabel* textLabel1_2;
00079     QLabel* textLabel1;
00080     ImageCanvas* ThrusterCurrentMeterCanvas1;
00081     ImageCanvas* ThrusterCurrentMeterCanvas0;
00082     QGroupBox* groupBox1;
00083     QGroupBox* groupBox9_3;
00084     QLineEdit* field_int_press;
00085     ImageCanvas* IPressureCanvas;
00086     QCheckBox* ExtPressAuto;
00087     QSpinBox* IntPressMax;
00088     QSpinBox* IntPressMin;
00089     QSpinBox* ExtPressMax;
00090     QSpinBox* ExtPressMin;
00091     QGroupBox* groupBox6;
00092     ImageCanvas* CompassCanvas;
00093     QLineEdit* field_heading;
00094     QCheckBox* IntPressAuto;
00095     QGroupBox* groupBox10;
00096     ImageCanvas* EPressureCanvas;
00097     QLineEdit* field_ext_press;
00098     ImageCanvas* ImageDisplay0_2_2;
00099     QLineEdit* desired_heading_field_2_3;
00100     QLineEdit* desired_heading_field_2_2;
00101     QGroupBox* groupBox10_2;
00102     QGroupBox* groupBox2;
00103     QButtonGroup* buttonGroup1;
00104     QRadioButton* radio_manual;
00105     QRadioButton* radio_auto;
00106     QLineEdit* desired_speed_field;
00107     QLineEdit* desired_depth_field;
00108     QLabel* textLabel2_3_2_2;
00109     QLabel* textLabel2_2_2_3_2_2;
00110     QLabel* textLabel2_2_2_3_2_2_2;
00111     QLineEdit* desired_heading_field;
00112     QGroupBox* groupBox4;
00113     QLabel* textLabel2_3_2_2_2;
00114     QLabel* textLabel2_3_2_2_2_2;
00115     QLineEdit* heading_output_field;
00116     QLineEdit* depth_output_field;
00117     QTabWidget* tabWidget3;
00118     QWidget* tab;
00119     QFrame* frame4;
00120     ImageCanvas* ImageDisplay1;
00121     ImageCanvas* ImageDisplay2;
00122     ImageCanvas* ImageDisplay3;
00123     ImageCanvas* ImageDisplay0;
00124     QWidget* TabPage;
00125     QFrame* frame4_2;
00126     ImageCanvas* MovementDisplay0;
00127     ImageCanvas* MovementDisplay1;
00128     QWidget* tab_2;
00129     QGroupBox* groupBox9_2;
00130     QLabel* textLabel2_3_2_2_3_3_2;
00131     QLabel* textLabel2_3_2_2_3_2_2;
00132     QLineEdit* field_depth_i;
00133     QLineEdit* field_depth_d;
00134     QLineEdit* field_depth_k;
00135     QLabel* textLabel2_3_2_2_3_2_4_2_2;
00136     QLabel* textLabel2_3_2_2_3_4_2;
00137     QLineEdit* field_depth_p;
00138     QGroupBox* groupBox11;
00139     QLabel* textLabel1_4_2;
00140     QLabel* textLabel1_4_3;
00141     QLabel* textLabel1_4_3_2;
00142     QLabel* textLabel1_4;
00143     QPushButton* recordButton;
00144     QPushButton* stopButton;
00145     QPushButton* eraseButton;
00146     QPushButton* saveButton;
00147     QLabel* textLabel1_4_4;
00148     QLCDNumber* dataLoggerLCD;
00149     QGroupBox* groupBox9;
00150     QLabel* textLabel2_3_2_2_3_2_4_2;
00151     QLabel* textLabel2_3_2_2_3_2;
00152     QLabel* textLabel2_3_2_2_3_3;
00153     QLabel* textLabel2_3_2_2_3_4;
00154     QLineEdit* field_heading_i;
00155     QLineEdit* field_heading_k;
00156     QLineEdit* field_heading_d;
00157     QLineEdit* field_heading_p;
00158     QWidget* TabPage_2;
00159     ImageCanvas* MapCanvas;
00160     QGroupBox* groupBox15;
00161     QLabel* textLabel1_5;
00162     QLineEdit* MapName;
00163     QPushButton* SaveMapBtn;
00164     QPushButton* LoadMapBtn;
00165     QGroupBox* groupBox12;
00166     QPushButton* PlatformBtn;
00167     QLabel* PlatformPic;
00168     QLabel* GatePic;
00169     QPushButton* GateBtn;
00170     QLabel* PipePic;
00171     QPushButton* PipeBtn;
00172     QLabel* BuoyPic;
00173     QPushButton* FlareBtn;
00174     QLabel* BinPic;
00175     QLabel* BarbwirePic;
00176     QLabel* MachineGunNestPic;
00177     QLabel* OctagonSurfacePic;
00178     QPushButton* BinBtn;
00179     QPushButton* OctagonSurfaceBtn;
00180     QPushButton* MachineGunNestBtn;
00181     QPushButton* BarbwireBtn;
00182     QGroupBox* groupBox13;
00183     QComboBox* ObjectList;
00184     QLabel* textLabel2_3;
00185     QLineEdit* MapObjectY;
00186     QLabel* textLabel1_6;
00187     QLabel* textLabel2_4;
00188     QLineEdit* MapObjectX;
00189     QLineEdit* MapObjectVarX;
00190     QLineEdit* MapObjectVarY;
00191     QLabel* textLabel1_7;
00192     QPushButton* DeleteBtn;
00193     QPushButton* PlaceBtn;
00194     QWidget* TabPage_3;
00195     QPushButton* BriefcaseFoundBtn;
00196     QPushButton* BombingRunBtn;
00197     QPushButton* ContourFoundBoxesBtn;
00198     QPushButton* BarbwireDoneBtn;
00199     QPushButton* ContourFoundBarbwireBtn;
00200     QPushButton* FlareDoneBtn;
00201     QPushButton* GateFoundBtn;
00202     QPushButton* InitDoneBtn;
00203     QPushButton* GateDoneBtn;
00204     QPushButton* ContourFoundFlareBtn;
00205     QWidget* TabPage_4;
00206     QLabel* textLabel1_8;
00207     QLineEdit* colorFileLoadText;
00208     QPushButton* ColorPickLoadBut;
00209     QLabel* textLabel2_3_2_2_5;
00210     QLabel* textLabel2_3_2_2_4;
00211     QLabel* textLabel2_3_2_2_4_3;
00212     QLabel* textLabel2_3_2_2_7;
00213     QLabel* textLabel2_3_2_2_6;
00214     QLineEdit* v_mean_val;
00215     QLineEdit* h1__mean_val;
00216     QLineEdit* h2_mean_val;
00217     QLineEdit* s_mean_val;
00218     ImageCanvas* AvgColorImg;
00219     QLabel* textLabel2_3_2_2_4_3_2;
00220     QLineEdit* h1_std_val;
00221     QLineEdit* h2_std_val;
00222     QLineEdit* v_std_val;
00223     QLineEdit* s_std_val;
00224     ImageCanvas* ColorPickerImg;
00225 
00226     virtual void setSensorVotes( std::vector<ImageIceMod::SensorVote> votes );
00227     virtual void setCompositeHeading( int heading );
00228     virtual void setCompositeDepth( int depth );
00229     virtual void pushRectAngle( float a );
00230     virtual Image<PixRGB<byte> > makeCompassImage( int heading );
00231     virtual void setThrusterMeters( int zero, int one, int two, int three, int four, int five, int six, int seven );
00232 
00233 public slots:
00234     virtual void pushFwdRectangle( ImageIceMod::QuadrilateralIce quad );
00235     virtual void pushRectRatio( float r );
00236     virtual void pushContourPoint( Point2D<int> p );
00237     virtual void setSalientPoint( Point2D<float> p );
00238     virtual void Image1Click( int a, int b, int c );
00239     virtual void init( ModelManager * mgr );
00240     virtual void setImage( Image<PixRGB<byte> > & img, std::string cameraID );
00241     virtual void ToggleCamera0();
00242     virtual void ToggleCamera1();
00243     virtual void ToggleCamera2();
00244     virtual void ToggleCamera3();
00245     virtual void ToggleCamera( std::string cameraID, bool active );
00246     virtual void registerCommunicator( nub::soft_ref<SeaBee3GUICommunicator> c );
00247     virtual void setJSAxis( int axis, float val );
00248     virtual void setSensorValues( int heading, int pitch, int roll, int intPressure, int extPressure, int headingValue, int depthValue );
00249     virtual void updateDesiredHeading();
00250     virtual void updateDesiredDepth();
00251     virtual void updateDesiredSpeed();
00252     virtual void updateHeadingPID();
00253     virtual void updateDepthPID();
00254     virtual void manualClicked();
00255     virtual void autoClicked();
00256     virtual void sendInitDone();
00257     virtual void sendGateFound();
00258     virtual void sendGateDone();
00259     virtual void sendContourFoundFlare();
00260     virtual void sendFlareDone();
00261     virtual void sendContourFoundBarbwire();
00262     virtual void sendBarbwireDone();
00263     virtual void sendContourFoundBoxes();
00264     virtual void sendBombingRunDone();
00265     virtual void sendBriefcaseFound();
00266     virtual void addPlatform();
00267     virtual void addGate();
00268     virtual void addPipe();
00269     virtual void addFlare();
00270     virtual void addBin();
00271     virtual void addBarbwire();
00272     virtual void addMachineGunNest();
00273     virtual void addOctagonSurface();
00274     virtual void selectObject( int index );
00275     virtual void refreshMapImage();
00276     virtual void moveObject();
00277     virtual void deleteObject();
00278     virtual void saveMap();
00279     virtual void loadMap();
00280     virtual void loadColorPickerImg();
00281     virtual void clickColorPickerImg( int x, int y, int but );
00282 
00283 protected:
00284     std::vector<ImageIceMod::QuadrilateralIce> itsFwdRectangles;
00285     std::vector<Point2D<int> > itsRectangles;
00286     std::vector<MapperI::MapObject> mapObjects;
00287     SimpleMeter *currentMeter7;
00288     SimpleMeter *currentMeter6;
00289     SimpleMeter *currentMeter5;
00290     SimpleMeter *currentMeter4;
00291     SimpleMeter *currentMeter3;
00292     SimpleMeter *currentMeter2;
00293     SimpleMeter *currentMeter1;
00294     SimpleMeter *currentMeter0;
00295     nub::soft_ref<SeaBee3GUICommunicator> GUIComm;
00296     ModelManager *itsMgr;
00297     std::list<int> headingHist;
00298     std::list<int> extPressHist;
00299     std::list<int> intPressHist;
00300     IceUtil::Mutex itsDataMutex;
00301     int selectedIndex;
00302     Image<PixRGB<byte > > MapImage;
00303     Point2D<float> itsSalientPoint;
00304     std::list<float> itsRectAngles;
00305     std::list<float> itsRectRatios;
00306     int itsCompositeHeading;
00307     int itsCompositeDepth;
00308     std::vector<ImageIceMod::SensorVote> itsSensorVotes;
00309     int itsCurrentHeading;
00310     int itsCurrentDepth;
00311     Image<PixH2SV2<float> > itsConvert;
00312 
00313 
00314 protected slots:
00315     virtual void languageChange();
00316 
00317 private:
00318     QPixmap image0;
00319     QPixmap image1;
00320     QPixmap image2;
00321     QPixmap image3;
00322     QPixmap image4;
00323     QPixmap image5;
00324     QPixmap image6;
00325     QPixmap image7;
00326     QPixmap image8;
00327 
00328 };
00329 
00330 #endif // SEABEE3MAINDISPLAYFORM_H
Generated on Sun May 8 08:41:16 2011 for iLab Neuromorphic Vision Toolkit by  doxygen 1.6.3