casa  $Rev:20696$
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines
Colorbar.qo.h
Go to the documentation of this file.
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