Row();
///
Row(pos_type pos);
+ ///
+ bool changed() const { return changed_; }
+ ///
+ void setChanged(bool c) { changed_ = c; }
+ ///
+ void setCrc(size_type crc) const;
+ ///
+ void setSelection(pos_type sel_beg, pos_type sel_end);
+
///
void pos(pos_type p);
///
- pos_type pos() const;
+ pos_type pos() const { return pos_; }
///
void endpos(pos_type p);
///
- pos_type endpos() const;
+ pos_type endpos() const { return end_; }
+ ///
+ void setDimension(Dimension const & dim);
///
Dimension const & dimension() const { return dim_; }
///
int height() const { return dim_.height(); }
///
- void width(int w) { dim_.wid = w; }
- ///
int width() const { return dim_.wid; }
///
- void ascent(int a) { dim_.asc = a; }
- ///
int ascent() const { return dim_.asc; }
///
- void descent(int d) { dim_.des = d; }
- ///
int descent() const { return dim_.des; }
+
/// current debugging only
- void dump(const char * = "") const;
+ void dump(char const * = "") const;
/// width of a separator (i.e. space)
double separator;
- /// width of hfills in the body
- double hfill;
/// width of hfills in the label
double label_hfill;
/// the x position of the row
double x;
-
+ ///
+ pos_type sel_beg;
+ ///
+ pos_type sel_end;
private:
+ /// has the Row appearance changed since last drawing?
+ mutable bool changed_;
+ /// CRC of row contents.
+ mutable size_type crc_;
/// first pos covered by this row
pos_type pos_;
/// one behind last pos covered by this row