Brief description of class still missing. More...
#include <ColorPaletteLayer.h>
Public Member Functions | |
AxisType | axisType () const |
QString | axisTypeString () const |
virtual Rect | boundingRect () const |
ColorPaletteLayer (AxisWindow *parent=0) | |
const ColorPalette & | palette () const |
void | setAxisType (AxisType a) |
void | setAxisType (QString t) |
void | setPalette (const ColorPalette &pal) |
virtual const QString & | xml_tagName () const |
Static Public Attributes | |
static const QString | xmlColorPaletteLayerTag = "ColorPaletteLayer" |
Protected Member Functions | |
virtual QString | coordinateTipInfo (const Point2D &p) const |
virtual void | paintData (const LayerPainterRequest &lp, QPainter &p, double dotpercm) const |
Properties | |
QString | axisType |
Brief description of class still missing.
Full description of class still missing
SciFigs::ColorPaletteLayer::ColorPaletteLayer | ( | AxisWindow * | parent = 0 | ) |
Description of constructor still missing
References TRACE, and QGpCoreTools::XAxis.
: GraphContentLayer(parent) { TRACE; _axisType=XAxis; }
AxisType SciFigs::ColorPaletteLayer::axisType | ( | ) | const [inline] |
{return _axisType;}
QString SciFigs::ColorPaletteLayer::axisTypeString | ( | ) | const [inline] |
References QGpCoreTools::XAxis.
{return _axisType==XAxis ? "X":"Y";}
Rect SciFigs::ColorPaletteLayer::boundingRect | ( | ) | const [virtual] |
Implements SciFigs::GraphContentLayer.
References QGpGuiTools::ColorPalette::count(), TRACE, QGpGuiTools::ColorPalette::upperValue(), and QGpCoreTools::XAxis.
Referenced by SciFigs::ColorPaletteWidget::setPalette().
{ TRACE; if(_pal.count()<2) { return Rect(-1e99, -1e99, 1e99, 1e99); } if(_axisType==XAxis) { if(_pal.count()==2) { return Rect(_pal.upperValue(0)-1.0, -1e99, _pal.upperValue(0)+1.0, 1e99); } else { return Rect(1.5*_pal.upperValue(0)-0.5*_pal.upperValue(1), -1e99, 1.5*_pal.upperValue(_pal.count()-2)-0.5*_pal.upperValue(_pal.count()-3), 1e99); } } else { if(_pal.count()==2) { return Rect( -1e99, _pal.upperValue(0)-1.0, 1e99, _pal.upperValue(0)+1.0); } else { return Rect(-1e99, 1.5*_pal.upperValue(0)-0.5*_pal.upperValue(1), 1e99, 1.5*_pal.upperValue(_pal.count()-2)-0.5*_pal.upperValue(_pal.count()-3)); } } }
QString SciFigs::ColorPaletteLayer::coordinateTipInfo | ( | const Point2D & | p | ) | const [protected, virtual] |
Reimplemented from SciFigs::GraphContentLayer.
References QGpGuiTools::ColorPalette::color(), QGpGuiTools::ColorPalette::count(), SciFigs::GraphContentLayer::graph(), SciFigs::GraphContentLayer::name, SciFigs::Axis::numberPrecision, SciFigs::Axis::numberType, TRACE, QGpCoreTools::Point2D::x(), and SciFigs::AxisWindow::xAxis().
void SciFigs::ColorPaletteLayer::paintData | ( | const LayerPainterRequest & | lp, |
QPainter & | p, | ||
double | dotpercm | ||
) | const [protected, virtual] |
Implements SciFigs::GraphContentLayer.
References QGpGuiTools::ColorPalette::color(), QGpGuiTools::ColorPalette::count(), QGpGuiTools::ColorPalette::index(), QGpGuiTools::ColorPalette::lowerValue(), SciFigs::LayerPainterRequest::options(), SciFigs::LayerPainterRequest::size(), TRACE, QGpGuiTools::ColorPalette::upperValue(), QGpCoreTools::XAxis, SciFigs::GraphContentOptions::xs2r(), and SciFigs::GraphContentOptions::ys2r().
{ TRACE; const GraphContentOptions& gc=lp.options(); ColorPalette pal=_pal; // A copy to avoid distrubances from changes to palette during painting int n=pal.count()-1; if(n<0) return; int w=lp.size().width(); int h=lp.size().height(); if(n==0) { p.fillRect(0, 0, w, h, pal.color(0)); return; } if(_axisType==XAxis) { double vmin=gc.xs2r(0); double vmax=gc.xs2r(w); if(vmin>vmax) qSwap(vmin, vmax); int minIndex=pal.index(vmin); int maxIndex=pal.index(vmax); if(minIndex==0) { paintX(vmin, pal.upperValue(0), w, h, pal.color(0), gc, p); minIndex++; } if(maxIndex==n) { paintX(pal.lowerValue(n), vmax, w, h, pal.color(n), gc, p); maxIndex--; } for(int i=minIndex; i<=maxIndex; i++) { paintX(pal.lowerValue(i), pal.upperValue(i), w, h, pal.color(i), gc, p); } } else { double vmin=gc.ys2r(0); double vmax=gc.ys2r(h); if(vmin>vmax) qSwap(vmin, vmax); int minIndex=pal.index(vmin); int maxIndex=pal.index(vmax); if(minIndex==0) { paintY(vmin, pal.upperValue(0), w, h, pal.color(0), gc, p); minIndex++; } if(maxIndex==n) { paintY(pal.lowerValue(n), vmax, w, h, pal.color(n), gc, p); maxIndex--; } for(int i=minIndex; i<=maxIndex; i++) { paintY(pal.lowerValue(i), pal.upperValue(i), w, h, pal.color(i), gc, p); } } }
const ColorPalette& SciFigs::ColorPaletteLayer::palette | ( | ) | const [inline] |
Referenced by SciFigs::ColorPaletteWidget::operator=(), SciFigs::ColorPaletteWidget::palette(), SciFigs::ColorPaletteWidget::setVLinear(), and SciFigs::ColorPaletteWidget::setVLog().
{return _pal;}
References TRACE.
Referenced by SciFigs::ColorPaletteWidget::operator=().
{ TRACE; LayerLocker ll(this); _axisType=a; }
void SciFigs::ColorPaletteLayer::setAxisType | ( | QString | t | ) | [inline] |
References setAxisType(), QGpCoreTools::XAxis, and QGpCoreTools::YAxis.
Referenced by setAxisType().
{if(t.contains("X")) setAxisType(XAxis); else setAxisType(YAxis);}
void SciFigs::ColorPaletteLayer::setPalette | ( | const ColorPalette & | pal | ) | [inline] |
Referenced by SciFigs::ColorPaletteWidget::colorInterpole(), SciFigs::ColorPaletteWidget::ColorPaletteWidget(), SciFigs::ColorPaletteWidget::defaultBW(), SciFigs::ColorPaletteWidget::defaultColors(), SciFigs::ColorPaletteWidget::defaultHSVColors(), SciFigs::ColorPaletteWidget::operator=(), SciFigs::ColorPaletteWidget::setNumColor(), SciFigs::ColorPaletteWidget::setPalette(), SciFigs::ColorPaletteWidget::setVLinear(), and SciFigs::ColorPaletteWidget::setVLog().
{_pal=pal;}
virtual const QString& SciFigs::ColorPaletteLayer::xml_tagName | ( | ) | const [inline, virtual] |
Reimplemented from SciFigs::GraphContentLayer.
{return xmlColorPaletteLayerTag;}
const QString SciFigs::ColorPaletteLayer::xmlColorPaletteLayerTag = "ColorPaletteLayer" [static] |
QString SciFigs::ColorPaletteLayer::axisType [read, write] |