///
void setChanged(bool c) { changed_ = c; }
///
- void setCrc(size_type crc);
+ void setCrc(size_type crc) const;
+ /// Set the selection begin and end.
+ /**
+ * This is const because we update the selection status only at draw()
+ * time.
+ */
+ void setSelection(pos_type sel_beg, pos_type sel_end) const;
+
///
void pos(pos_type p);
///
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;
-
+ ///
+ mutable pos_type sel_beg;
+ ///
+ mutable pos_type sel_end;
private:
/// has the Row appearance changed since last drawing?
- bool changed_;
+ mutable bool changed_;
/// CRC of row contents.
- size_type crc_;
+ mutable size_type crc_;
/// first pos covered by this row
pos_type pos_;
/// one behind last pos covered by this row