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
Richard Heck
36e2a2c95f
HTML for underset.
...
Neither underset nor overset will work reliably, I'm afraid, but such is
the price of using HTML rather than MathML.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@33982 a592a061-630c-0410-9148-cb99ea01b6c8
2010-03-31 20:12:52 +00:00
Richard Heck
77bd365b39
HTML for overset.
...
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@33979 a592a061-630c-0410-9148-cb99ea01b6c8
2010-03-31 20:04:39 +00:00
Richard Heck
edff97cb30
Matrix output via HTML. I have to say, this one took some work.
...
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@33978 a592a061-630c-0410-9148-cb99ea01b6c8
2010-03-31 19:59:09 +00:00
Richard Heck
db1d81f03a
Forgot this piece before.
...
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@33977 a592a061-630c-0410-9148-cb99ea01b6c8
2010-03-31 19:58:49 +00:00
Richard Heck
96390e0ff7
Change semantics of two-arg htmlize to make more consistent with other
...
functions.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@33975 a592a061-630c-0410-9148-cb99ea01b6c8
2010-03-31 19:17:06 +00:00
Richard Heck
2f44dc2583
This doesn't seem to be compiled even, but oh well.
...
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@33972 a592a061-630c-0410-9148-cb99ea01b6c8
2010-03-31 19:01:15 +00:00
Richard Heck
ed8af8f7fd
Ignore kerning in HTML.
...
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@33971 a592a061-630c-0410-9148-cb99ea01b6c8
2010-03-31 18:59:04 +00:00
Richard Heck
2a1c6c3541
HTML for math fonts.
...
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@33970 a592a061-630c-0410-9148-cb99ea01b6c8
2010-03-31 18:57:47 +00:00
Richard Heck
9ee805185c
Fix up the math stream.
...
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@33969 a592a061-630c-0410-9148-cb99ea01b6c8
2010-03-31 18:57:37 +00:00
Richard Heck
a0043da05f
Introduce and use a "math_flavor" flag with OutputParams.
...
I'm not happy about having what is basically the same enum in
BufferParams.h and OutputParams.h, but I don't see how to unify them
without either (a) including BufferParams.h in OutputParams.h, which is
ugly or (b) creating some new file just containing this enum, which
seems like overkill. Any other ideas?
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@33967 a592a061-630c-0410-9148-cb99ea01b6c8
2010-03-31 18:24:52 +00:00
Enrico Forestieri
4fc5f86137
Fix bug #4565 : Using keyboard shortcuts to write Greek letters with an underbar produces LaTeX errors.
...
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@33963 a592a061-630c-0410-9148-cb99ea01b6c8
2010-03-31 01:09:38 +00:00
Richard Heck
8cf5ff6fbf
Simplify.
...
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@33961 a592a061-630c-0410-9148-cb99ea01b6c8
2010-03-30 22:51:11 +00:00
Richard Heck
36b1623c5b
Integrals via HTML.
...
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@33960 a592a061-630c-0410-9148-cb99ea01b6c8
2010-03-30 22:51:02 +00:00
Richard Heck
ab2a59b0a1
I don't think we need to do this for MathML or HTML.
...
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@33959 a592a061-630c-0410-9148-cb99ea01b6c8
2010-03-30 22:17:06 +00:00
Richard Heck
caf170d612
HTML for dots.
...
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@33958 a592a061-630c-0410-9148-cb99ea01b6c8
2010-03-30 22:14:00 +00:00
Richard Heck
8d51923b8b
Do the obvious thing with delimiters.
...
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@33957 a592a061-630c-0410-9148-cb99ea01b6c8
2010-03-30 22:07:05 +00:00
Richard Heck
ed71c32fcd
Treat certain decoration cases differently.
...
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@33956 a592a061-630c-0410-9148-cb99ea01b6c8
2010-03-30 22:05:28 +00:00
Richard Heck
69fc590ee3
Decorations via HTML.
...
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@33955 a592a061-630c-0410-9148-cb99ea01b6c8
2010-03-30 21:56:52 +00:00
Richard Heck
5aff128354
HTML for comments and colors.
...
Color doesn't do anything at this point. The colors are given in LaTeX
format. Do we know how to convert these to HTML format?
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@33954 a592a061-630c-0410-9148-cb99ea01b6c8
2010-03-30 17:24:22 +00:00
Richard Heck
f835e2a6f9
Cases for HTML.
...
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@33950 a592a061-630c-0410-9148-cb99ea01b6c8
2010-03-30 02:57:05 +00:00
Richard Heck
3e31491871
HTML for InsetMathBrace.
...
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@33949 a592a061-630c-0410-9148-cb99ea01b6c8
2010-03-30 02:40:32 +00:00