ImageManagerDialog.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 #ifndef IMAGEMANAGERDIALOG_QO_H
00026 #define IMAGEMANAGERDIALOG_QO_H
00027
00028 #include <QtGui/QDialog>
00029 #include <display/QtViewer/ImageManager/ImageManagerDialog.ui.h>
00030 #include <display/QtViewer/ImageManager/ImageTracker.h>
00031 #include <display/QtViewer/ImageManager/ImageView.qo.h>
00032 #include <casa/BasicSL/String.h>
00033
00034 namespace casa {
00035
00036 class DisplayOptionsDialog;
00037 class QtDisplayData;
00038
00039 class ImageScroll;
00040 class DisplayDataHolder;
00041 class ColormapDefinition;
00042 class Colormap;
00043 template <class T> class ImageInterface;
00044
00050 class ImageManagerDialog : public QDialog, public ImageTracker {
00051 Q_OBJECT
00052
00053 public:
00054 ImageManagerDialog(QWidget *parent = 0);
00055
00056
00057 void setImageHolders( DisplayDataHolder* displayed, DisplayDataHolder* allImages );
00058
00059
00060
00061 void setViewedImage( int registrationIndex );
00062 void closeImageView( QtDisplayData* image );
00063
00064 ~ImageManagerDialog();
00065
00066
00067
00068
00069
00070 void masterImageSelected( QtDisplayData* image );
00071
00072 void imageAdded( QtDisplayData* image, int position,
00073 bool autoRegister, bool masterCoordinate,
00074 bool masterSaturation, bool masterHue );
00075
00076 signals:
00077 void ddClosed( QtDisplayData*& dd );
00078 void ddOpened( const String& path, const String& dataType,
00079 const String& displayType,
00080 int insertionIndex, bool registered,
00081 bool masterCoordinate, bool masterSaturation,
00082 bool masterHue);
00083 void registerAll();
00084 void unregisterAll();
00085 void registerDD( QtDisplayData* dd, int position );
00086 void unregisterDD( QtDisplayData* dd );
00087
00088
00089 void masterCoordinateChanged( QtDisplayData* oldMaster, QtDisplayData* newMaster );
00090 void animateToImage( int index );
00091 void createRGBImage( QtDisplayData* coordinateMaster, QtDisplayData* redImage, QtDisplayData* greenImage, QtDisplayData* blueImage );
00092
00093 public slots:
00094
00095 void displayTypeChanged( ImageView* changedView );
00096
00097
00098 private slots:
00099
00100 void showDataDisplayOptions( QtDisplayData* );
00101
00102
00103 void applyColorChanges();
00104
00105 void colorRestrictionsChanged();
00106
00107
00108 void closeAll();
00109 void registerImages();
00110 void unregisterImages();
00111 void registrationChange( ImageView* imageView );
00112 void closeImage( QtDisplayData* image, bool coordinateMaster );
00113
00114
00115
00116 void masterImageChanged( QtDisplayData* newMaster );
00117
00118
00119 void reorderDisplayImages( QtDisplayData* displayData, int dropIndex, bool registered,
00120 bool masterCoordinate );
00121
00122
00123 private:
00124 ImageManagerDialog( const ImageManagerDialog& other );
00125 ImageManagerDialog operator=( const ImageManagerDialog& other );
00126
00127
00128 void initializeScrollArea();
00129
00130
00131
00132
00133
00134 bool getIntensityMinMax( SHARED_PTR<ImageInterface<float> > img,
00135 double* intensityMin, double* intensityMax );
00136
00137 Colormap* generateColorMap( QColor baseColor);
00138
00139 ColormapDefinition* generateSaturationMap( QColor baseColor );
00140
00141
00142 bool applyMasterColor( QString& errorMessage );
00143
00144
00145
00146 Colormap* generateMasterDefinition( ColormapDefinition* baseMap,
00147 double colorMin, double colorMax, double intensityMin, double intensityMax );
00148 float getColorFraction( float value, double minValue, double maxValue );
00149 ImageView::ColorCombinationMode getColorCombinationMode() const;
00150
00151
00152
00153 void updateAllButtons();
00154
00155
00156 DisplayOptionsDialog* displayOptionsDialog;
00157
00158 DisplayDataHolder* allImages;
00159
00160
00161 DisplayDataHolder* displayedImages;
00162 Ui::ImageManagerDialogClass ui;
00163 ImageScroll* imageScroll;
00164 const String SINGLE_COLOR_MAP;
00165 const String MASTER_COLOR_MAP;
00166 const int COLOR_MAP_SIZE;
00167 };
00168
00169 }
00170
00171 #endif // IMAGEMANAGERDIALOG_QO_H