* This is the base to all grid-like editable math objects
*/
class MathGridInset : public MathNestInset {
-
public:
/// additional per-cell information
/// Ensures that the dialog is closed.
~MathGridInset();
///
- virtual std::auto_ptr<InsetBase> clone() const;
- ///
void metrics(MetricsInfo & mi) const;
///
void metrics(MetricsInfo & mi, Dimension &) const;
MathGridInset * asGridInset() { return this; }
/// identifies GridInset
MathGridInset const * asGridInset() const { return this; }
- /// local dispatcher
- dispatch_result dispatch(FuncRequest const & cmd, idx_type & idx, pos_type & pos);
-
///
col_type ncols() const;
///
row_type row(idx_type idx) const;
///
- bool idxUpDown(idx_type & idx, pos_type & pos, bool up, int targetx) const;
+ bool idxUpDown(LCursor &, bool up) const;
///
- bool idxLeft(idx_type & idx, pos_type & pos) const;
+ bool idxLeft(LCursor &) const;
///
- bool idxRight(idx_type & idx, pos_type & pos) const;
+ bool idxRight(LCursor &) const;
///
- bool idxFirst(idx_type & idx, pos_type & pos) const;
+ bool idxFirst(LCursor &) const;
///
- bool idxLast(idx_type & idx, pos_type & pos) const;
- ///
- bool idxHome(idx_type & idx, pos_type & pos) const;
- ///
- bool idxEnd(idx_type & idx, pos_type & pos) const;
+ bool idxLast(LCursor &) const;
///
bool idxDelete(idx_type & idx);
/// pulls cell after pressing erase
//void octave(OctaveStream &) const;
protected:
+ virtual void doDispatch(LCursor & cur, FuncRequest & cmd);
+ ///
+ bool getStatus(LCursor & cur, FuncRequest const & cmd,
+ FuncStatus & flag) const;
/// returns x offset of cell compared to inset
int cellXOffset(idx_type idx) const;
/// returns y offset of cell compared to inset
/// extract number of columns from alignment string
col_type guessColumns(std::string const & halign) const;
/// splits cells and shifts right part to the next cell
- void splitCell(idx_type &, pos_type & pos);
+ void splitCell(LCursor & cur);
public:
/// row info
std::vector<CellInfo> cellinfo_;
///
char v_align_; // add approp. type
+private:
+ virtual std::auto_ptr<InsetBase> doClone() const;
};
#endif