00001 #ifndef MAINWIINDOW_H 00002 #define MAINWIINDOW_H 00003 /* ==================================================================================== 00004 The definition of the main window class. 00005 00006 Written by Nicholas Phillips. 00007 QT4 implementation. Michael R. Greason, ADNET, 23 August 2007. 00008 ==================================================================================== */ 00009 /* 00010 Fetch header files. 00011 */ 00012 #include <vector> 00013 #include <QComboBox> 00014 #include <QString> 00015 #include <QLabel> 00016 #include <QSize> 00017 #include <QResizeEvent> 00018 #include "ui_mainwindow.h" 00019 #include "skyviewer.h" 00020 #include "healpixmap.h" 00021 #include "selectedpixelmodel.h" 00022 00023 class ControlDialog; 00024 class RangeControl; 00025 00026 /* 00027 class SelectedPixelModel : public QAbstractTableModel 00028 { 00029 }; 00030 */ 00031 /* ==================================================================================== 00032 'mainWindow' defines the main window. It descends from QMainWindow and from the 00033 Ui::MainWindow class that was created by QT Designer 00034 ==================================================================================== */ 00035 class mainWindow : public QMainWindow, private Ui::MainWindow 00036 { 00037 Q_OBJECT 00038 public slots: 00039 virtual void undefined (); 00040 virtual void fileLoad (); 00041 virtual void fileNew (); 00042 virtual void fileReload (); 00043 virtual void fileSnapshot (); 00044 virtual void fileClose (); 00045 virtual void fileExit (); 00046 00047 virtual void proj3Dsphere (); 00048 virtual void projMollweide (); 00049 00050 virtual void mapTemperature (); 00051 virtual void mapQPolarization (); 00052 virtual void mapUPolarization (); 00053 virtual void mapPPolarization (); 00054 virtual void mapNumObs (); 00055 00056 virtual void mapPolVectM (); 00057 virtual void mapPolVectTB (); 00058 00059 virtual void reTexture(); 00060 virtual void newRigging(void); 00061 virtual void newField(); 00062 virtual void newPolVect(); 00063 00064 virtual void unselectPixels(std::vector<int>); 00065 virtual void recenterOnPixel(int pixnum); 00066 00067 private: 00068 HealpixMap *map; 00069 SkyTexture *texture; 00070 Rigging *rigging; 00071 Rigging *whiterig; 00072 Rigging *blackrig; 00073 PolarArgLineSet *polarsphere; 00074 00075 bool viewmoll; 00076 00077 SkyViewer *viewer; 00078 ControlDialog *ctl; 00079 RangeControl *rngctl; 00080 00081 QSize delta; 00082 00083 QLabel *filelabel; 00084 QString filename; 00085 QLabel *projlabel; 00086 QLabel *maplabel; 00087 00088 void setFieldEnables(); 00089 00090 void fileFileInfo (bool b); 00091 00092 protected: 00093 virtual void resizeEvent(QResizeEvent *event); 00094 public: 00095 mainWindow(QWidget *parent = 0); 00096 virtual ~mainWindow (void); 00097 void readFile (const char *file); 00098 void readFile (const QString file); 00099 void readFile (void); 00100 00101 bool currentMollweide (void) const { return viewmoll; } 00102 00103 int selectPixel (int pix); 00104 int selectPixel (double phi, double lambda); 00105 void highlightPixels (double hlite); 00106 }; 00107 #endif