Uwe Stöhr
72292b98a6
support for formal math script
...
- fileformat change
- fixes #2340
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@34941 a592a061-630c-0410-9148-cb99ea01b6c8
2010-07-17 15:51:11 +00:00
Pavel Sanda
3e64ec2c9d
comment
...
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@34925 a592a061-630c-0410-9148-cb99ea01b6c8
2010-07-17 09:53:29 +00:00
Richard Heck
5577e877bb
Try to move all updateBuffer() calls to a central location. We now use
...
DispatchResult to store a flag that tells us whether we need a buffer
update or not.
So: If you find a missing one, go to an appropriate place in the
dispatch and call cur.forceBufferUpdate() or, if you don't have a cursor
but do have a DispatchResult, call dr.forceBufferUpdate().
There is one remaining call I could not move, in
TextMetrics::redoParagraph. But this looks like an emergency call when
the macro context has not been set. There are also a couple calls that
are connected with buffer creation that I commented out, since the same
call is done again almost immediately. But I'm not positive about those.
Now the nice thing would be to do the same for updateMacros().
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@34826 a592a061-630c-0410-9148-cb99ea01b6c8
2010-07-09 14:37:00 +00:00
Richard Heck
0e14f379f3
Rename a couple routines. This will avoid confusion with a forthcoming
...
patch.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@34816 a592a061-630c-0410-9148-cb99ea01b6c8
2010-07-08 20:04:35 +00:00
Enrico Forestieri
67f6e68e8d
Add last missing inner-hull grid type environments.
...
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@34766 a592a061-630c-0410-9148-cb99ea01b6c8
2010-07-05 17:30:03 +00:00
Enrico Forestieri
7049447fd7
Correct refinement fix for #6595 . The problem was not adding \\ to the last
...
empty line of substack, tabular and xymatrix, but not calling delEmptyLastRow
for them.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@34763 a592a061-630c-0410-9148-cb99ea01b6c8
2010-07-05 12:31:18 +00:00
Enrico Forestieri
d546a9b286
Revert r34761 because that was not the right fix that is going to be
...
committed shortly.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@34762 a592a061-630c-0410-9148-cb99ea01b6c8
2010-07-05 12:25:48 +00:00
Enrico Forestieri
7eeb664bbb
Refine fix for #6595 . Don't add \\ to the last empty line of substack,
...
tabular and xymatrix.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@34761 a592a061-630c-0410-9148-cb99ea01b6c8
2010-07-05 10:03:56 +00:00
Enrico Forestieri
d9ddc95ab8
Refine fix for #6595 . It turns out that the last empty line is to be
...
deleted not only for "array" but also for all inner-hull grid types.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@34752 a592a061-630c-0410-9148-cb99ea01b6c8
2010-07-04 18:08:14 +00:00
Enrico Forestieri
9536afe742
Fix bug #6595 : empty last row of matrix or eqnarray vanishes.
...
This patch essentially reverts r30795 and also provides the correct fix
for #2969 .
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@34751 a592a061-630c-0410-9148-cb99ea01b6c8
2010-07-04 16:31:53 +00:00
Enrico Forestieri
0c26995be6
Fix bug #6756 : import problem with \ (no space following)
...
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@34638 a592a061-630c-0410-9148-cb99ea01b6c8
2010-06-09 20:13:11 +00:00
Richard Heck
81228c90fc
Fix bug #6759 . Thanks to Vincent.
...
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@34637 a592a061-630c-0410-9148-cb99ea01b6c8
2010-06-09 17:02:55 +00:00
Stephan Witt
2052c1e7cc
correct in LFUN_MATH_NUMBER_TOGGLE the conversion of display state to enabled state
...
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@34634 a592a061-630c-0410-9148-cb99ea01b6c8
2010-06-09 12:04:25 +00:00
Enrico Forestieri
fe7196a545
The delimiters '<' and '>' can also be used as big delimiters. They are
...
equivalent to \langle and \rangle, which were already taken into account.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@34607 a592a061-630c-0410-9148-cb99ea01b6c8
2010-06-06 18:11:15 +00:00
Enrico Forestieri
e0a5cda787
Add GUI support for big delimiters variants without 'l', 'm' or 'r' endings.
...
They differ from their cousins only for the space left around them.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@34604 a592a061-630c-0410-9148-cb99ea01b6c8
2010-06-06 00:42:33 +00:00
Enrico Forestieri
41db28dd45
Fix bug #6739 : Loading in a 1.6.5 file causes 1.6.6-1 to crash
...
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@34563 a592a061-630c-0410-9148-cb99ea01b6c8
2010-05-31 23:20:30 +00:00
Enrico Forestieri
a2d888496b
Still white space.
...
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@34562 a592a061-630c-0410-9148-cb99ea01b6c8
2010-05-31 23:12:07 +00:00
Enrico Forestieri
c4faa16f20
Only white space.
...
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@34561 a592a061-630c-0410-9148-cb99ea01b6c8
2010-05-31 23:02:04 +00:00
Uwe Stöhr
106d31cd67
InsetMathHull.h: fix typo in comment
...
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@34445 a592a061-630c-0410-9148-cb99ea01b6c8
2010-05-22 00:46:57 +00:00
Enrico Forestieri
cf1f59dd4d
Fix bug #6678 : Crash when undoing backspace inside math-macro
...
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@34370 a592a061-630c-0410-9148-cb99ea01b6c8
2010-05-04 16:16:20 +00:00
Vincent van Ravesteijn
86eaa6de73
Another base class without a virtual destructor.
...
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@34362 a592a061-630c-0410-9148-cb99ea01b6c8
2010-05-03 22:55:40 +00:00
Enrico Forestieri
7d4ca5033e
Implement LFUN_UNICODE_INSERT in mathed.
...
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@34351 a592a061-630c-0410-9148-cb99ea01b6c8
2010-04-30 22:23:19 +00:00
Vincent van Ravesteijn
708b73cab7
Fix bug #3900 : Mathed corners displayed without mouse hover.
...
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@34348 a592a061-630c-0410-9148-cb99ea01b6c8
2010-04-30 14:55:37 +00:00
Vincent van Ravesteijn
4c611e5745
Mouse hover property should be dependent on the specific bufferview. If there are 2 views showing the same buffer, an Inset can be shown as hovered in only one view.
...
This is also in preparation of a decent fix for bug #3900 .
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@34347 a592a061-630c-0410-9148-cb99ea01b6c8
2010-04-30 14:47:46 +00:00
Enrico Forestieri
9b3aadbe22
Don't hardcode Color_math, such that decorations and other math
...
elements can be drawn in the right color on screen.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@34326 a592a061-630c-0410-9148-cb99ea01b6c8
2010-04-28 13:19:09 +00:00
Enrico Forestieri
beb3fa70e8
Also account for colors in math macros.
...
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@34325 a592a061-630c-0410-9148-cb99ea01b6c8
2010-04-28 11:38:01 +00:00
Enrico Forestieri
d9bcbe5de6
Index: src/mathed/InsetMathEnsureMath.cpp
...
===================================================================
--- src/mathed/InsetMathEnsureMath.cpp (revisione 34304)
+++ src/mathed/InsetMathEnsureMath.cpp (copia locale)
@@ -13,8 +13,9 @@
#include "InsetMathEnsureMath.h"
-#include "MathStream.h"
#include "MathData.h"
+#include "MathStream.h"
+#include "MathSupport.h"
#include <ostream>
@@ -34,7 +35,8 @@ Inset * InsetMathEnsureMath::clone() con
void InsetMathEnsureMath::metrics(MetricsInfo & mi, Dimension & dim) const
{
- FontSetChanger dummy(mi.base, "mathnormal");
+ bool really_change_font = isTextFont(from_ascii(mi.base.fontname));
+ FontSetChanger dummy(mi.base, "mathnormal", really_change_font);
cell(0).metrics(mi, dim);
metricsMarkers(dim);
}
@@ -42,7 +44,8 @@ void InsetMathEnsureMath::metrics(Metric
void InsetMathEnsureMath::draw(PainterInfo & pi, int x, int y) const
{
- FontSetChanger dummy(pi.base, "mathnormal");
+ bool really_change_font = isTextFont(from_ascii(pi.base.fontname));
+ FontSetChanger dummy(pi.base, "mathnormal", really_change_font);
cell(0).draw(pi, x, y);
drawMarkers(pi, x, y);
}
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@34321 a592a061-630c-0410-9148-cb99ea01b6c8
2010-04-28 01:58:11 +00:00
Enrico Forestieri
6c33aa2e5b
Index: src/mathed/InsetMathHull.cpp
...
===================================================================
--- src/mathed/InsetMathHull.cpp (revisione 34304)
+++ src/mathed/InsetMathHull.cpp (copia locale)
@@ -328,6 +328,23 @@ docstring InsetMathHull::standardFont()
}
+docstring InsetMathHull::standardColor() const
+{
+ docstring color;
+ switch (type_) {
+ case hullRegexp:
+ color = from_ascii("foreground");
+ break;
+ case hullNone:
+ color = from_ascii("foreground");
+ break;
+ default:
+ color = from_ascii("math");
+ }
+ return color;
+}
+
+
bool InsetMathHull::previewState(BufferView * bv) const
{
if (!editing(bv) && RenderPreview::status() == LyXRC::PREVIEW_ON) {
@@ -417,8 +434,11 @@ void InsetMathHull::draw(PainterInfo & p
return;
}
+ bool const really_change_color = pi.base.font.color() == Color_none;
+ ColorChanger dummy0(pi.base.font, standardColor(), really_change_color);
FontSetChanger dummy1(pi.base, standardFont());
StyleChanger dummy2(pi.base, display() ? LM_ST_DISPLAY : LM_ST_TEXT);
+
InsetMathGrid::draw(pi, x + 1, y);
if (numberedType()) {
Index: src/mathed/MathSupport.cpp
===================================================================
--- src/mathed/MathSupport.cpp (revisione 34311)
+++ src/mathed/MathSupport.cpp (copia locale)
@@ -653,6 +653,13 @@ bool isMathFont(docstring const & name)
}
+bool isTextFont(docstring const & name)
+{
+ fontinfo * f = lookupFont(name);
+ return f && f->color_ == Color_foreground;
+}
+
+
FontInfo getFont(docstring const & name)
{
FontInfo font;
Index: src/mathed/MathSupport.h
===================================================================
--- src/mathed/MathSupport.h (revisione 34311)
+++ src/mathed/MathSupport.h (copia locale)
@@ -51,6 +51,8 @@ bool isFontName(docstring const & name);
bool isMathFont(docstring const & name);
+bool isTextFont(docstring const & name);
+
// converts single cell to string
docstring asString(MathData const & ar);
// converts single inset to string
Index: src/mathed/InsetMathHull.h
===================================================================
--- src/mathed/InsetMathHull.h (revisione 34304)
+++ src/mathed/InsetMathHull.h (copia locale)
@@ -197,6 +197,8 @@ private:
void changeCols(col_type);
///
docstring standardFont() const;
+ ///
+ docstring standardColor() const;
/// consistency check
void check() const;
/// can this change its number of rows?
Index: src/MetricsInfo.cpp
===================================================================
--- src/MetricsInfo.cpp (revisione 34312)
+++ src/MetricsInfo.cpp (copia locale)
@@ -235,11 +235,15 @@ FontSetChanger::FontSetChanger(MetricsBa
save_ = mb;
FontSize oldsize = save_.font.size();
ColorCode oldcolor = save_.font.color();
+ docstring const oldname = from_ascii(save_.fontname);
mb.fontname = name;
mb.font = sane_font;
augmentFont(mb.font, from_ascii(name));
mb.font.setSize(oldsize);
- mb.font.setColor(oldcolor);
+ if (string(name) != "lyxtex"
+ && ((isTextFont(oldname) && oldcolor != Color_foreground)
+ || (isMathFont(oldname) && oldcolor != Color_math)))
+ mb.font.setColor(oldcolor);
}
}
@@ -252,11 +256,15 @@ FontSetChanger::FontSetChanger(MetricsBa
save_ = mb;
FontSize oldsize = save_.font.size();
ColorCode oldcolor = save_.font.color();
+ docstring const oldname = from_ascii(save_.fontname);
mb.fontname = to_utf8(name);
mb.font = sane_font;
augmentFont(mb.font, name);
mb.font.setSize(oldsize);
- mb.font.setColor(oldcolor);
+ if (name != "lyxtex"
+ && ((isTextFont(oldname) && oldcolor != Color_foreground)
+ || (isMathFont(oldname) && oldcolor != Color_math)))
+ mb.font.setColor(oldcolor);
}
}
@@ -294,17 +302,21 @@ WidthChanger::~WidthChanger()
//
/////////////////////////////////////////////////////////////////////////
-ColorChanger::ColorChanger(FontInfo & font, string const & color)
- : Changer<FontInfo, string>(font)
+ColorChanger::ColorChanger(FontInfo & font, docstring const & color,
+ bool really_change_color)
+ : Changer<FontInfo, ColorCode>(font), change_(really_change_color)
{
- save_ = lcolor.getFromLyXName(color);
- font.setColor(lcolor.getFromLyXName(color));
+ if (change_) {
+ save_ = font.color();
+ font.setColor(lcolor.getFromLyXName(to_utf8(color)));
+ }
}
ColorChanger::~ColorChanger()
{
- orig_.setColor(lcolor.getFromLyXName(save_));
+ if (change_)
+ orig_.setColor(save_);
}
Index: src/MetricsInfo.h
===================================================================
--- src/MetricsInfo.h (revisione 34312)
+++ src/MetricsInfo.h (copia locale)
@@ -222,12 +222,16 @@ public:
// temporarily change the used color
-class ColorChanger : public Changer<FontInfo, std::string> {
+class ColorChanger : public Changer<FontInfo, ColorCode> {
public:
///
- ColorChanger(FontInfo & font, std::string const & color);
+ ColorChanger(FontInfo & font, docstring const & color,
+ bool really_change_color = true);
///
~ColorChanger();
+private:
+ ///
+ bool change_;
};
} // namespace lyx
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@34320 a592a061-630c-0410-9148-cb99ea01b6c8
2010-04-28 01:40:11 +00:00
Enrico Forestieri
c88eaf877e
Changing only the shape does not always work. For example,
...
\mathbb{\underbar{a}} is not correctly rendered on screen.
We really have to change the font set, but not always.
This cannot be done using an "if" statement, as when
the FontSetChanger scope ends, everything is restored,
defeating our change. Thus, this has to be done in the
FontSetChanger class itself. This is easily accomplished
by introducing a boolean with a default value of true
for really changing a font set.
This will also be useful in other cases that I am discovering.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@34312 a592a061-630c-0410-9148-cb99ea01b6c8
2010-04-27 21:31:28 +00:00
Enrico Forestieri
dbb5ac93ea
The check for Color_math would fail if the font color is changed
...
in mathed, so implement a strategy which is immune to color changes.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@34311 a592a061-630c-0410-9148-cb99ea01b6c8
2010-04-27 19:23:31 +00:00
Enrico Forestieri
17af3ea8f4
Change only the shape and not the whole font, otherwise constructs
...
such as \mathbf{\hat{a}} would not be correctly rendered on screen.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@34297 a592a061-630c-0410-9148-cb99ea01b6c8
2010-04-26 20:20:49 +00:00
Peter Kümmel
38628558a6
cmake: more merged build fixes
...
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@34274 a592a061-630c-0410-9148-cb99ea01b6c8
2010-04-23 09:10:35 +00:00
Peter Kümmel
61b2bd5e7f
Using "using namespace std" with msvc10 makes also std::tr1::bind visible and generates conflicts with boost::bind.
...
Solution: don't use boost::bind for msvc10 (could also be extended to several GCC versions)
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@34257 a592a061-630c-0410-9148-cb99ea01b6c8
2010-04-22 11:16:58 +00:00
Pavel Sanda
62ca7f3ae5
Proper camel case for FileName.absFilename
...
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@34234 a592a061-630c-0410-9148-cb99ea01b6c8
2010-04-21 01:19:09 +00:00
Vincent van Ravesteijn
108a67ed43
Make Cursor::anchor_ private and make an access function Cursor::realAnchor() to stress the fact that this is thus not the normalAnchor().
...
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@34146 a592a061-630c-0410-9148-cb99ea01b6c8
2010-04-15 18:16:07 +00:00
Vincent van Ravesteijn
8156884090
Make Cursor::disp_ private as it should be.
...
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@34144 a592a061-630c-0410-9148-cb99ea01b6c8
2010-04-15 17:34:34 +00:00
Richard Heck
b79d8e5e2d
Make members of FuncRequest private, per the FIXME there. Again, this is
...
basically a massive renaming, with no real changes.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@34106 a592a061-630c-0410-9148-cb99ea01b6c8
2010-04-09 19:00:42 +00:00
Richard Heck
4c7a5d0024
This is just a giant renaming of member variables in FuncRequest,
...
preparatory to making them private.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@34105 a592a061-630c-0410-9148-cb99ea01b6c8
2010-04-09 18:15:17 +00:00
Vincent van Ravesteijn
333c17f879
Fix bug #6633 : Equations that end in \limits or \nolimits are corrupted on load.
...
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@34025 a592a061-630c-0410-9148-cb99ea01b6c8
2010-04-02 15:22:50 +00:00
Richard Heck
1eb8311aff
HTML for binomials.
...
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@33995 a592a061-630c-0410-9148-cb99ea01b6c8
2010-03-31 21:33:33 +00:00
Richard Heck
c7cfcf9e2f
Make sure to call the parent's validate method.
...
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@33992 a592a061-630c-0410-9148-cb99ea01b6c8
2010-03-31 21:24:16 +00:00
Richard Heck
6a702a2f99
HTML for substack. Sort of. There's an odd problem here, that is
...
actually a general LyX bug, but I'll report that to the list.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@33991 a592a061-630c-0410-9148-cb99ea01b6c8
2010-03-31 21:17:30 +00:00
Richard Heck
bf76659e67
Revert r33989. We do need this.
...
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@33990 a592a061-630c-0410-9148-cb99ea01b6c8
2010-03-31 21:02:10 +00:00
Richard Heck
bab268352b
HTML for stackrel.
...
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@33989 a592a061-630c-0410-9148-cb99ea01b6c8
2010-03-31 20:54:27 +00:00
Richard Heck
85425d8e6c
HTML for InsetMathSplit.
...
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@33988 a592a061-630c-0410-9148-cb99ea01b6c8
2010-03-31 20:50:29 +00:00
Richard Heck
ae69c7c63c
HTML for special characters.
...
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@33987 a592a061-630c-0410-9148-cb99ea01b6c8
2010-03-31 20:49:21 +00:00
Richard Heck
da26079578
HTML for math spaces.
...
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@33986 a592a061-630c-0410-9148-cb99ea01b6c8
2010-03-31 20:47:55 +00:00
Richard Heck
f3711d8a65
HTML for math sizes.
...
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@33985 a592a061-630c-0410-9148-cb99ea01b6c8
2010-03-31 20:37:23 +00:00
Richard Heck
ea44f30077
Ignore phantoms for now.
...
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@33984 a592a061-630c-0410-9148-cb99ea01b6c8
2010-03-31 20:31:15 +00:00
Richard Heck
32ee4c13cf
HTML for roots.
...
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@33983 a592a061-630c-0410-9148-cb99ea01b6c8
2010-03-31 20:31:04 +00:00