Commit Graph

2666 Commits

Author SHA1 Message Date
Richard Heck
a81bf77314 Change the escaping mechanism for XHTML output and so allow a fix for
bug #7061.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@36455 a592a061-630c-0410-9148-cb99ea01b6c8
2010-11-24 15:27:36 +00:00
Georg Baum
7edd656f21 Fix inserting subscript/superscript with nonempty selection by creating a dedicated lfun:
inset-insert simply swallows the selection, while box-insert, note-insert etc.
put the selection inside the new inset.
As a side effect the toolbar icons get better names, as requested by Uwe.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@36451 a592a061-630c-0410-9148-cb99ea01b6c8
2010-11-23 20:09:08 +00:00
Enrico Forestieri
d43cdfa5ef Fix bug #7058 (Crash when invoking CAS on a multiline AMS context)
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@36447 a592a061-630c-0410-9148-cb99ea01b6c8
2010-11-23 15:36:58 +00:00
Georg Baum
d89bde0652 Load mhchem if it is requested unconditionally, fix some typos
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@36425 a592a061-630c-0410-9148-cb99ea01b6c8
2010-11-21 18:07:04 +00:00
Georg Baum
dea050cb93 fix bug 3008: Add subscript/superscript inset for text
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@36424 a592a061-630c-0410-9148-cb99ea01b6c8
2010-11-21 17:00:12 +00:00
Richard Heck
ff79d11bb7 Style.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@36398 a592a061-630c-0410-9148-cb99ea01b6c8
2010-11-19 13:27:51 +00:00
Richard Heck
b9e83e76ca Another warning.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@36387 a592a061-630c-0410-9148-cb99ea01b6c8
2010-11-18 22:02:46 +00:00
Richard Heck
60da156ffd Squash some warnings.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@36386 a592a061-630c-0410-9148-cb99ea01b6c8
2010-11-18 22:01:54 +00:00
Enrico Forestieri
a1927c00d2 Correctly set the breakline guard.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@36381 a592a061-630c-0410-9148-cb99ea01b6c8
2010-11-18 21:15:59 +00:00
Enrico Forestieri
6e41d3006d Output end of math environments at the beginning of a new line,
as now this should be blank line safe.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@36372 a592a061-630c-0410-9148-cb99ea01b6c8
2010-11-18 14:20:19 +00:00
Enrico Forestieri
8cd4ef18c8 Make sure that no blank line can (unintentionally) slip in when exporting
math to latex. This also fixes bug #6733.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@36371 a592a061-630c-0410-9148-cb99ea01b6c8
2010-11-18 14:05:50 +00:00
Enrico Forestieri
04fb3f0d06 Remove a MathStream and HtmlStream member which is used nowhere.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@36368 a592a061-630c-0410-9148-cb99ea01b6c8
2010-11-18 09:58:35 +00:00
Richard Heck
da1e7e14ce Squash warning.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@36159 a592a061-630c-0410-9148-cb99ea01b6c8
2010-11-06 03:17:23 +00:00
Enrico Forestieri
79ef98205d Fix bug #7019 (Math labels should not be escaped on saving)
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@36156 a592a061-630c-0410-9148-cb99ea01b6c8
2010-11-06 02:53:29 +00:00
Vincent van Ravesteijn
dad3c8ce74 Fix compilation for platforms besides Windows
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@35948 a592a061-630c-0410-9148-cb99ea01b6c8
2010-10-31 14:39:50 +00:00
Vincent van Ravesteijn
aafe985042 Remove the now unused parameter of createDialogStr();
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@35892 a592a061-630c-0410-9148-cb99ea01b6c8
2010-10-29 00:42:40 +00:00
Vincent van Ravesteijn
c5b9664476 Remove the name parameter from string2params and params2string. We can always derive the name with insetName(params.code()).
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@35891 a592a061-630c-0410-9148-cb99ea01b6c8
2010-10-29 00:25:28 +00:00
Enrico Forestieri
3ebcbf5b32 Fix bug #6965 (Crash editing ERT in math mode)
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@35879 a592a061-630c-0410-9148-cb99ea01b6c8
2010-10-28 11:13:47 +00:00
Vincent van Ravesteijn
49beed7437 Fix bug #6989: Be somewhat more secure with the homebrew dynamic asserts that were changed in r35855.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@35863 a592a061-630c-0410-9148-cb99ea01b6c8
2010-10-27 07:04:58 +00:00
Vincent van Ravesteijn
07924ac300 Remove some unnecessary static_casts and add two FIXMEs about casts that don't look safe.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@35856 a592a061-630c-0410-9148-cb99ea01b6c8
2010-10-26 16:45:21 +00:00
Vincent van Ravesteijn
573500dd04 Remove unneccessary uses of dynamic_cast from the code.
A dynamic_cast is necessary when:

- the object to be casted is from an external library because we can't add Qxxx::asXxxx() to Qt e.g.:
    * QAbstractListModel to GuiIdListModel,
    * QValidator to PathValidator,
    * QWidget to TabWorkArea,
    * QWidget to GuiWorkArea;

- the object is to be casted from an interface to the implementing class, because the Interface does not know by whom it is implemented:
    * ProgressInterface to GuiProgress,
    * Application to GuiApplication.

A dynamic_cast can be replaced by:
  - already existing as***Inset() functions, e.g.:
    * asHullInset(),
    * asInsetMath()->asMacro(),
    * asInsetText();

  - a static_cast when we are sure this can't go wrong, e.g.:
    * we are sure that CellData::inset->clone() is an InsetTableCell,
    * in cases where we explicitly check it->lyxCode().


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@35855 a592a061-630c-0410-9148-cb99ea01b6c8
2010-10-26 15:03:51 +00:00
Vincent van Ravesteijn
8693ae474b Proper implementatiom of isInToc()
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@35846 a592a061-630c-0410-9148-cb99ea01b6c8
2010-10-26 01:10:19 +00:00
Enrico Forestieri
f967cd1c45 Proper fix for #6967 that does not reintroduce #6793
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@35841 a592a061-630c-0410-9148-cb99ea01b6c8
2010-10-25 21:36:25 +00:00
Vincent van Ravesteijn
8a550ba48a I don't like negated logic. Especially not if it leads to the use of more !-operations.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@35801 a592a061-630c-0410-9148-cb99ea01b6c8
2010-10-24 17:27:32 +00:00
Vincent van Ravesteijn
70ed1095ec Fix bug #6967: Insert->Display Math should not insert a numbered formula and vice versa.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@35799 a592a061-630c-0410-9148-cb99ea01b6c8
2010-10-24 16:12:22 +00:00
Vincent van Ravesteijn
152491f916 Some cosmetics (from my local cosmetics branch).
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@35708 a592a061-630c-0410-9148-cb99ea01b6c8
2010-10-18 14:20:03 +00:00
Richard Heck
6a80ce62ca DispatchResult::update() ==> DispatchResult::screenUpdate()
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@35631 a592a061-630c-0410-9148-cb99ea01b6c8
2010-10-13 17:28:55 +00:00
Pavel Sanda
65962da47b Add support for feyn package and Diagram inset.
Patch from Ronen Abravanel.
http://www.mail-archive.com/lyx-devel@lists.lyx.org/msg161952.html

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@35455 a592a061-630c-0410-9148-cb99ea01b6c8
2010-09-19 22:12:06 +00:00
Enrico Forestieri
0dec044864 If system colors are used, paint selected math in Color_selectiontext
instead of Color_math.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@35355 a592a061-630c-0410-9148-cb99ea01b6c8
2010-09-13 01:36:00 +00:00
Jean-Marc Lasgouttes
6d4709d46c Sanitize ColorChanger
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@35331 a592a061-630c-0410-9148-cb99ea01b6c8
2010-09-09 13:02:20 +00:00
Uwe Stöhr
3ee100f47d MathSupport.cpp:
- fix metrics of the dots of \ddddot
- whitespace fixes

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@35231 a592a061-630c-0410-9148-cb99ea01b6c8
2010-08-29 22:59:24 +00:00
Uwe Stöhr
7d68833dc9 remove unused include of FuncRequest
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@35189 a592a061-630c-0410-9148-cb99ea01b6c8
2010-08-24 03:07:09 +00:00
Enrico Forestieri
7238d40c99 Move code to more proper place.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@35180 a592a061-630c-0410-9148-cb99ea01b6c8
2010-08-19 22:50:06 +00:00
Enrico Forestieri
fa0cd9ad60 Fix bug #6793: Changing an existing formula type to displayed formula loses the label
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@35178 a592a061-630c-0410-9148-cb99ea01b6c8
2010-08-19 13:58:36 +00:00
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
Enrico Forestieri
87f155767a Better fix for bug #6851.
The old-style font changing macros really inherit the mode, so we have
to account for this.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@35156 a592a061-630c-0410-9148-cb99ea01b6c8
2010-08-14 17:57:06 +00:00
Enrico Forestieri
61791114a1 Fix bug #6851: Wrong screen fonts with old style macros such as \bf and \rm.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@35136 a592a061-630c-0410-9148-cb99ea01b6c8
2010-08-14 00:22:04 +00:00
Jean-Marc Lasgouttes
60445ede53 remove unused headers
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@35129 a592a061-630c-0410-9148-cb99ea01b6c8
2010-08-12 09:38:22 +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
a7f7530bd2 MathML and HTML definitely can't handle MathUnknown!!
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@35028 a592a061-630c-0410-9148-cb99ea01b6c8
2010-07-29 15:48:01 +00:00
Richard Heck
f1d941098c MathML and HTML can't handle XYArrow.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@35027 a592a061-630c-0410-9148-cb99ea01b6c8
2010-07-29 15:46:26 +00:00
Richard Heck
b520657039 HTML for xarrows.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@35026 a592a061-630c-0410-9148-cb99ea01b6c8
2010-07-29 15:44:17 +00:00
Richard Heck
c8bc76b333 MathML and HTML definitely can't handle XYMatrix.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@35025 a592a061-630c-0410-9148-cb99ea01b6c8
2010-07-29 15:38:01 +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
833ef6352f Comment.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@35021 a592a061-630c-0410-9148-cb99ea01b6c8
2010-07-29 14:29:54 +00:00
Enrico Forestieri
0d78b79311 Refine fix for bug #1337.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@35009 a592a061-630c-0410-9148-cb99ea01b6c8
2010-07-23 07:34:26 +00:00
Enrico Forestieri
976307231d Fix bug #1337: LyX confused on $ symbol in math equations
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@35008 a592a061-630c-0410-9148-cb99ea01b6c8
2010-07-22 23:19:52 +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
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