Commit Graph

57 Commits

Author SHA1 Message Date
Guillaume Munch
e2bc7ffae3 RefChanger
RefChanger temporarily assigns a value to a non-const reference of any
kind. RefChanger provides a flexible and uniform generalisation of the various
scope guards previously derived from the old Changer class in MetricsInfo.h.

As before, a temporary assignment lasts as long as the Changer object lives. But
the new Changer is movable. In particular, contorsions are no longer needed to
change a private field. Special code can be moved into the appropriate classes,
and it is no longer necessary to create a new class for each specific use.

Syntax change:

   FontSetChanger dummy(mi.base, value);
-> Changer dummy = mi.base.changeFontSet(value);

New function for generating arbitrary Changers:

  Changer dummy = make_change(ref, val, condition);

Bugfix:

* Fix the display of \displaystyle{\substack{\frac{xyz}{}}} (missing style
  change).
2016-06-13 08:46:15 +01:00
Georg Baum
90a524a075 Fix comments
The FIXME is not needed, this is how StyleChanger and FracChanger work:
In the constructor, they change the state of the FontInfo, and in the
destructor the state is set back. Therefore, all code that needs the changed
state, needs to be executed while the objects do still exist.
2015-06-11 20:40:04 +02:00
Richard Heck
38b9a4530e New methods in LaTeXFeatures specifically for collection of CSS
information on XHTML output.

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@40407 a592a061-630c-0410-9148-cb99ea01b6c8
2011-12-06 22:17:13 +00:00
Richard Heck
da03e5b1c4 Make sure we do not crash here in release mode.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@38720 a592a061-630c-0410-9148-cb99ea01b6c8
2011-05-12 13:28:23 +00:00
Richard Heck
d7de1f2a1e Fix XHTML output for fractions and fix a crash reported on the list
by Jan Paul Imhoff. The problem was that we were assuming (as we still
do in some places) that there are always at least two cells.

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@38717 a592a061-630c-0410-9148-cb99ea01b6c8
2011-05-12 13:16:36 +00:00
Vincent van Ravesteijn
f27853ad41 Cosmetics, typos and comments.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@36492 a592a061-630c-0410-9148-cb99ea01b6c8
2010-11-25 16:53:56 +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
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
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
Richard Heck
0190b003b0 Fractions via HTML.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@33945 a592a061-630c-0410-9148-cb99ea01b6c8
2010-03-30 02:03:45 +00:00
Richard Heck
07aca7cccc Fix MathML for binominals.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@32717 a592a061-630c-0410-9148-cb99ea01b6c8
2009-12-31 21:22: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
Richard Heck
c271d0d8c1 Whitespace.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@32552 a592a061-630c-0410-9148-cb99ea01b6c8
2009-12-16 17:22:56 +00:00
Richard Heck
96012a8859 Fix MathML for fractions.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@32551 a592a061-630c-0410-9148-cb99ea01b6c8
2009-12-16 17:22:42 +00:00
Enrico Forestieri
ae40a33202 Fix bug #6351: Crash when editing the unit on a number
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@32211 a592a061-630c-0410-9148-cb99ea01b6c8
2009-11-26 01:56:50 +00:00
Abdelrazak Younes
ff4460603e Make Buffer argument mandatory in most of the InsetMath based class... boring work...
Math manual loads and save correctly it seems but expect some instability period.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@31898 a592a061-630c-0410-9148-cb99ea01b6c8
2009-11-08 11:45:46 +00:00
Uwe Stöhr
39c96ebb75 InsetMathFrac.cpp: fix the regression now completely
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@29849 a592a061-630c-0410-9148-cb99ea01b6c8
2009-05-25 22:46:51 +00:00
Uwe Stöhr
e83c2032ac InsetMathFrac.cpp: fix regression reported here: http://www.mail-archive.com/lyx-devel@lists.lyx.org/msg151588.html
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@29847 a592a061-630c-0410-9148-cb99ea01b6c8
2009-05-25 22:42:22 +00:00
Jean-Marc Lasgouttes
37d6ef964c fix compiler warnings in new mathfrac/binom code
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@29257 a592a061-630c-0410-9148-cb99ea01b6c8
2009-04-16 09:15:24 +00:00
Uwe Stöhr
23f833a92b InsetMathFrac.cpp: add some comments and remove an unused code line
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@29147 a592a061-630c-0410-9148-cb99ea01b6c8
2009-04-08 00:19:57 +00:00
Uwe Stöhr
23f9e34a08 InsetMathFrac.cpp: some code optimization
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@29133 a592a061-630c-0410-9148-cb99ea01b6c8
2009-04-07 01:02:34 +00:00
Uwe Stöhr
8225a56dfe InsetMathFrac: reimplement \cfrac with its optional argument the way Enrico proposed (http://www.mail-archive.com/lyx-devel@lists.lyx.org/msg149855.html)
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@29131 a592a061-630c-0410-9148-cb99ea01b6c8
2009-04-06 23:58:42 +00:00
Uwe Stöhr
a97b097768 major code cleanup for fractions:
- InsetMathFrac.cpp/h:
    - InsetCFrac, InsetDFrac, and InsetTFrac are now included as kind of InsetMathFrac
    - InsetDBinom and InsetTBinum are now included as kind of InsetMathBinom
    - support for the optional argument of \cfrac (cursor position still needs to be fixed, see post in mailing list)

- stdtoolbars.inc:
    - add entries for \cfrac
    - remove entry for \atop since atop is outdated and only in LaTeX2e for compatibility reasons (according to the LaTeX companion, you get warnings from amsmath in the LaTeX log when using atop)

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@29114 a592a061-630c-0410-9148-cb99ea01b6c8
2009-04-05 19:52:53 +00:00
Uwe Stöhr
ff9f9c92ae support for \cfrac in mathed, fixes bug 2473 and can also go to LyX 1.6.3
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@28639 a592a061-630c-0410-9148-cb99ea01b6c8
2009-02-28 02:43:26 +00:00
André Pönitz
f1cba8ff64 more latin1..utf8 schanges. all of src/* should be utf8 now
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@27425 a592a061-630c-0410-9148-cb99ea01b6c8
2008-11-14 15:58:50 +00:00
Enrico Forestieri
e224ef029b Implement the suggestion by Andre'
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@25287 a592a061-630c-0410-9148-cb99ea01b6c8
2008-06-17 11:10:43 +00:00
Enrico Forestieri
31713932b2 Use a helper method in order to avoid code repetition.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@25273 a592a061-630c-0410-9148-cb99ea01b6c8
2008-06-16 14:32:51 +00:00
Enrico Forestieri
90837aaf6e Fix bug 1527
http://bugzilla.lyx.org/show_bug.cgi?id=1527

* src/mathed/*.cpp:
	- Track mode (math or text) when outputting latex code and
	  properly wrap commands that are in the wrong mode with
	  either \ensuremath or \lyxmathsym.

* src/mathed/MathParser.cpp:
	- Parse \ensuremath and \lyxmathsym, such that exported latex
	  produces the same result when imported back.
	- Replace latex commands with corresponding unicode symbols.

* src/Encoding.cpp:
	- Implement Encodings::fromLaTeXCommand() for converting either
	  a single or a sequence of latex commands to unicode symbols.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@25270 a592a061-630c-0410-9148-cb99ea01b6c8
2008-06-16 01:21:17 +00:00
Enrico Forestieri
b5acd03891 Allow using \binom without amsmath and add support for \brace and \brack
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@24067 a592a061-630c-0410-9148-cb99ea01b6c8
2008-03-31 01:23:25 +00:00
Jean-Marc Lasgouttes
d8eaec5c03 fix compilation warnings: unused parameters
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@22347 a592a061-630c-0410-9148-cb99ea01b6c8
2008-01-03 15:44:05 +00:00
Stefan Schimanski
7150b0caa3 * moved atom_dim_ to coord cache in the buffer view to make it dependent on the buffer view
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@22290 a592a061-630c-0410-9148-cb99ea01b6c8
2007-12-24 10:52:58 +00:00
Abdelrazak Younes
9abb7db468 getting rid of superfluous std:: statements.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@22104 a592a061-630c-0410-9148-cb99ea01b6c8
2007-12-12 19:28:07 +00:00
André Pönitz
9daf07588f #include cosmetics
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@21459 a592a061-630c-0410-9148-cb99ea01b6c8
2007-11-05 23:46:17 +00:00
Dov Feldstern
cd95a4bae8 Getting rid of LTR bias --- part 4/4
This is the final patch (at least for now). This one deals with the idxFoo
methods in the math insets. The previous patches in the series are r21128, 
r21244 and r21448.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@21449 a592a061-630c-0410-9148-cb99ea01b6c8
2007-11-05 19:44:03 +00:00
Uwe Stöhr
256638827a InsetMathFrac: add support for \tbinom and \dbinom, fixes bug 4305
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@21247 a592a061-630c-0410-9148-cb99ea01b6c8
2007-10-28 21:48:51 +00:00
Abdelrazak Younes
5ddc612b73 Splitup Font in saner bits:
* Font::FontBits -> FontInfo
* Font::FONT_XXX -> all enums transfered to FontEnums.h and renamed to FontXxx

I've replaced Font uses with FontInfo were the language() member was not needed, basically all draw() and metrics methods. There's one problematic cases with InsetQuotes which I solved by taking the Buffer main language.




git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@21240 a592a061-630c-0410-9148-cb99ea01b6c8
2007-10-28 18:51:54 +00:00
Uwe Stöhr
9c20e03c76 InsetMathFrac.cpp: fix bug 4308 by using the metrics change method of the fraction inset also for the binom inset.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@21235 a592a061-630c-0410-9148-cb99ea01b6c8
2007-10-28 13:15:35 +00:00
André Pönitz
ed7a07e007 put \frac style stuff into a single unit. -161477.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@21208 a592a061-630c-0410-9148-cb99ea01b6c8
2007-10-25 21:53:06 +00:00
Abdelrazak Younes
eea79637c7 Move Color::color enum to ColorCode.h
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@21198 a592a061-630c-0410-9148-cb99ea01b6c8
2007-10-25 12:41:02 +00:00
Abdelrazak Younes
628eb46ccb Assertion fix.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@20629 a592a061-630c-0410-9148-cb99ea01b6c8
2007-10-01 10:23:56 +00:00
Abdelrazak Younes
a061ea31ea Fix some assertions.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@20628 a592a061-630c-0410-9148-cb99ea01b6c8
2007-10-01 09:54:41 +00:00
Abdelrazak Younes
7e2bdf62f2 Copy&Paste fix.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@20623 a592a061-630c-0410-9148-cb99ea01b6c8
2007-10-01 08:37:13 +00:00
Martin Vermeer
bfe44be587 Fix warning and tab problem, thx Andre
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@20611 a592a061-630c-0410-9148-cb99ea01b6c8
2007-09-30 17:56:49 +00:00
Abdelrazak Younes
f319fdbc2a Put MathData on a diet: transfer dimension cache to BufferView' CoordCache along its position.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@20465 a592a061-630c-0410-9148-cb99ea01b6c8
2007-09-24 13:52:04 +00:00
Abdelrazak Younes
137158532b Put mathed on a diet: transfer dimension cache from inset to BufferView.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@20457 a592a061-630c-0410-9148-cb99ea01b6c8
2007-09-23 22:39:49 +00:00
Abdelrazak Younes
237c132c1e * Inset:
- get rid of the cached Dimension. Text inset dimensions are saved in ParagraphMetrics and mathed maintain their own dimension where needed.
- width(), ascent(), descent(): deleted.
- dimension(): now needs a valid BufferView.
- metrics(): now void.

* BufferView::getCoveringInset(): simplify.

* ParagraphMetrics(): now cache inset dimensions.




git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@20420 a592a061-630c-0410-9148-cb99ea01b6c8
2007-09-21 20:39:47 +00:00
Martin Vermeer
f390780a35 Units corrections, all Georg's noticed problems
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@20337 a592a061-630c-0410-9148-cb99ea01b6c8
2007-09-18 15:04:58 +00:00
Martin Vermeer
0ea6f2c7f1 Support for units and fractional units with values
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@20290 a592a061-630c-0410-9148-cb99ea01b6c8
2007-09-15 16:39:51 +00:00
Martin Vermeer
967c30e354 Partial support for units
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@20236 a592a061-630c-0410-9148-cb99ea01b6c8
2007-09-12 08:15:33 +00:00