casa
$Rev:20696$
|
00001 00002 #ifndef COLORBAR_H 00003 #define COLORBAR_H 00004 00005 #include <graphics/X11/X_enter.h> 00006 #include <QVector> 00007 #include <graphics/X11/X_exit.h> 00008 00009 #include <display3d/3DViewer/3DDisplayData.qo.h> 00010 #include <display/Display/Colormap.h> 00011 #include <display3d/3DViewer/3DPoint.h> 00012 00013 namespace casa { 00014 00015 class Colorbar : public QWidget 00016 { 00017 Q_OBJECT 00018 00019 public: 00020 Colorbar(QWidget *parent = 0); 00021 ~Colorbar(); 00022 00023 QSize minimumSizeHint() const; 00024 QSize sizeHint() const; 00025 00026 public slots: 00027 void setRange(float min, float max); 00028 void setMinimum(float min); 00029 void setMaximum(float min); 00030 void setNumColors(int nc); 00031 void setColormap(const QString& nm); 00032 void changeColor(int, float, float, const QString&); 00033 00034 signals: 00035 00036 protected: 00037 void mousePressEvent(QMouseEvent *event); 00038 void mouseMoveEvent(QMouseEvent *event); 00039 void mouseDoubleClickEvent(QMouseEvent *event); 00040 void resizeEvent(QResizeEvent *); 00041 void paintEvent(QPaintEvent *event); 00042 void refreshBar(); 00043 00044 int numColors; 00045 QString cmapname; 00046 00047 Vector<Float> rMap; 00048 Vector<Float> gMap; 00049 Vector<Float> bMap; 00050 00051 void setColorTable(); 00052 void calcLinearMaps(); 00053 void getLinearColor(Float& r, Float& g, Float& b, Float v); 00054 void getTableColor(Float& r, Float& g, Float& b, Float v); 00055 00056 float min; 00057 float max; 00058 00059 }; 00060 00061 } 00062 #endif