MakeRegion.qo.h
Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030 #ifndef MAKEREGION_H
00031 #define MAKEREGION_H
00032
00033 #include <casa/aips.h>
00034 #include <casa/Containers/Record.h>
00035 #include <display/QtViewer/QtDisplayPanel.qo.h>
00036 #include <display/DisplayDatas/DisplayData.h>
00037
00038 #include <graphics/X11/X_enter.h>
00039 #include <QtCore>
00040 #include <QtGui>
00041 #include <QList>
00042 #include <QPushButton>
00043 #include <QComboBox>
00044 #include <graphics/X11/X_exit.h>
00045
00046 namespace casa {
00047
00048 class RSComposite;
00049 class WCUnion;
00050
00051 class MakeRegion : public QWidget {
00052
00053 Q_OBJECT
00054
00055 public:
00056
00057 MakeRegion(QtDisplayPanel* qdp);
00058 ~MakeRegion() {}
00059
00060 public slots:
00061
00062
00063 void drawRegion(Record mousereg, WorldCanvasHolder *wch);
00064
00065
00066 void newRegion_(String imgFilename);
00067
00068
00069 void changeAxis(String, String, String, int);
00070
00071
00072 void activate(Record);
00073
00074
00075 void wcChanged(const String,
00076 const Vector<Double>, const Vector<Double>);
00077
00078 virtual void closeEvent(QCloseEvent* event);
00079
00080 signals:
00081 void hideRegionInImage();
00082
00083 protected slots:
00084
00085
00086 void loadRegionFromImage();
00087
00088
00089 void saveRegionToImage();
00090
00091
00092 void deleteRegionFromImage();
00093
00094
00095 void deleteAll();
00096
00097
00098 void showHideAll();
00099
00100
00101 void showHideGroup();
00102
00103
00104 void colorAll(const QString&);
00105
00106
00107 void doIt();
00108
00109
00110 void showHelp();
00111
00112
00113 void reShape(const QString&);
00114
00115 void zPlaneChanged();
00116 void pPlaneChanged();
00117 protected:
00118
00119 void rotateBox(int cb);
00120 void addBox(RegionShape*);
00121 void deleteBox(RegionShape*);
00122 void reDraw();
00123
00124 void addRegionsToShape(RSComposite*& theShapes,
00125 const WCRegion*& wcreg);
00126
00127 WCUnion* unfoldCompositeRegionToSimpleUnion(const WCRegion*& wcreg);
00128 void unfoldIntoSimpleRegionPtrs(PtrBlock<const WCRegion*>& outRegPtrs,
00129 const WCRegion*& wcreg);
00130
00131
00132 RSComposite *regionToShape(
00133 QtDisplayData* qdd, const ImageRegion* wcreg);
00134
00135 bool planeAllowed(String, String);
00136
00137 private:
00138
00139 QtDisplayPanel* qdp_;
00140
00141 PtrBlock<const ImageRegion*> unionRegions_p;
00142 DisplayData* regData;
00143
00144 RegionShape* activeShape;
00145
00146 QTimer* timer;
00147 bool flash;
00148
00149 int cb;
00150 int zIndex;
00151 int pIndex;
00152 String zAxis;
00153
00154 QGroupBox* tGroup;
00155 QPushButton* removeAll;
00156 QMenu *showHideMenu;
00157 QPushButton* showHide;
00158 QComboBox* color;
00159
00160 QLineEdit* chan;
00161 QLineEdit* corr;
00162 QLineEdit* name;
00163 QPushButton* load;
00164 QPushButton* save;
00165
00166
00167
00168
00169
00170
00171
00172
00173
00174
00175
00176
00177
00178
00179
00180
00181
00182 };
00183
00184
00185 }
00186
00187 #endif