// additional per-row information
struct ColInfo {
- ///
+ ///
ColInfo();
/// currently possible: 'l', 'c', 'r'
char align_;
mutable int width_;
/// cached offset
mutable int offset_;
- /// do we need a line to the left?
+ /// do we need a line to the left?
bool leftline_;
/// do we need a line to the right?
bool rightline_;
int skip_;
};
-public:
+public:
/// constructor from columns description, creates one row
MathGridInset(char valign, string const & halign);
/// Note: columns first!
///
MathGridInset(col_type m, row_type n, char valign, string const & halign);
///
+ MathInset * clone() const;
+ ///
void metrics(MathMetricsInfo const & st) const;
///
void draw(Painter &, int x, int y) const;
///
+ void metricsT(TextMetricsInfo const & st) const;
+ ///
+ void drawT(TextPainter &, int x, int y) const;
+ ///
void halign(string const &);
///
void halign(char c, col_type col);
int cellYOffset(idx_type idx) const;
///
- bool idxUp(idx_type &) const;
- ///
- bool idxDown(idx_type &) const;
+ bool idxUpDown(idx_type &, bool) const;
///
bool idxLeft(idx_type &, pos_type &) const;
///
///
bool idxEnd(idx_type &, pos_type &) const;
///
- void idxDelete(idx_type &, bool &, bool &);
- ///
- void idxDeleteRange(idx_type, idx_type);
-
+ bool idxDelete(idx_type &);
+ /// pulls cell after pressing erase
+ void idxGlue(idx_type idx);
+
///
virtual void addRow(row_type);
///
///
void setDefaults();
+ ///
+ virtual int colsep() const;
+ ///
+ virtual int rowsep() const;
+ ///
+ virtual int hlinesep() const;
+ ///
+ virtual int vlinesep() const;
+ ///
+ virtual int border() const;
+
///
void write(WriteStream & os) const;
///
std::vector<RowInfo> rowinfo_;
/// column info
std::vector<ColInfo> colinfo_;
- ///
+ ///
char v_align_; // add approp. type
};