Enrico Forestieri
66808b0482
Avoid memory leak when the label is on the first row.
...
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@35168 a592a061-630c-0410-9148-cb99ea01b6c8
2010-08-19 08:17:36 +00:00
Enrico Forestieri
97fb94d90f
Fix crash when mutating eqnarray-like environments with labeled lines
...
to display equations.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@35163 a592a061-630c-0410-9148-cb99ea01b6c8
2010-08-19 07:28:49 +00:00
Richard Heck
56c500bae5
Update comments a bit.
...
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@35035 a592a061-630c-0410-9148-cb99ea01b6c8
2010-07-29 16:55:02 +00:00
Richard Heck
7a8a1eca21
Framework for math export exceptions. We can throw these if we find
...
something we don't know how to handle and fall back to images.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@35024 a592a061-630c-0410-9148-cb99ea01b6c8
2010-07-29 15:37:42 +00:00
Richard Heck
e48fb0b661
Allow images to be export even when LyXRC says no previews.
...
I'll try to figure out how to get rid of the magic booleans.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@35022 a592a061-630c-0410-9148-cb99ea01b6c8
2010-07-29 15:17:58 +00:00
Richard Heck
3d6fb3bd1d
Try again with LaTeX output for XHTML math.
...
The previous attempt messed up the inheritance hierarchy somehow. I
think.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@35002 a592a061-630c-0410-9148-cb99ea01b6c8
2010-07-22 02:47:12 +00:00
Richard Heck
80aca38970
Partially revert r34995, which broke math output. Not sure why yet....
...
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@35001 a592a061-630c-0410-9148-cb99ea01b6c8
2010-07-22 02:20:12 +00:00
Richard Heck
9803d7a2a6
Prepare for the use of exceptions to catch occasions when we can't
...
export as MathML, etc.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@34996 a592a061-630c-0410-9148-cb99ea01b6c8
2010-07-21 14:02:46 +00:00
Richard Heck
c036ecb649
Tweak the math-as-LaTeX output, including the correct tags for jsMath.
...
We don't yet write info to load the jsMath files, though.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@34995 a592a061-630c-0410-9148-cb99ea01b6c8
2010-07-21 13:43:35 +00:00
Richard Heck
e7bb1e616e
Re-organize code from a last commit a bit.
...
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@34994 a592a061-630c-0410-9148-cb99ea01b6c8
2010-07-21 13:26:48 +00:00
Richard Heck
b8d43b05bc
Support for exporting math as images with XHTML. The next step is to
...
allow this as a fallback. E.g., if we're unable to export as MathML,
then we try to export as an image.
There are several ways, I am sure, in which this implementation is not
ideal.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@34993 a592a061-630c-0410-9148-cb99ea01b6c8
2010-07-21 13:19:52 +00:00
Richard Heck
096cf9f2e8
Whitespace only (two tabs at end of each line?).
...
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@34991 a592a061-630c-0410-9148-cb99ea01b6c8
2010-07-20 19:45:36 +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
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
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
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
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
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
30b18aec37
The beginnings of pure HTML output of math, for our internal XHTML
...
output routines. The idea is that in some cases people may not want to
use MathML, so we are going to try to give options.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@33936 a592a061-630c-0410-9148-cb99ea01b6c8
2010-03-29 22:52:13 +00:00
Richard Heck
8f5d4a3fcb
Get rid of label_init_length. There is no way to set it from the GUI any
...
more. Worse, it was being used inconsistently. And we don't really need
it.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@33786 a592a061-630c-0410-9148-cb99ea01b6c8
2010-03-17 12:50:58 +00:00
Vincent van Ravesteijn
cd5d57e504
Do not use const char *.
...
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@33696 a592a061-630c-0410-9148-cb99ea01b6c8
2010-03-10 16:56:13 +00:00
Richard Heck
8a6b77bfe1
Introduce isBufferValid() method now, that returns true also for cloned
...
Buffers. Use it, as well.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@33679 a592a061-630c-0410-9148-cb99ea01b6c8
2010-03-08 19:07:05 +00:00
Richard Heck
821cffab63
s/isBufferValid/isBufferLoaded/
...
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@33677 a592a061-630c-0410-9148-cb99ea01b6c8
2010-03-08 18:57:42 +00:00
Richard Heck
d65020b293
s/updateLabels/updateBuffer/g, per a suggestion of Abdel's.
...
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@33613 a592a061-630c-0410-9148-cb99ea01b6c8
2010-03-03 22:13:45 +00:00
Abdelrazak Younes
b5049e769b
* InsetTabular cleanup:
...
- proper message passing for all tabular features
- properly define which feature needs an argument
* replace LFUN_TABULAR_FEATURE with LFUN_INSET_MODIFY
- The math tables are also affected. In the future a common base class
between math and text table will solve this inconsistency.
- There is a hack in GuiApplication in order to not rename the toolbar
icons. This will have to be cleaned up with a general icon naming for
LFUN_INSET_MODIFY... to be discussed.
* Tabular Dialog:
- big cleanup, lots and lots of bug fixing here
- migrated to InsetParamsWidget
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@33495 a592a061-630c-0410-9148-cb99ea01b6c8
2010-02-18 08:28:46 +00:00
Tommaso Cucinotta
c0c1e1fd2b
Most common cases with regexps seem to work, at least with ignore-format on.
...
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@33355 a592a061-630c-0410-9148-cb99ea01b6c8
2010-02-07 21:44:31 +00:00
Tommaso Cucinotta
33dca1df0f
Now the coloured box around the regexp is visible also if InsetPreview is enabled.
...
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@33336 a592a061-630c-0410-9148-cb99ea01b6c8
2010-02-05 18:34:01 +00:00
Tommaso Cucinotta
9e057e7533
Improved appearence of regexp insets (at least I hope so), also suggested in #6498 (Regex looks like math).
...
- added a frame around regexp insets, with a customizable dedicated color code
- regexp insets font turned to texttt
- recovered back the preamble snippet allowing for latex compilation of regexp insets, something that happens if you have instant preview on.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@33329 a592a061-630c-0410-9148-cb99ea01b6c8
2010-02-05 09:00:40 +00:00
Enrico Forestieri
271d53fdd0
Fix bug #3325 : Labels with special characters in equations do not work
...
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@33325 a592a061-630c-0410-9148-cb99ea01b6c8
2010-02-04 19:08:17 +00:00
Jürgen Spitzmüller
7bbd67eb26
* Implement updateLabels in mathed and add the MathRef insets to the references cache.
...
This fixes bug #1560 .
The diverse setBuffer / updateLabels calls need auditing. See FIXMEs.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@33249 a592a061-630c-0410-9148-cb99ea01b6c8
2010-01-28 17:37:22 +00:00
Richard Heck
caa4e94bf0
Get rid of some magic booleans in updateLabels() and related routines.
...
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@33110 a592a061-630c-0410-9148-cb99ea01b6c8
2010-01-20 19:42:12 +00:00
Richard Heck
3e654186d2
Move the StartTag, EndTag, and CompTag classes into the html namespace.
...
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@33099 a592a061-630c-0410-9148-cb99ea01b6c8
2010-01-19 22:08:04 +00:00
Richard Heck
c060a85d81
Revert r32684, per Andre's suggestion.
...
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@32689 a592a061-630c-0410-9148-cb99ea01b6c8
2009-12-31 15:46:39 +00:00
Richard Heck
8a0134cc8c
Introduce a return value for mathmlize(). We will need this to be able
...
to defer labels.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@32684 a592a061-630c-0410-9148-cb99ea01b6c8
2009-12-31 03:50:12 +00:00
Vincent van Ravesteijn
5a530cca94
Do not hardcode the background color of the preview at two places.
...
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@32562 a592a061-630c-0410-9148-cb99ea01b6c8
2009-12-17 15:21:08 +00:00
Vincent van Ravesteijn
6b96abd211
Correctly paint the background of the instant preview of a displayed equation.
...
For a displayed equation, the height is artificially increased by a displayMargin() in InsetMathHull::metrics if it is a displayed equation and there is a preview.
This extra height is not covered by the preview image and what one can see is the background as drawn by the MathHull inset. The color of this background should be either Color_mathbg or Color_background depending on whether the preview is shown or not.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@32560 a592a061-630c-0410-9148-cb99ea01b6c8
2009-12-17 14:09:37 +00:00
Richard Heck
9e149b8919
Fix a few MathML things: the default output and the output of limits.
...
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@32542 a592a061-630c-0410-9148-cb99ea01b6c8
2009-12-16 14:53:23 +00:00
Richard Heck
5f27992e16
Restore the MathML output we had before. Still work to be done here.
...
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@32540 a592a061-630c-0410-9148-cb99ea01b6c8
2009-12-15 13:14:57 +00:00
Vincent van Ravesteijn
80ac638d42
Fix trunk after r32352.
...
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@32353 a592a061-630c-0410-9148-cb99ea01b6c8
2009-12-05 01:07:38 +00:00
Vincent van Ravesteijn
b56e4c5697
Do not start loading a preview each time one is added. This caused LyX to generate LaTeX code of the document over and over again for each math inset. As a consequence, the loading of the User's Guide took ages.
...
Fixes a bug introduced in r32157 while fixing bug #4360 .
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@32352 a592a061-630c-0410-9148-cb99ea01b6c8
2009-12-05 00:43:28 +00:00
Richard Heck
996505c2ae
This patch introduces an optional argument to Buffer::updateLabels(), so
...
as to allow us to call the routine when we are preparing for output and
so to do certain things we might not want to do every time.
This is an abuse of updateLabels(), in a way, but updateLabels() long
ago became the general recurse-through-the-Buffer routine, and to
implement the sort of thing I want to do here in validate(), say, much
of the code in updateLabels()---in particular, the counter-update
code---would have to be duplicated. So I believe this is the best, and
easiest, way to go.
Actual use of the new argument will follow.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@32318 a592a061-630c-0410-9148-cb99ea01b6c8
2009-12-04 03:03:38 +00:00
Vincent van Ravesteijn
92c8561674
Some cosmetics after r32157.
...
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@32159 a592a061-630c-0410-9148-cb99ea01b6c8
2009-11-22 21:45:51 +00:00
Vincent van Ravesteijn
f19b6178a9
Fix bug #4360 : Instant preview does not render formulas which contain math-macro from input file.
...
Patch from Stefan.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@32157 a592a061-630c-0410-9148-cb99ea01b6c8
2009-11-22 20:50:35 +00:00
Richard Heck
83c7a5576f
Fix silly bit.
...
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@31981 a592a061-630c-0410-9148-cb99ea01b6c8
2009-11-14 15:55:51 +00:00
Richard Heck
54b4b8e6b4
Get MathML output for XHTML working a bit.
...
Turns out MathML is already here, for the most part, so this will
not be too bad at all.
Anyone else think that is very cool?!
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@31979 a592a061-630c-0410-9148-cb99ea01b6c8
2009-11-14 15:25:32 +00:00
Enrico Forestieri
f83a6cc3af
Don't use updateMacros() in the math parser, in order to avoid
...
performance problems when loading documents with lots of macros.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@31907 a592a061-630c-0410-9148-cb99ea01b6c8
2009-11-08 18:47:33 +00:00
Abdelrazak Younes
882e2eeb7b
InsetCommand ctor: Pass 'Buffer *'
...
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@31902 a592a061-630c-0410-9148-cb99ea01b6c8
2009-11-08 16:10:34 +00:00