commit f1a388584fb2c043d17127d7db49c36cb8427cfa
Author: Uwe Stöhr <[email protected]>
Date: Tue Jan 19 22:35:24 2016 +0100
Revert "Fix the display of column spacing in AMS environments"
I have no clue why this was automatically committed, I just applied the
path, nothing more.
This reverts commit bb5470b5d1ec1b2f7394164686d6035a0c4bce0f.
# Conflicts:
# src/mathed/InsetMathGrid.cpp
# src/mathed/InsetMathSplit.cpp
diff --git a/src/mathed/InsetMathGrid.cpp b/src/mathed/InsetMathGrid.cpp
index 4e38833..0ea62cf 100644
--- a/src/mathed/InsetMathGrid.cpp
+++ b/src/mathed/InsetMathGrid.cpp
@@ -485,9 +485,9 @@ void InsetMathGrid::metrics(MetricsInfo & mi, Dimension &
dim) const
for (col_type col = 1; col <= ncols(); ++col) {
colinfo_[col].offset_ =
colinfo_[col - 1].offset_ +
- colinfo_[col - 1].width_ +
- displayColSpace(col - 1) +
- colsep() +
+ colinfo_[col - 1].width_ +
+ displayColSpace(col - 1) +
+ colsep() +
colinfo_[col].lines_ * vlinesep();
}
@@ -508,7 +508,7 @@ void InsetMathGrid::metrics(MetricsInfo & mi, Dimension &
dim) const
int const nextoffset =
colinfo_[first].offset_ +
wid +
- displayColSpace(last) +
+ colinfo_[last].skip_ +
colsep() +
colinfo_[last+1].lines_ * vlinesep();
int const dx = nextoffset - colinfo_[last+1].offset_;
@@ -741,7 +741,7 @@ void InsetMathGrid::metricsT(TextMetricsInfo const & mi,
Dimension & dim) const
colinfo_[col].offset_ =
colinfo_[col - 1].offset_ +
colinfo_[col - 1].width_ +
- displayColSpace(col - 1) +
+ colinfo_[col - 1].skip_ +
1 ; //colsep() +
//colinfo_[col].lines_ * vlinesep();
}
@@ -953,7 +953,7 @@ int InsetMathGrid::cellWidth(idx_type idx) const
col_type c2 = c1 + ncellcols(idx);
return colinfo_[c2].offset_
- colinfo_[c1].offset_
- - displayColSpace(c2)
+ - colinfo_[c2].skip_
- colsep()
- colinfo_[c2].lines_ * vlinesep();
}
@@ -1378,11 +1378,6 @@ char InsetMathGrid::displayColAlign(idx_type idx) const
}
-int InsetMathGrid::displayColSpace(col_type col) const
-{
- return colinfo_[col].skip_;
-}
-
void InsetMathGrid::doDispatch(Cursor & cur, FuncRequest & cmd)
{
//lyxerr << "*** InsetMathGrid: request: " << cmd << endl;
@@ -1867,32 +1862,5 @@ char InsetMathGrid::colAlign(HullType type, col_type col)
}
-//static
-int InsetMathGrid::colSpace(HullType type, col_type col)
-{
- int alignInterSpace;
- switch (type) {
- case hullEqnArray:
- return 5;
-
- case hullAlign:
- alignInterSpace = 20;
- break;
- case hullAlignAt:
- alignInterSpace = 0;
- break;
- case hullXAlignAt:
- alignInterSpace = 40;
- break;
- case hullXXAlignAt:
- case hullFlAlign:
- alignInterSpace = 60;
- break;
- default:
- return 0;
- }
- return (col % 2) ? alignInterSpace : 0;
-}
-
} // namespace lyx
diff --git a/src/mathed/InsetMathGrid.h b/src/mathed/InsetMathGrid.h
index e994310..6199b7d 100644
--- a/src/mathed/InsetMathGrid.h
+++ b/src/mathed/InsetMathGrid.h
@@ -261,16 +261,8 @@ protected:
/// Column alignment for display of cell \p idx.
/// Must not be written to file!
virtual char displayColAlign(idx_type idx) const;
- /// Column spacing for display of column \p col.
- /// Must not be written to file!
- virtual int displayColSpace(col_type col) const;
-
- // The following two functions are used in InsetMathHull and
- // InsetMathSplit.
/// The value of a fixed col align for a certain hull type
static char colAlign(HullType type, col_type col);
- /// The value of a fixed col spacing for a certain hull type
- static int colSpace(HullType type, col_type col);
/// row info.
/// rowinfo_[nrows()] is a dummy row used only for hlines.
diff --git a/src/mathed/InsetMathHull.cpp b/src/mathed/InsetMathHull.cpp
index b6cf474..cce029f 100644
--- a/src/mathed/InsetMathHull.cpp
+++ b/src/mathed/InsetMathHull.cpp
@@ -382,13 +382,6 @@ char InsetMathHull::displayColAlign(idx_type idx) const
}
-int InsetMathHull::displayColSpace(col_type col) const
-{
- return colSpace(type_, col);
-}
-
-
-//FIXME: This has probably no effect and can be removed.
int InsetMathHull::defaultColSpace(col_type col)
{
if (type_ == hullAlign || type_ == hullAlignAt)
diff --git a/src/mathed/InsetMathHull.h b/src/mathed/InsetMathHull.h
index 084fff6..9598ad4 100644
--- a/src/mathed/InsetMathHull.h
+++ b/src/mathed/InsetMathHull.h
@@ -111,8 +111,6 @@ public:
///
int defaultColSpace(col_type col);
///
- int displayColSpace(col_type col) const;
- ///
char defaultColAlign(col_type col);
///
char displayColAlign(idx_type idx) const;
diff --git a/src/mathed/InsetMathSplit.cpp b/src/mathed/InsetMathSplit.cpp
index 37741de..e69de29 100644
--- a/src/mathed/InsetMathSplit.cpp
+++ b/src/mathed/InsetMathSplit.cpp
@@ -1,206 +0,0 @@
-/**
- * \file InsetMathSplit.cpp
- * This file is part of LyX, the document processor.
- * Licence details can be found in the file COPYING.
- *
- * \author André Pönitz
- *
- * Full author contact details are available in file CREDITS.
- */
-
-#include <config.h>
-
-#include "InsetMathSplit.h"
-
-#include "MathData.h"
-#include "MathStream.h"
-#include "MathStream.h"
-
-#include "FuncRequest.h"
-#include "FuncStatus.h"
-#include "support/gettext.h"
-#include "LaTeXFeatures.h"
-
-#include "support/lstrings.h"
-
-#include <ostream>
-
-using namespace std;
-
-namespace lyx {
-
-using support::bformat;
-
-
-// FIXME: handle numbers in gui, currently they are only read and written
-
-InsetMathSplit::InsetMathSplit(Buffer * buf, docstring const & name,
- char valign, bool numbered)
- : InsetMathGrid(buf, 1, 1, valign, docstring()), name_(name),
- numbered_(numbered)
-{
-}
-
-
-Inset * InsetMathSplit::clone() const
-{
- return new InsetMathSplit(*this);
-}
-
-
-//FIXME: This has probably no effect and can be removed.
-char InsetMathSplit::defaultColAlign(col_type col)
-{
- if (name_ == "gathered")
- return 'c';
- if (name_ == "lgathered")
- return 'l';
- if (name_ == "rgathered")
- return 'r';
- if (name_ == "split"
- || name_ == "aligned"
- || name_ == "align"
- || name_ == "alignedat")
- return colAlign(hullAlign, col);
- return 'l';
-}
-
-
-char InsetMathSplit::displayColAlign(idx_type idx) const
-{
- if (name_ == "gathered")
- return 'c';
- if (name_ == "lgathered")
- return 'l';
- if (name_ == "rgathered")
- return 'r';
- if (name_ == "split"
- || name_ == "aligned"
- || name_ == "align"
- || name_ == "alignedat")
- return colAlign(hullAlign, col(idx));
- return InsetMathGrid::displayColAlign(idx);
-}
-
-
-int InsetMathSplit::displayColSpace(col_type col) const
-{
- if (name_ == "split" || name_ == "aligned" || name_ == "align")
- return colSpace(hullAlign, col);
- if (name_ == "alignedat")
- return colSpace(hullAlignAt, col);
- return 0;
-}
-
-
-
-void InsetMathSplit::draw(PainterInfo & pi, int x, int y) const
-{
- InsetMathGrid::draw(pi, x, y);
- setPosCache(pi, x, y);
-}
-
-
-bool InsetMathSplit::getStatus(Cursor & cur, FuncRequest const & cmd,
- FuncStatus & flag) const
-{
- switch (cmd.action()) {
- case LFUN_INSET_MODIFY: {
- istringstream is(to_utf8(cmd.argument()));
- string s;
- is >> s;
- if (s != "tabular")
- break;
- is >> s;
- if (s == "add-vline-left" || s == "add-vline-right") {
- flag.message(bformat(
- from_utf8(N_("Can't add vertical grid lines in
'%1$s'")), name_));
- flag.setEnabled(false);
- return true;
- }
- if (s == "align-left" || s == "align-center" || s ==
"align-right") {
- flag.setEnabled(false);
- return true;
- }
- break;
- }
- default:
- break;
- }
- return InsetMathGrid::getStatus(cur, cmd, flag);
-}
-
-
-void InsetMathSplit::write(WriteStream & ws) const
-{
- MathEnsurer ensurer(ws);
- if (ws.fragile())
- ws << "\\protect";
- docstring suffix;
- if (!numbered_ && name_ == "align")
- suffix = from_ascii("*");
- ws << "\\begin{" << name_ << suffix << '}';
- bool open = ws.startOuterRow();
- if (name_ != "split" && name_ != "align" && verticalAlignment() != 'c')
- ws << '[' << verticalAlignment() << ']';
- if (name_ == "alignedat")
- ws << '{' << static_cast<unsigned int>((ncols() + 1)/2) << '}';
- InsetMathGrid::write(ws);
- if (ws.fragile())
- ws << "\\protect";
- ws << "\\end{" << name_ << suffix << "}\n";
- if (open)
- ws.startOuterRow();
-}
-
-
-void InsetMathSplit::infoize(odocstream & os) const
-{
- docstring name = name_;
- name[0] = support::uppercase(name[0]);
- if (name_ == "align" && !numbered_)
- os << name << "* ";
- else
- os << name << ' ';
-}
-
-
-void InsetMathSplit::mathmlize(MathStream & ms) const
-{
- // split, gathered, aligned, alignedat
- // At the moment, those seem to display just fine without any
- // special treatment.
- // FIXME
- // lgathered and rgathered could use the proper alignment, but
- // it's not clear how to do that without copying a lot of code.
- // One idea would be to wrap the table in an <mrow>, and set the
- // alignment there via CSS.
- // FIXME how to handle numbered and unnumbered align?
- InsetMathGrid::mathmlize(ms);
-}
-
-
-void InsetMathSplit::htmlize(HtmlStream & ms) const
-{
- // split, gathered, aligned, alignedat
- // At the moment, those seem to display just fine without any
- // special treatment.
- // FIXME
- // lgathered and rgathered could use the proper alignment.
- // FIXME how to handle numbered and unnumbered align?
- InsetMathGrid::htmlize(ms);
-}
-
-
-void InsetMathSplit::validate(LaTeXFeatures & features) const
-{
- if (name_ == "split" || name_ == "gathered" || name_ == "aligned" ||
- name_ == "alignedat" || name_ == "align")
- features.require("amsmath");
- else if (name_ == "lgathered" || name_ == "rgathered")
- features.require("mathtools");
- InsetMathGrid::validate(features);
-}
-
-
-} // namespace lyx
diff --git a/src/mathed/InsetMathSplit.h b/src/mathed/InsetMathSplit.h
index 0f47e38..6136b6f 100644
--- a/src/mathed/InsetMathSplit.h
+++ b/src/mathed/InsetMathSplit.h
@@ -41,8 +41,6 @@ public:
///
int defaultColSpace(col_type) { return 0; }
///
- int displayColSpace(col_type col) const;
- ///
char defaultColAlign(col_type);
///
char displayColAlign(idx_type idx) const;