Commit Graph

256 Commits

Author SHA1 Message Date
Juergen Spitzmueller
d4f04513c2 Fix LFUN_MATH_AMS_MATRIX: it was possible to generate corrupt documents (part of #8359) 2014-02-10 09:23:17 +01:00
Pavel Sanda
63c193afef Remove years forgotten files.
http://marc.info/?l=lyx-devel&m=136956959518828&w=2
http://marc.info/?l=lyx-devel&m=120506622513617&w=2
2013-06-03 02:35:32 -07:00
Richard Heck
1b1f8dd235 Audit all the LASSERT calls, and try to do something sensible at
each failure.

There are several places I was not sure what to do. These are marked
by comments beginning "LASSERT:" so they can be found easily. At the
moment, they are at:

Author.cpp:105: // LASSERT: What should we do here?
Author.cpp:121: // LASSERT: What should we do here?
Buffer.cpp:4525:        // LASSERT: Is it safe to continue here, or should we just return?
Cursor.cpp:345:         // LASSERT: Is it safe to continue here, or should we return?
Cursor.cpp:403:         // LASSERT: Is it safe to continue here, or should we return?
Cursor.cpp:1143:                // LASSERT: There have been several bugs around this code, that seem
CursorSlice.cpp:83:     // LASSERT: This should only ever be called from an InsetMath.
CursorSlice.cpp:92:     // LASSERT: This should only ever be called from an InsetMath.
LayoutFile.cpp:303:                     // LASSERT: Why would this fail?
Text.cpp:995:           // LASSERT: Is it safe to continue here?
2013-04-25 17:27:10 -04:00
Georg Baum
c14b9e67bc Implement paste from LaTeX and HTML (bug #3096)
As discussed on the list. No automatic contents detection is done, the user
needs to use the special paste menu instead. I used the new TempFile class
for safe temporary file handling.
The documentation would go into section 2.2 of UserGuide.lyx, but I am not
allowed to edit that document.
2013-04-14 19:45:36 +02:00
Jean-Marc Lasgouttes
11e0d941a2 Implement inset-select-all in mathed 2013-03-22 14:42:47 +01:00
Pavel Sanda
5000a016cf Fix #7865 - Math autocorrection is broken
Patch from Martin Vermeer.
http://www.mail-archive.com/lyx-devel@lists.lyx.org/msg177004.html
2013-02-09 21:51:30 -08:00
Juergen Spitzmueller
3c41319f0b Disable caption-insert in mathed 2013-01-05 09:42:27 +01:00
Georg Baum
56ece75ad9 Fix bug #8464: stackrel with subscript.
The fix is basically mechanical, the additional code for fraction like insets
with three arguments was stolen from \unitfrac. As any math package,
stackrel.sty needs a buffer parameter to switch it off.
I also added the two stackrel flavours to the toolbar.
2012-12-28 20:08:43 +01:00
Jean-Marc Lasgouttes
a756403301 "Performance" fixes suggested by cppcheck
While cppcheck did not turn out any suspicious error messages, using
the "performance" flag highlighted several nitpicks in three categories
 * do not use it++ for iterators, ++it is better
 * do not use size() to test for emptyness, empty() is here
 * do not use "const T" as a function parameter, "const & T" is better

I doubt that any of these is a real performance problem, but the code is cleaner anyway.
2012-05-28 22:42:44 +02:00
Jean-Marc Lasgouttes
9059843121 Simpler fix for undo support when entering \hline in an equation
* Avoid undo step when using backspace in macro mode
 * Use recordUndoInset when entering macro mode (if one enters something like \hline, the outer inset itself will be modified)
 * Use recordUndoInset when pasting in an INsetMathGrid (same reason as above)
2012-04-17 22:21:45 +02:00
Jean-Marc Lasgouttes
201dcc8ec3 Revert "Fix undo of entering \hline"
This reverts commit 1fa39e1f95.
2012-04-17 22:21:45 +02:00
Georg Baum
1fa39e1f95 Fix undo of entering \hline
It was broken with 6d75800f5d as noticed by Enrico. The fix is to use undo
groups (thanks Jean-Marc).
2012-04-08 19:15:49 +02:00
Georg Baum
6d75800f5d Fix bug #6936.
If \hline is entered, do not create an unknown inset, but increase the number
of hlines of the current row if that is allowed. The same idea is applied to
copy-paste (not part of the bug report).
This is also a test for committing via git.
2012-03-25 11:16:32 +02:00
Jean-Marc Lasgouttes
98cd6c60f7 * InsetMathScript::doDispatch : properly record undo information before
changing limits status (fixes bug #8007)
* InsetMathScript::getStatus (new) : handle properly status for LFUN_MATH_LIMITS here, along with checkmark support for the menu)



git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@40700 a592a061-630c-0410-9148-cb99ea01b6c8
2012-02-02 13:39:05 +00:00
Uwe Stöhr
65f26a7a14 add support for the package cancel in math (fixes #6819); fileformat change only for the preamble handling
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@40663 a592a061-630c-0410-9148-cb99ea01b6c8
2012-01-23 01:49:49 +00:00
Georg Baum
187790135b Fix bug #5029: Support \smash, \mathclap, \mathllap and \mathrlap.
Also improve lyx2lyx roundtrip for automatically loaded packages.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@40589 a592a061-630c-0410-9148-cb99ea01b6c8
2012-01-08 12:34:12 +00:00
Georg Baum
8e8c214bef Fix some bugs related to spaces in math:
- Interpret argument of LFUN_SPACE_INSERT correctly
- Use InsetMathSpace instead of InsetMathSpecialChar for "\ " (bug # 7728)
- Use InsetMathSpace instead of InsetMathChar for ~ (bug # 7728).
  This fixes also the display in LyX (previously a literal ~ was displayed).
Using InsetMathSpace enables also the "Insert Formatting" menu entries.
No file format change is needed, since the LaTeX export is unchanged.
Note that there are still some bugs related to spaces in math:
#7746, #7747, #7749, #7842


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@39947 a592a061-630c-0410-9148-cb99ea01b6c8
2011-10-23 20:19:49 +00:00
Jürgen Spitzmüller
70390b0283 Disable space tyes that are not supported in mathed (for these, a thinspace was inserted as a fallback).
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@39537 a592a061-630c-0410-9148-cb99ea01b6c8
2011-08-27 10:58:48 +00:00
Jürgen Spitzmüller
6a3ff009db Issue the math space dialog (not the text one) when in math (bug 7746).
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@39536 a592a061-630c-0410-9148-cb99ea01b6c8
2011-08-27 10:45:59 +00:00
Tommaso Cucinotta
a48baee56f Now Adv. F&R correctly interprets escape sequences within regexp insets, e.g., \\ or \(, for finding characters with a special meaning in regular expression context (\^()[]).
Added corresponding regression tests findadv-re-01 and -02 for finding these special characters.
Unfortunately, braces {} are a little bit special and don't work yet. Added findadv-re-03 regression test to not forget about this case.
This goes along the line of fixing issues reported by Andrew Parsloe and summarised as #7638.
Last note: Still there will be cases when the Advanced F&R won't work, especially if the text to be found and/or the search pattern is preceded by backslashes or others.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@39135 a592a061-630c-0410-9148-cb99ea01b6c8
2011-06-19 16:41:23 +00:00
Tommaso Cucinotta
f67834bb22 Disabled possibility to type macros in regexp-mode. Now typing \ inserts a \ (no need to type twice) while in regexp mode.
Addressing issue 4. at: http://permalink.gmane.org/gmane.editors.lyx.devel/136992


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@39017 a592a061-630c-0410-9148-cb99ea01b6c8
2011-06-12 01:19:07 +00:00
Enrico Forestieri
2c9c4ee672 Some math font changing commands only work in math mode, so let's
assure to switch to math mode if needed. This helps avoiding latex
errors (see http://thread.gmane.org/gmane.editors.lyx.general/69580)


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@38579 a592a061-630c-0410-9148-cb99ea01b6c8
2011-05-04 00:29:36 +00:00
Vincent van Ravesteijn
49459f6fc4 Fix bug #7345: Crash when right clicking on displayed math with selection
Two things have been fixed here:
1) the selection should not be cleared when the user right clicks a math inset that is part of the selection,
2) the type of context menu should be determined at mouse-press, because that is the moment when the cursor is set. However, we should do it after setting the cursor, because setting the cursor might change the selection status and this influences the choice for the type of context menu.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@37961 a592a061-630c-0410-9148-cb99ea01b6c8
2011-03-19 13:14:13 +00:00
Enrico Forestieri
6d425078a7 When an error occurs, don't highlight more than necessary.
Currently, if an inset outputs a newline, the new latex row is still
associated with a previous id/pos. Now, if a latex error occurs before
this newline, we would still highlight everything associated to that
id/pos, even if it is extraneous to the error.
This is avoided by associating the new latex row with the id/pos in
effect right before entering the inset. If an inset does not output
a newline, it is not excluded from the selection, consistent with the
fact that the text of the inset does appear in the error description.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@37903 a592a061-630c-0410-9148-cb99ea01b6c8
2011-03-12 01:40:01 +00:00
Vincent van Ravesteijn
5036ca8500 Constify InsetMathNest::setMouseHover and remove the const_cast from BufferView.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@37632 a592a061-630c-0410-9148-cb99ea01b6c8
2011-02-13 10:07:00 +00:00
Enrico Forestieri
d866717ef7 Integrate texrow with otexstream in order to perform automatic line
counting when exporting to latex. This is done for the code comprised
between \begin{document} and \end{document}, while the preamble code
still needs manual calls to TexRow::newline() for registering new lines.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@37584 a592a061-630c-0410-9148-cb99ea01b6c8
2011-02-10 20:02:48 +00:00
Enrico Forestieri
1ef605f625 Introduce a wrapper class for odocstream to help ensuring that no
blank lines may be inadvertently output. This is achieved by using two
special iomanip-like variables (breakln and safebreakln) in the lyx::
namespace. When they are inserted in the stream, a newline is output
only if not already at the beginning of a line. The difference between
breakln and safebreakln is that, if needed, the former outputs '\n'
and the latter "%\n".
In future, the new class will also be used for counting the number of
newlines issued. Even if the infractrure for doing that is already in
place, the counting is essentially still done the old way.
There are still places in the code where the functionality of the
class could be used, most probably. ATM, it is used for InsetTabular,
InsetListings, InsetFloat, and InsetText.
The Comment and GreyedOut insets required a special treatment and a
new InsetLayout parameter (Display) has been introduced. The default
for Display is "true", meaning that the corresponding latex
environment is of "display" type, i.e., it stands on its own, whereas
"false" means that the contents appear inline with the text. The
latter is the case for both Comment and GreyedOut insets.
Mostly, the only visible effects on latex exports should be the
disappearing of some redundant % chars and the appearing/disappearing
of null {} latex groups after a comment or lyxgreyedout environments
(they are related to the presence or absence of a space immediately
after those environments), as well as the fact that math environments
are now started on their own lines.
As a last thing, only the latex code between \begin{document} and
\end{document} goes through the new class, the preamble being directly
output through odocstream, as usual.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@37360 a592a061-630c-0410-9148-cb99ea01b6c8
2011-01-29 02:41:13 +00:00
Georg Baum
4736356bf9 fix remaining bits of bug #6709
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@36718 a592a061-630c-0410-9148-cb99ea01b6c8
2010-12-04 16:43:41 +00:00
Georg Baum
c8ec2c0a03 Fix bug #7088
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@36557 a592a061-630c-0410-9148-cb99ea01b6c8
2010-11-28 17:16:11 +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
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
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
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
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
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
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
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
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
5d60104a69 Whitespace.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@33697 a592a061-630c-0410-9148-cb99ea01b6c8
2010-03-10 16:57:01 +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
5d235f5251 Migrate GuiHSPace to InsetParamsDialog.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@33525 a592a061-630c-0410-9148-cb99ea01b6c8
2010-02-21 09:28:33 +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
Abdelrazak Younes
377cdd5f6c Transfer LyXfunc code to GuiApplication::dispatch() and getStatus(). Now
a lot of simplification is possible. Except some instability period...


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@33389 a592a061-630c-0410-9148-cb99ea01b6c8
2010-02-09 16:11:13 +00:00
Vincent van Ravesteijn
489b80aef4 Correct the mess introduced in r33250.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@33251 a592a061-630c-0410-9148-cb99ea01b6c8
2010-01-28 20:03:09 +00:00
Vincent van Ravesteijn
61eecb8a44 Expand the string "regexp" to something user will better be able to understand.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@33250 a592a061-630c-0410-9148-cb99ea01b6c8
2010-01-28 19:56:12 +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
Enrico Forestieri
c2befc2b1e Fix bug #6382: Wrong cursor placement when inserting math
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@32473 a592a061-630c-0410-9148-cb99ea01b6c8
2009-12-11 01:30:33 +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
Enrico Forestieri
a1a34443ef Fix bug #5530: LyX expansion in math-macro overwritten by default one.
This patch initializes the buffer_ member of a MathHull inset in most
(but not all) cases. The problems with buffer_ should be greatly
allievated now, but there still can be some corner case.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@31873 a592a061-630c-0410-9148-cb99ea01b6c8
2009-11-06 15:18:48 +00:00
Pavel Sanda
4c338ac22d Fix bug #2045.
http://www.mail-archive.com/lyx-devel@lists.lyx.org/msg153796.html


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@30997 a592a061-630c-0410-9148-cb99ea01b6c8
2009-08-12 22:09:50 +00:00
Jürgen Spitzmüller
89e7f60e1d Catch encoding exception when performing instant preview on an uncodable char (bug 6116).
* MathStream{.cpp, h}:
	- replace bool dryrun() by enum output that also knows whether the stream is for instant preview
* InsetMathHull.cpp:
	- tell the stream whether we use it for instant preview.
* MathString.cpp (write):
	- gracefully catch encoding exception for instant preview.

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@30895 a592a061-630c-0410-9148-cb99ea01b6c8
2009-08-07 05:25:22 +00:00
Jean-Marc Lasgouttes
ca7b18a5db Try to implement properly recursive setBuffer. Normally, implmenting
for InsetMathNest and InsetMathHull is enough.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@30847 a592a061-630c-0410-9148-cb99ea01b6c8
2009-08-03 10:30:34 +00:00
Uwe Stöhr
802067ecdc support for matrix decoration in the MathMatrix dialog;
introduces a new LFUN and fixes #4620

This can in principle also go to branch when new LFUNs are there allowed, Jürgen?

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@30523 a592a061-630c-0410-9148-cb99ea01b6c8
2009-07-12 21:39:21 +00:00
Enrico Forestieri
ce7302098c Allow undoing changes to the name of macros that are already finalized.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@30434 a592a061-630c-0410-9148-cb99ea01b6c8
2009-07-09 18:00:27 +00:00
Enrico Forestieri
98fb455d3f Revert r30398, r30396, r30395, r30393, r30392, and r29387.
Soon to be replaced with a proper fix.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@30409 a592a061-630c-0410-9148-cb99ea01b6c8
2009-07-08 01:41:06 +00:00
Vincent van Ravesteijn
1c6eea89b4 Fix previous commit for macros with arguments, again.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@30398 a592a061-630c-0410-9148-cb99ea01b6c8
2009-07-07 08:23:31 +00:00
Vincent van Ravesteijn
ebe7913a47 Only allow the cursor to be in lastpos for macros as editing in macro-mode is only possible at lastpos.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@30396 a592a061-630c-0410-9148-cb99ea01b6c8
2009-07-07 08:16:21 +00:00
Vincent van Ravesteijn
ebe9b42279 Fix crash when selecting part of a macro and trying to resume macro-mode editing.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@30395 a592a061-630c-0410-9148-cb99ea01b6c8
2009-07-07 08:13:07 +00:00
Vincent van Ravesteijn
abdb069f9e Remove unneeded check for cur.pos() > 0.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@30393 a592a061-630c-0410-9148-cb99ea01b6c8
2009-07-07 08:12:08 +00:00
Vincent van Ravesteijn
fb57c00c0d Fix bug #6015: Macro with arguments is not finished when pressing space
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@30392 a592a061-630c-0410-9148-cb99ea01b6c8
2009-07-07 08:08:14 +00:00
Enrico Forestieri
0a90c42b86 Fix bugs #6047, #4043, and #5394.
6047: Lyx 1.6.3 unable to typeset the third chemical equation of the
      file mhchem.lyx (package mhchem)
4043: mhchem support
5394: support for the mhchems's \ce command
The \ce and \cf insets are text mode environments that allow entering
spaces and mathmode commands. LyX leaves them alone and doesn't try to
be smart, i.e., the behaviour is exactly the same we had in the old days
with text-in-math mode environments, before the introduction of the
\ensuremath and \lyxmathsym macros. This means that in those environments
one has to know what he is doing, as LyX will not offer any protection.
The hack of enclosing \ce and \cf in a \text{} environment in order to
be able to enter spaces is no longer necessary.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@30338 a592a061-630c-0410-9148-cb99ea01b6c8
2009-07-03 00:05:58 +00:00
Enrico Forestieri
5415144621 Fix bug #6033: Initial character sometimes eaten by math-insert
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@30246 a592a061-630c-0410-9148-cb99ea01b6c8
2009-06-23 18:01:31 +00:00
Vincent van Ravesteijn
1458ac6a7c Set flag for LFUN_MATH_MUTATE. Also, remove some 'ghost code' from InsetMathNest (if this had a purpose it should have been documented).
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@29764 a592a061-630c-0410-9148-cb99ea01b6c8
2009-05-21 12:45:31 +00:00
Enrico Forestieri
1a65f586ee Fix bug #1435. Now Ctrl-m enters math mode when in text-in-math mode,
instead of producing nested text boxes.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@29746 a592a061-630c-0410-9148-cb99ea01b6c8
2009-05-20 14:52:03 +00:00
Vincent van Ravesteijn
193b36e71f Fix bug #5923: Resume macromode.
When the user wants to resume a macro, delete the current one and insert a new one, which is not yet finalized.

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@29687 a592a061-630c-0410-9148-cb99ea01b6c8
2009-05-15 22:04:41 +00:00
Vincent van Ravesteijn
7fc21bf766 Fix bug #2034: Inconsistent behavior of cursor inside mathed.
When closing the macromode, do the same trick as in lines 835--838.

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@29686 a592a061-630c-0410-9148-cb99ea01b6c8
2009-05-15 22:00:43 +00:00
Vincent van Ravesteijn
a1a9c4c4ba Fix bug #5540: Crash in MathAtom on Undo.
No undo steps are recorded for math-macros. Now, it is also not done when we resume to edit a macro.

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@29685 a592a061-630c-0410-9148-cb99ea01b6c8
2009-05-15 21:51:43 +00:00
Uwe Stöhr
48236d215c InsetMathNest.cpp: forgot this in last commit
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@29132 a592a061-630c-0410-9148-cb99ea01b6c8
2009-04-07 00:23:38 +00:00
Enrico Forestieri
3e341497a8 Introduce a helper function and use it.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@29130 a592a061-630c-0410-9148-cb99ea01b6c8
2009-04-06 22:12:22 +00:00
Enrico Forestieri
376f3f08bd Unicode symbols entered or pasted in math are wrapped in \text{} by default.
Unwrapped symbols can be obtained either by dissolving the text inset or by
verbatim paste (Ctrl+Shift+V). In such a case, the symbols are wrapped in
\lyxmathsym when exporting to latex, as usual.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@29096 a592a061-630c-0410-9148-cb99ea01b6c8
2009-04-05 01:14:10 +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
Vincent van Ravesteijn
2daac3125f * InsetMathNest.cpp: Cosmetics.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@28389 a592a061-630c-0410-9148-cb99ea01b6c8
2009-02-08 01:14:48 +00:00
Vincent van Ravesteijn
814a8411eb Reverse unwanted commits.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@28388 a592a061-630c-0410-9148-cb99ea01b6c8
2009-02-08 01:11:27 +00:00
Vincent van Ravesteijn
f694cf7135 * InsetMathNest.cpp: Cosmetics.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@28387 a592a061-630c-0410-9148-cb99ea01b6c8
2009-02-08 01:01:15 +00:00
Vincent van Ravesteijn
650a0261a6 Disable the Edit->Math menu when not in math.
Introduce new LFUN_MATH_FONT_STYLE which takes one of the font styles as an argument. A dispatch is being redirected to math-insert.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@28181 a592a061-630c-0410-9148-cb99ea01b6c8
2009-01-16 10:35:57 +00:00
Martin Vermeer
b4b47d783b Make autocorrect configurable in preferences file
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@28171 a592a061-630c-0410-9148-cb99ea01b6c8
2009-01-15 09:48:00 +00:00
Martin Vermeer
823e27f465 Make autocorrect (still disabled) better. Now switched
on/off by !/space.



git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@28008 a592a061-630c-0410-9148-cb99ea01b6c8
2009-01-06 09:44:47 +00:00
Georg Baum
a9f29e6f6c make Pavel happy
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@27971 a592a061-630c-0410-9148-cb99ea01b6c8
2008-12-23 17:25:11 +00:00
Georg Baum
ac1fd9b37f fix bug 2558: hspace support in math
The basic idea was to reuse the corresponding text space inset in the same
fashion as is already done for references. The dialog displays a different
selection for math than for text. If wanted, the additional spaces could
also be enabled for text, but that would be a file format change.
Constructs like \hspace{\mylengthvariable} that are not supported are
treated by the math parser as ERT as before.

For reasons I don't know the context menu does not work, but this is not so
important IMHO (since a left click opens the dialog).


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@27954 a592a061-630c-0410-9148-cb99ea01b6c8
2008-12-22 18:12:32 +00:00
Martin Vermeer
d6f30aac95 Fix, but keep disabled, mathed autocorrect
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@27927 a592a061-630c-0410-9148-cb99ea01b6c8
2008-12-19 10:26:33 +00:00
André Pönitz
6192345f60 add Buffer * member to DocIterator
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@27603 a592a061-630c-0410-9148-cb99ea01b6c8
2008-11-17 11:46:07 +00:00
Abdelrazak Younes
f000a62b0d part 7
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@27524 a592a061-630c-0410-9148-cb99ea01b6c8
2008-11-16 00:18:52 +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
b92e30fbdd Remove dead code.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@27161 a592a061-630c-0410-9148-cb99ea01b6c8
2008-10-27 23:09:08 +00:00
Enrico Forestieri
cb2933147c The LaTeX control space "\ " is a special char, too. In mathed, it should
be represented on screen as a visible space rather than as an empty macro.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@27140 a592a061-630c-0410-9148-cb99ea01b6c8
2008-10-26 18:32:25 +00:00
Enrico Forestieri
7d4ec3f944 Fix bug 5393
http://bugzilla.lyx.org/show_bug.cgi?id=5393


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@27044 a592a061-630c-0410-9148-cb99ea01b6c8
2008-10-23 00:48:06 +00:00
Enrico Forestieri
6bd593d8b3 When pasting into mathed, take into account the current mode.
For example, this allows to paste something like $x$ to a textmode
inset and get the expected result. If $x$ is pasted in mathmode,
it is pasted verbatim, such that no compile errors can arise.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@26935 a592a061-630c-0410-9148-cb99ea01b6c8
2008-10-18 09:06:27 +00:00
Enrico Forestieri
02ebfa000b Fix bug 3397
http://bugzilla.lyx.org/show_bug.cgi?id=3397


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@26934 a592a061-630c-0410-9148-cb99ea01b6c8
2008-10-17 21:40:11 +00:00
Pavel Sanda
792ece8130 Fix whitespaces so the diff between branches is not so huge.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@26881 a592a061-630c-0410-9148-cb99ea01b6c8
2008-10-13 11:25:37 +00:00
André Pönitz
4c7fdddd74 streamlining setter syntax. using mutable references seems a bit
outlandish compared to the rest of LyX


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@26527 a592a061-630c-0410-9148-cb99ea01b6c8
2008-09-24 21:27:41 +00:00
Enrico Forestieri
3e55de70dd Introduce LFUN_FONT_BOLDSYMBOL, performing the same as LFUN_FONT_BOLD
except when in math mode, where \boldsymbol is used instead of \mathbf.
Restore the previous binding of Ctrl-B and make sure that LFUN_FONT_BOLDSYMBOL,
now bound to Ctrl-Alt-B, can be toggled.



git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@26418 a592a061-630c-0410-9148-cb99ea01b6c8
2008-09-15 16:49:11 +00:00
Jean-Marc Lasgouttes
97e6476feb Fix bug 3407: Undo with text-in-mathmode
http://bugzilla.lyx.org/show_bug.cgi?id=3407

	* InsetMathNest.cpp (doDispatch/LFUN_MATH_MODE): handle undo


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@26173 a592a061-630c-0410-9148-cb99ea01b6c8
2008-08-15 15:50:42 +00:00
Stefan Schimanski
ae410deed1 * \xymatrix added to completion (fixing bug 5123)
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@26082 a592a061-630c-0410-9148-cb99ea01b6c8
2008-08-06 18:44:35 +00:00
Pavel Sanda
97812e8718 Clean debug logs before rc1.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@26033 a592a061-630c-0410-9148-cb99ea01b6c8
2008-08-02 14:11:04 +00:00
Enrico Forestieri
0e834b9342 When producing latex output, check whether a character entered in mathed
can be encoded in the current latex encoding before resorting to the
unicodesymbols file.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@25725 a592a061-630c-0410-9148-cb99ea01b6c8
2008-07-20 01:50:54 +00:00