Brief description of class still missing. More...
#include <HistogramLayer.h>
Public Member Functions | |
| virtual Rect | boundingRect () const |
| HistogramLayer (AxisWindow *parent=0) | |
| virtual void | paintData (const LayerPainterRequest &lp, QPainter &p, double dotpercm) const |
| void | set (const Histogram &h) |
| virtual const QString & | xml_tagName () const |
| ~HistogramLayer () | |
Static Public Attributes | |
| static const QString | xmlHistogramLayerTag = "HistogramLayer" |
Protected Member Functions | |
| XMLMember | xml_member (XML_MEMBER_ARGS) |
| bool | xml_setProperty (XML_SETPROPERTY_ARGS) |
| void | xml_writeProperties (XML_WRITEPROPERTIES_ARGS) const |
Brief description of class still missing.
Full description of class still missing
| SciFigs::HistogramLayer::HistogramLayer | ( | AxisWindow * | parent = 0 | ) |
| Rect SciFigs::HistogramLayer::boundingRect | ( | ) | const [virtual] |
Implements SciFigs::GraphContentLayer.
References QGpCoreTools::Histogram::limits(), and TRACE.
| void SciFigs::HistogramLayer::paintData | ( | const LayerPainterRequest & | lp, |
| QPainter & | p, | ||
| double | dotpercm | ||
| ) | const [virtual] |
Implements SciFigs::GraphContentLayer.
References QGpCoreTools::Histogram::boxes(), SciFigs::LayerPainterRequest::options(), SciFigs::GraphContentOptions::r2s(), TRACE, QGpCoreTools::Rect::x1(), QGpCoreTools::Rect::x2(), SciFigs::GraphContentOptions::xVisMax(), SciFigs::GraphContentOptions::xVisMin(), QGpCoreTools::Rect::y1(), and QGpCoreTools::Rect::y2().
{
TRACE;
const GraphContentOptions& gc=lp.options();
QVector<Rect> rects=_histogram.boxes();
int n=rects.count()-1;
if(n>0) {
p.save();
p.setPen(Qt::NoPen);
p.setBrush(QBrush(Qt::black, Qt::SolidPattern));
const Rect& r1=rects.first();
p.drawRect(QRect(gc.r2s(gc.xVisMin(), 0), gc.r2s(r1.x2(), r1.y2())));
for(int i=1; i<n; i++) {
const Rect& r=rects.at(i);
p.drawRect(QRect(gc.r2s(r.x1(), r.y1()), gc.r2s(r.x2(), r.y2())));
}
const Rect& r2=rects.last();
p.drawRect(QRect(gc.r2s(r2.x1(), r2.y2()), gc.r2s(gc.xVisMax(), 0)));
p.restore();
}
}
| void SciFigs::HistogramLayer::set | ( | const Histogram & | h | ) |
References TRACE.
Referenced by Results::Results().
{
TRACE;
LayerLocker ll(this);
_histogram=h;
}
| XMLMember SciFigs::HistogramLayer::xml_member | ( | XML_MEMBER_ARGS | ) | [protected, virtual] |
Re-implement this function to offer XML restore (children and properties) support to your class.
From tag and map (with contains the attibute value) return a unique identifier under the format of a XMLMember. XMLMember is initialized with 3 types of contructors:
Map of attributes can be inspected in this way (can be achived also in xml_setProperty()):
static const QString tmp("childrenName"); XMLRestoreAttributeIterator it=map.find(tmp); if(it!=map.end()) { // found attribute "childrenName" }
If the map of attributes is not used:
Q_UNUSED(attributes);
if(tag=="x1") return XMLMember(0);
else if(tag=="y1") return XMLMember(1);
else if(tag=="x2") return XMLMember(2);
else if(tag=="y2") return XMLMember(3);
else return XMLMember(XMLMember::Unknown);
Arithmetic operations + and - apply to XMLMember to avoid confusion of property id numbers between inherited objects. Offset 3 corresponds to the number of properties defined in this object.
if(tag=="anInteger") return XMLMember(0); else if(tag=="aString") return XMLMember(1); else if(tag=="aDouble") return XMLMember(2); return AbstractLine::xml_member(tag, attributes, context)+3;
For the arguments of this function use Macro XML_MEMBER_ARGS.
Reimplemented from SciFigs::GraphContentLayer.
{
}
| bool SciFigs::HistogramLayer::xml_setProperty | ( | XML_SETPROPERTY_ARGS | ) | [protected, virtual] |
Re-implement this function to offer XML restore properties support to your class.
From memberID set the corresponding property with value content. The map of attributes is given as a supplementary information (not useful in all cases).
For a general case:
Q_UNUSED(attributes); double val=content.toDouble(); switch (memberID) { case 0: _x1=val; return true; case 1: _y1=val; return true; case 2: _x2=val; return true; case 3: _y2=val; return true; default: return false; }
For classes inheriting other classes (see also xml_member())
switch (memberID) { case 0: _anInteger=content.toString(); return true; case 1: _aString=content.toInt(); return true; case 2: _aDouble=content.toDouble(); return true; default: return AbstractLine::xml_setProperty(memberID-3, map, content);
For the arguments of this function use Macro XML_SETPROPERTY_ARGS.
Reimplemented from SciFigs::GraphContentLayer.
{
}
| virtual const QString& SciFigs::HistogramLayer::xml_tagName | ( | ) | const [inline, virtual] |
Reimplemented from SciFigs::GraphContentLayer.
{return xmlHistogramLayerTag;}
| void SciFigs::HistogramLayer::xml_writeProperties | ( | XML_WRITEPROPERTIES_ARGS | ) | const [protected, virtual] |
Reimplemented from SciFigs::GraphContentLayer.
{
}
const QString SciFigs::HistogramLayer::xmlHistogramLayerTag = "HistogramLayer" [static] |