00001 #ifndef CONTROLDIALOG_H
00002 #define CONTROLDIALOG_H
00003
00004
00005
00006
00007
00008
00009
00010 #include <vector>
00011 #include "enums.h"
00012 #include "ui_controldialog.h"
00013 #include "selectedpixelmodel.h"
00014
00015 class RangeControl;
00016 class Skymap;
00017
00018
00019 class ControlDialog : public QDialog, private Ui::ControlDialog
00020 {
00021 Q_OBJECT
00022 public:
00023 ControlDialog(QWidget *parent = 0);
00024
00025
00026 RangeControl *getRangeControl() { return range; };
00027
00028 void clearStatus();
00029 void loadFile(const char *);
00030 void loadFile(QString );
00031 void startFile(QString );
00032 void hasField(Field, bool);
00033 void loadField(Field);
00034 void loadNSide(int nside, int ordering);
00035 void finished(Skymap *);
00036
00037
00038 void init(Skymap *map);
00039
00040 bool selectPixel(int i, BasePixel *pix);
00041 int pixnum(int i);
00042 int numselected();
00043
00044 signals:
00045 void resetPixels(std::vector<int>);
00046 void recenterOnPixel(int pixnum);
00047
00048 private:
00049 SelectedPixelModel selectedpixels;
00050 QItemSelectionModel *clearSelection;
00051 SelectedPixelModel statspixels;
00052 SelectedPixelModel mapstats;
00053
00054 private slots:
00055 void on_clearsel_clicked();
00056 void on_clearall_clicked();
00057 void on_savelist_clicked();
00058 void updateClearSelection(const QItemSelection &selected, const QItemSelection &deselected);
00059
00060 void doubleClicked(const QModelIndex & index );
00061
00062
00063 };
00064
00065 inline int ControlDialog::numselected()
00066 {
00067 return selectedpixels.size();
00068 }
00069
00070 inline int ControlDialog::pixnum(int i)
00071 {
00072 return selectedpixels.pixnum(i);
00073 }
00074 #endif