FeatherMain.qo.h

Go to the documentation of this file.
00001 //# Copyright (C) 2005
00002 //# Associated Universities, Inc. Washington DC, USA.
00003 //#
00004 //# This library is free software; you can redistribute it and/or modify it
00005 //# under the terms of the GNU Library General Public License as published by
00006 //# the Free Software Foundation; either version 2 of the License, or (at your
00007 //# option) any later version.
00008 //#
00009 //# This library is distributed in the hope that it will be useful, but WITHOUT
00010 //# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
00011 //# FITNESS FOR A PARTICULAR PURPOSE.  See the GNU Library General Public
00012 //# License for more details.
00013 //#
00014 //# You should have received a copy of the GNU Library General Public License
00015 //# along with this library; if not, write to the Free Software Foundation,
00016 //# Inc., 675 Massachusetts Ave, Cambridge, MA 02139, USA.
00017 //#
00018 //# Correspondence concerning AIPS++ should be addressed as follows:
00019 //#        Internet email: aips2-request@nrao.edu.
00020 //#        Postal address: AIPS++ Project Office
00021 //#                        National Radio Astronomy Observatory
00022 //#                        520 Edgemont Road
00023 //#                        Charlottesville, VA 22903-2475 USA
00024 //#
00025 #ifndef FEATHERMAIN_QO_H
00026 #define FEATHERMAIN_QO_H
00027 
00028 #include <QtGui/QMainWindow>
00029 #include <QProgressDialog>
00030 
00031 #include <guitools/Feather/FeatherMain.ui.h>
00032 #include <guitools/Feather/FileLoader.qo.h>
00033 #include <guitools/Feather/Preferences.qo.h>
00034 #include <guitools/Feather/PreferencesColor.qo.h>
00035 #include <guitools/Feather/OverWriteFileDialog.qo.h>
00036 #include <guitools/Feather/AboutDialog.qo.h>
00037 
00038 #include <casa/BasicSL/String.h>
00039 #include <casa/aipstype.h>
00040 #include <casa/Logging/LogIO.h>
00041 
00042 using namespace std;
00043 
00044 namespace casa {
00045 
00046 class PlotHolder;
00047 class FeatherManager;
00048 
00049 
00050 class FeatherMain : public QMainWindow
00051 {
00052     Q_OBJECT
00053 
00054 public:
00055     FeatherMain(QWidget *parent = 0);
00056     ~FeatherMain();
00057 
00058 signals:
00059         void featherFinished();
00060 
00061 private slots:
00062         void openAboutDialog();
00063         void openFileLoader();
00064         void featherImages( bool checkOutput = true );
00065         void openPreferences();
00066         void openPreferencesColor();
00067         void ySupportChanged( bool ySupport );
00068         //Called by the text edits when their values change.  Sends
00069         //the event down to the plots.
00070         void dishDiameterXChanged( const QString& xDiameter );
00071         void dishDiameterYChanged( const QString& yDiameter );
00072         //Called when the diameter is set through a plot.  Updates
00073         //the text edits with the new values.
00074         void dishDiameterXChanged( double value );
00075         void dishDiameterYChanged( double value );
00076 
00077         void functionColorsChanged();
00078         void imageFilesChanged();
00079         void preferencesChanged();
00080         void featheringDone();
00081         void overWriteOK();
00082 
00083 private:
00084         FeatherMain( const FeatherMain& other );
00085         FeatherMain operator=( const FeatherMain& other );
00086         QString getFileName( QString path ) const;
00087 
00088         void initializeDishDiameterLimit( QLabel* diamLimitLabel );
00089 
00090         void clearPlots();
00091         bool isInputImagesChanged();
00092         //bool generateInputImage();
00093         pair<float,float> populateDishDiameters(Bool& validDiameters);
00094         float populateSDFactor() const;
00095 
00096         void updatePlaneInformation();
00097         void addOriginalDataToPlots();
00098         void addFeatheredDataToPlots();
00099         void resetDishDiameters();
00100         void resetData();
00101         void resetDishDiameter( QLineEdit* dishEdit, QLabel* diamLimit,
00102                         float value, float defaultValue );
00103 
00104         const static int DISH_DIAMETER_DEFAULT;
00105         const static int SINGLE_DISH_FACTOR_DEFAULT;
00106 
00107         Ui::FeatherMainClass ui;
00108     FileLoader fileLoader;
00109     Preferences preferences;
00110     PreferencesColor preferencesColor;
00111 
00112     QString lowResImagePath;
00113     QString highResImagePath;
00114     QString outputImagePath;
00115     QString dirtyImagePath;
00116 
00117     FeatherManager* dataManager;
00118     PlotHolder* plotHolder;
00119     QProgressDialog progressMeter;
00120     OverWriteFileDialog overWriteFileDialog;
00121     AboutDialog aboutDialog;
00122     LogIO logger;
00123 
00124 };
00125 }
00126 #endif // FEATHERMAIN_QO_H
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines

Generated on 31 Aug 2016 for casa by  doxygen 1.6.1