mirror of
https://git.lyx.org/repos/lyx.git
synced 2024-11-27 03:36:39 +00:00
store optional eol arg and write it back if necessary
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@2480 a592a061-630c-0410-9148-cb99ea01b6c8
This commit is contained in:
parent
3b870366b4
commit
babee598f4
@ -45,6 +45,7 @@ int MathGridInset::index(int row, int col) const
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
void MathGridInset::halign(string const & hh)
|
void MathGridInset::halign(string const & hh)
|
||||||
{
|
{
|
||||||
int n = hh.size();
|
int n = hh.size();
|
||||||
@ -54,26 +55,45 @@ void MathGridInset::halign(string const & hh)
|
|||||||
colinfo_[i].h_align_ = hh[i];
|
colinfo_[i].h_align_ = hh[i];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void MathGridInset::halign(char h, int col)
|
void MathGridInset::halign(char h, int col)
|
||||||
{
|
{
|
||||||
colinfo_[col].h_align_ = h;
|
colinfo_[col].h_align_ = h;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
char MathGridInset::halign(int col) const
|
char MathGridInset::halign(int col) const
|
||||||
{
|
{
|
||||||
return colinfo_[col].h_align_;
|
return colinfo_[col].h_align_;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
void MathGridInset::valign(char c)
|
void MathGridInset::valign(char c)
|
||||||
{
|
{
|
||||||
v_align_ = c;
|
v_align_ = c;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
char MathGridInset::valign() const
|
char MathGridInset::valign() const
|
||||||
{
|
{
|
||||||
return v_align_;
|
return v_align_;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
void MathGridInset::vskip(LyXLength const & skip, int row)
|
||||||
|
{
|
||||||
|
rowinfo_[row].skip_ = skip;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
LyXLength MathGridInset::vskip(int row) const
|
||||||
|
{
|
||||||
|
return rowinfo_[row].skip_;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
void MathGridInset::metrics(MathStyles st) const
|
void MathGridInset::metrics(MathStyles st) const
|
||||||
{
|
{
|
||||||
// let the cells adjust themselves
|
// let the cells adjust themselves
|
||||||
@ -220,6 +240,9 @@ string MathGridInset::eolString(int row) const
|
|||||||
if (row == nrows() - 1)
|
if (row == nrows() - 1)
|
||||||
return "";
|
return "";
|
||||||
|
|
||||||
|
if (rowinfo_[row].skip_ != LyXLength())
|
||||||
|
return "\\\\[" + rowinfo_[row].skip_.asLatexString() + "]\n";
|
||||||
|
|
||||||
// make sure an upcoming '[' does not break anything
|
// make sure an upcoming '[' does not break anything
|
||||||
MathArray const & c = cell(index(row + 1, 0));
|
MathArray const & c = cell(index(row + 1, 0));
|
||||||
if (c.size() && (*c.begin())->getChar() == '[')
|
if (c.size() && (*c.begin())->getChar() == '[')
|
||||||
@ -243,6 +266,7 @@ void MathGridInset::addRow(int row)
|
|||||||
cells_.insert(cells_.begin() + (row + 1) * ncols(), ncols(), MathXArray());
|
cells_.insert(cells_.begin() + (row + 1) * ncols(), ncols(), MathXArray());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void MathGridInset::appendRow()
|
void MathGridInset::appendRow()
|
||||||
{
|
{
|
||||||
rowinfo_.push_back(RowInfo());
|
rowinfo_.push_back(RowInfo());
|
||||||
|
@ -3,6 +3,7 @@
|
|||||||
#define MATH_GRID_H
|
#define MATH_GRID_H
|
||||||
|
|
||||||
#include "math_nestinset.h"
|
#include "math_nestinset.h"
|
||||||
|
#include "vspace.h"
|
||||||
#include "LString.h"
|
#include "LString.h"
|
||||||
|
|
||||||
#ifdef __GNUG__
|
#ifdef __GNUG__
|
||||||
@ -31,6 +32,8 @@ class MathGridInset : public MathNestInset {
|
|||||||
bool upperline_;
|
bool upperline_;
|
||||||
/// hline below this row?
|
/// hline below this row?
|
||||||
bool lowerline_;
|
bool lowerline_;
|
||||||
|
/// distance
|
||||||
|
LyXLength skip_;
|
||||||
};
|
};
|
||||||
|
|
||||||
// additional per-row information
|
// additional per-row information
|
||||||
@ -71,6 +74,10 @@ public:
|
|||||||
///
|
///
|
||||||
char valign() const;
|
char valign() const;
|
||||||
///
|
///
|
||||||
|
void vskip(LyXLength const &, int row);
|
||||||
|
///
|
||||||
|
LyXLength vskip(int row) const;
|
||||||
|
///
|
||||||
void resize(short int type, int cols);
|
void resize(short int type, int cols);
|
||||||
///
|
///
|
||||||
const RowInfo & rowinfo(int row) const;
|
const RowInfo & rowinfo(int row) const;
|
||||||
|
@ -237,8 +237,10 @@ private:
|
|||||||
|
|
||||||
///
|
///
|
||||||
bool curr_num_;
|
bool curr_num_;
|
||||||
//
|
///
|
||||||
string curr_label_;
|
string curr_label_;
|
||||||
|
///
|
||||||
|
string curr_skip_;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
@ -410,6 +412,10 @@ void Parser::parse_lines(MathGridInset * p, int col, bool numbered, bool outmost
|
|||||||
MathMatrixInset * m = static_cast<MathMatrixInset *>(p);
|
MathMatrixInset * m = static_cast<MathMatrixInset *>(p);
|
||||||
m->numbered(row, curr_num_);
|
m->numbered(row, curr_num_);
|
||||||
m->label(row, curr_label_);
|
m->label(row, curr_label_);
|
||||||
|
if (curr_skip_.size()) {
|
||||||
|
m->vskip(LyXLength(curr_skip_), row);
|
||||||
|
curr_skip_.erase();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef WITH_WARNINGS
|
#ifdef WITH_WARNINGS
|
||||||
@ -673,7 +679,7 @@ void Parser::parse_into(MathArray & array, unsigned flags)
|
|||||||
|
|
||||||
case LM_TK_NEWLINE:
|
case LM_TK_NEWLINE:
|
||||||
{
|
{
|
||||||
lexArg('['); // ignore things like \\[5pt] for a while
|
curr_skip_ = lexArg('[');
|
||||||
if (flags & FLAG_NEWLINE) {
|
if (flags & FLAG_NEWLINE) {
|
||||||
flags &= ~FLAG_NEWLINE;
|
flags &= ~FLAG_NEWLINE;
|
||||||
--plevel;
|
--plevel;
|
||||||
|
Loading…
Reference in New Issue
Block a user