Commit Graph

159 Commits

Author SHA1 Message Date
Georg Baum
bc8638bd25 Fix wrong LATTEST
Thanks to Scott for testing. If a macro is unknown (displayed in red), then
macro_ is 0. The LATTEST is now adjusted and works like in MathMacro::write()
where I stole it from.
2015-02-16 22:33:48 +01:00
Georg Baum
33b059bd9d Make macro xhtml export more secure
Actually I wanted to do that in cc87f8100 but forgot to adjust the original
solution completely. Now we do not search for an arbitrary latexkeys instance
which just happens to have the same name as the macro, but we only use the
symbol that was explicitly set for global macros.
2014-12-30 13:30:40 +01:00
Georg Baum
cc87f81002 Fix html export of \ne (second part of bug #9372)
The fix consists of two parts: The needed infrastructure to assign HTML
entities to global math macros, and the actual fix for \ne and \neq.
2014-12-29 21:13:42 +01:00
Jean-Marc Lasgouttes
689e54f34a Make sure that UpdateLocker is used correctly in the future 2014-11-17 11:52:14 +01:00
Georg Baum
0f2069b8a5 Fix recursive math macro crash (bug #9140)
This is different from bug #8999, since in this case a new macro instance is
created. You still get a TeX capacity exceeded error if you try to typeset the
exported document, but this is the same as for bug #8999 and better than a
crash.
2014-11-14 21:30:42 +01:00
Uwe Stöhr
ff85a4902e mathed: bformat infoize messages
- should fix bug #1908
2014-11-14 18:18:30 +01:00
Jean-Marc
1cdbb94ff5 Fix possible bug spotted by cppcheck
I am not sure what this locking is really about, but the new code seems to be the right thing to do.
2014-07-05 19:12:09 +02:00
Georg Baum
e85e9424b3 Fix display of predefined macros (bug #9059)
This was a regression of e86cdc40: A newly introduced member variable was
not initialized in the constructor, which made it quite random whether symbols
like \coloneqq where displayed correctly or as an empty edit box.
2014-03-28 23:16:36 +01:00
Richard Heck
e86cdc4020 Fix bug #8999 by locking math macros while they are updating. 2014-03-05 18:46:38 -05:00
Enrico Forestieri
3c1969574f Fix bug #8889 by always issuing \protect in fragile environments. 2014-02-22 10:30:55 -05:00
Richard Heck
d79225ae98 Remove all messages to user related to assertions. We'll just use
a basic message which is defined in lassert.cpp now.
2013-04-27 17:52:55 -04: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
de5e348727 Fix bug #8468: Wrong import of UTF8 CJK.
Actually, the test case showed several problems:
- ERT insets did use layout "Standard", not "Plain Layout"
- The font scale was read correctly, but tex2lyx claimed that it did ignore
  the option "scaled=0.95"
- If a third argument of the CJK environment was given, it caused the whole
  environment to be put in ERT with a broken encoding. This is now fixed for
  the bug test case by using the \font_cjk header variable, but the encoding
  problem still exists for unsupported encodings. I'll file a separate bug
  for that.
- The CJKutf8 package was not handled in the preamble parsing. Therefore the
  chinese comment in the preamble was read with a wrong encoding, and guessing
  the document language did not work.
The new file CJKutf8.tex was created by copying and modifying CJK.tex, but
unfortunately it is impossible to tell git to inherit the history of CJK.tex
for the new file (search the web for git svn copy if you want to know details).
2012-12-30 20:52:49 +01:00
Lars Gullik Bjønnes
43f6b1672b Use empty() to check empty and non-empty'ness not size()
Also add FormatList::empty().
2012-10-27 01:25:38 +02:00
Richard Heck
5855043599 Initial work to fix bug involving embedded macros and
XHTML output.

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@38613 a592a061-630c-0410-9148-cb99ea01b6c8
2011-05-07 11:57:08 +00:00
Vincent van Ravesteijn
b29ef9e1a5 Fix bug #7444. We are only interested in whether the dimension has been stored in the cache. Therefore we have to use hasDim, otherwise we get a negative response just because the x-y is not set.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@38403 a592a061-630c-0410-9148-cb99ea01b6c8
2011-04-15 10:54:52 +00:00
Richard Heck
4052facca6 If we encounter a macro we don't recognize, then export this bit of math
as an image.

The math macro now exports as XHTML + MathML and can be viewed in
Firefox.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@38190 a592a061-630c-0410-9148-cb99ea01b6c8
2011-04-01 20:15:43 +00:00
Richard Heck
0b1fdca0fa Fix last commit.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@38189 a592a061-630c-0410-9148-cb99ea01b6c8
2011-04-01 20:03:41 +00:00
Richard Heck
75a7a2203d More informative normalization for math macros.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@38188 a592a061-630c-0410-9148-cb99ea01b6c8
2011-04-01 20:03:15 +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
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
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
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
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
b8550d11e8 Pure HTML output for math macros.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@33941 a592a061-630c-0410-9148-cb99ea01b6c8
2010-03-30 00:18:24 +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
Richard Heck
cb346ae202 Whitespace.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@32976 a592a061-630c-0410-9148-cb99ea01b6c8
2010-01-11 19:29:33 +00:00
Richard Heck
bae9393d53 Minor re-organization.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@32975 a592a061-630c-0410-9148-cb99ea01b6c8
2010-01-11 18:25:26 +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
Enrico Forestieri
d3378a6b84 Style: insetCur -> inset_cursor
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@32049 a592a061-630c-0410-9148-cb99ea01b6c8
2009-11-16 13:31:01 +00:00
Enrico Forestieri
7365a29fea Fix bug #6208: macro crash.
The fix consists in not updating the macro while it is being edited,
and this is accomplished by the changes in MathData::updateMacros().
However, when clicking away with the mouse I was getting another crash,
which is cured by the changes in MathMacro::notifyCursorLeaves().


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@32037 a592a061-630c-0410-9148-cb99ea01b6c8
2009-11-15 23:54:45 +00:00
Richard Heck
ae60474513 Get math macros working for MathML.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@32004 a592a061-630c-0410-9148-cb99ea01b6c8
2009-11-15 12:30:26 +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
21fcdfb479 Fix a crash when the modified uncompleted macro is a font changing command.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@31379 a592a061-630c-0410-9148-cb99ea01b6c8
2009-09-12 21:20:51 +00:00
Enrico Forestieri
0c2902d0c0 Better fix for bug #5923. Now the macro name can be freely edited.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@30425 a592a061-630c-0410-9148-cb99ea01b6c8
2009-07-09 15:21:21 +00:00
Enrico Forestieri
654600486b Fix bug 5541: http://bugzilla.lyx.org/show_bug.cgi?id=5541
This was due to a thinko in http://www.lyx.org/trac/changeset/26002


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@28605 a592a061-630c-0410-9148-cb99ea01b6c8
2009-02-25 12:16:56 +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
Abdelrazak Younes
46b4a8428b Style, const access and small optimizations.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@27185 a592a061-630c-0410-9148-cb99ea01b6c8
2008-10-29 08:03:26 +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
Stefan Schimanski
af9206b392 * Call metrics of the parameters with the correct font in MathMacros, for example
if they are in an index and should be drawn smaller.

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@26927 a592a061-630c-0410-9148-cb99ea01b6c8
2008-10-16 21:27:43 +00:00
Stefan Schimanski
c874e95030 * Be more conservative about leaving out parenthesis by checking for < 0x80.
This fixes lyxmathsym characters as macro arguments.

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@26802 a592a061-630c-0410-9148-cb99ea01b6c8
2008-10-07 16:24:07 +00:00
Enrico Forestieri
dac70247f0 Fix bug 5041
http://bugzilla.lyx.org/show_bug.cgi?id=5041


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@26002 a592a061-630c-0410-9148-cb99ea01b6c8
2008-07-30 15:07:06 +00:00
Enrico Forestieri
aabd9d03bb Fix bug 4992
http://bugzilla.lyx.org/show_bug.cgi?id=4992


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@25458 a592a061-630c-0410-9148-cb99ea01b6c8
2008-07-05 23:29:48 +00:00
Enrico Forestieri
2477901f07 Fix color of math macros
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@25403 a592a061-630c-0410-9148-cb99ea01b6c8
2008-06-28 22:49:40 +00:00
Enrico Forestieri
c691839abe Fix bug 4687
http://bugzilla.lyx.org/show_bug.cgi?id=4687


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@25318 a592a061-630c-0410-9148-cb99ea01b6c8
2008-06-19 09:16:05 +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
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
Jean-Marc Lasgouttes
ecb715d682 unbreak compilation (part 2)
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@24632 a592a061-630c-0410-9148-cb99ea01b6c8
2008-05-06 10:36:32 +00:00
Abdelrazak Younes
45bc27809b remove unneeded includes.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@24628 a592a061-630c-0410-9148-cb99ea01b6c8
2008-05-06 06:48:38 +00:00
Jean-Marc Lasgouttes
9b4a26a252 rename assert.h to lassert.h
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@24559 a592a061-630c-0410-9148-cb99ea01b6c8
2008-04-30 08:26:40 +00:00
André Pönitz
7f461f4392 infrastructure for 'graceful asserts'
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@24216 a592a061-630c-0410-9148-cb99ea01b6c8
2008-04-10 21:49:34 +00:00
Stefan Schimanski
98787bbec6 * corrected handling of validation of math macros. The macro instances
will require the needed LaTeXFeatures of their definition and their
  paramenters.
* Require the "xargs" package when there is a macro with optional
  parameters which is prepended to a child document which is rendered alone.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@23971 a592a061-630c-0410-9148-cb99ea01b6c8
2008-03-26 12:55:36 +00:00
André Pönitz
f2c9b56fb4 cosmetics/#include cleanup
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@23747 a592a061-630c-0410-9148-cb99ea01b6c8
2008-03-15 00:22:54 +00:00
Stefan Schimanski
cf15bd840b * cosmetic
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@23451 a592a061-630c-0410-9148-cb99ea01b6c8
2008-03-04 14:57:46 +00:00
Stefan Schimanski
501763cafa * add appetite concept to the math macro to restrict the number of parameter which are eaten greedily.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@23448 a592a061-630c-0410-9148-cb99ea01b6c8
2008-03-04 14:49:03 +00:00
Stefan Schimanski
d87c5c062b * Update::SinglePar should be enough for most cases. In notifyCursorLeaves though we might need a fullscreen redraw if we don't add more clever checks whether the cursors moved to another paragraph.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@23415 a592a061-630c-0410-9148-cb99ea01b6c8
2008-03-03 15:21:13 +00:00
Stefan Schimanski
dee531e765 * allow macro names with *
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@23272 a592a061-630c-0410-9148-cb99ea01b6c8
2008-02-27 10:43:29 +00:00
Stefan Schimanski
4413bf3783 * Update::SinglePar is enough, Update::Force is a fullscreen update
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@23251 a592a061-630c-0410-9148-cb99ea01b6c8
2008-02-26 14:22:56 +00:00
Stefan Schimanski
8c2149d3aa * following Andre's advice to rename the method into
createCompletionList. This makes the ownership of the returned
  object clear.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@23143 a592a061-630c-0410-9148-cb99ea01b6c8
2008-02-22 21:11:19 +00:00
Stefan Schimanski
426c4bf356 * some more relicts of the unfinished favorite handling for math completion
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@23142 a592a061-630c-0410-9148-cb99ea01b6c8
2008-02-22 21:11:05 +00:00
Stefan Schimanski
8527a08903 * simplify notifyCursorLeaves logic: We now only call it from strategic
places, i.e.
  - BufferView::setMouseCursor,
  - BufferView::mouseEventDispatch
  - LyXFunc::dispatch
  Before it was called from several dispatch handlers in the middle of the
  dispatch process. Because the cursor might get invalidated, this is
  not a good idea. We had plenty of crashes and odd behaviours because
  of this as nobody really understood those cases.

  This fixes (at least) #2069 and #4163.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@23140 a592a061-630c-0410-9148-cb99ea01b6c8
2008-02-22 20:45:18 +00:00
Stefan Schimanski
6eb72bd1f2 * Reduce compilation time by removing the shared_ptr (which is not
really important because the ownership of the CompletionLists is
  easy enough) and by removing the deque for the half finished
  favorites implemention in InsetMathNest. I think this fits better
  into the GuiCompleter anyway.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@23114 a592a061-630c-0410-9148-cb99ea01b6c8
2008-02-21 23:36:02 +00:00
Stefan Schimanski
4c5c14ff62 * a MathMacro is like a normal InsetMathNest in folded mode. Hence it should also behave like that concerning completion.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@23109 a592a061-630c-0410-9148-cb99ea01b6c8
2008-02-21 19:45:36 +00:00
Stefan Schimanski
7794f870f2 * add some space between math inset and popup. This should really come from the font maximal descent in fact.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@23108 a592a061-630c-0410-9148-cb99ea01b6c8
2008-02-21 19:45:05 +00:00
Stefan Schimanski
1bf7b59d60 * completion infrastructure
* completion support for mathed
* experimental completion support for text


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@23104 a592a061-630c-0410-9148-cb99ea01b6c8
2008-02-21 19:42:34 +00:00
Abdelrazak Younes
2bf1c09376 header cleanup
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@23049 a592a061-630c-0410-9148-cb99ea01b6c8
2008-02-18 07:14:42 +00:00
Abdelrazak Younes
8e831bb602 modify Inset::EntryDirectionType to follow style used in FontEnums.h for enums.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@22936 a592a061-630c-0410-9148-cb99ea01b6c8
2008-02-11 08:20:13 +00:00
Dov Feldstern
11a6b3c4c7 visual mode for bidi cursor movement
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@22929 a592a061-630c-0410-9148-cb99ea01b6c8
2008-02-10 19:52:45 +00:00
Stefan Schimanski
8e212b98b4 * optional old-style editing mode for macros with a parameter list.
* combobox in the preferences dialog to choose the macro editing mode of choice.

The reason for the three choices (inline box, inline without box,
list) is that it seems that there are at least these three groups of
people, and each of them is very strong about their opinion what that
the best mode is. So here there are all of them, pick your favourite.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@22670 a592a061-630c-0410-9148-cb99ea01b6c8
2008-01-25 22:02:38 +00:00
Stefan Schimanski
0a701fb254 * Option to make macro editing less "noisy" by hiding the grey box with the
macro name when the cursor is inside. The downside of the coin is that
you have to look into the statusbar to see which macro is used. But
some people prefer that than having the slight size change of macros
when the cursor enters.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@22650 a592a061-630c-0410-9148-cb99ea01b6c8
2008-01-22 21:23:41 +00:00
Stefan Schimanski
49daeaec29 * fix for buggy cursor logic due to multi bufferview support in MathMacros. It's much simpler now, even for simple single bufferview cases.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@22562 a592a061-630c-0410-9148-cb99ea01b6c8
2008-01-14 21:53:49 +00:00
Stefan Schimanski
102638a478 * fix broken default value logic from last cleanup: only show default value if not in edit mode and the given value is empty.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@22413 a592a061-630c-0410-9148-cb99ea01b6c8
2008-01-07 13:50:21 +00:00
Stefan Schimanski
04537d8664 * make sure the edit mode is the same in math macros and argument proxy
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@22292 a592a061-630c-0410-9148-cb99ea01b6c8
2007-12-24 10:54:39 +00:00
Stefan Schimanski
6a9e5edae3 * setDimCache is superfluous in mathed
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@22291 a592a061-630c-0410-9148-cb99ea01b6c8
2007-12-24 10:53:53 +00:00
Stefan Schimanski
ec996ed828 * \newlyxcommand support
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@22280 a592a061-630c-0410-9148-cb99ea01b6c8
2007-12-23 16:31:37 +00:00
Stefan Schimanski
85e37b01b2 * simplify editing logic of math macros by making it purely dynamic
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@22260 a592a061-630c-0410-9148-cb99ea01b6c8
2007-12-22 14:39:47 +00:00
Stefan Schimanski
9ac321f28f * kerning may depend on the BufferView because the metrics of some insets (e.g. math macros) depend on the cursor position in the view
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@22259 a592a061-630c-0410-9148-cb99ea01b6c8
2007-12-22 14:39:22 +00:00
Stefan Schimanski
dc9081c208 * first support of multiple BufferViews for macros. There are still problems that somehow the dimension caching is mixed among them.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@22245 a592a061-630c-0410-9148-cb99ea01b6c8
2007-12-21 20:44:37 +00:00
Stefan Schimanski
992ae20115 * add \protect in front of macro with optional arguments because they are fragile
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@22243 a592a061-630c-0410-9148-cb99ea01b6c8
2007-12-21 20:43:50 +00:00
Stefan Schimanski
36dbec4506 * Lazy MathData to avoid unneeded interpretation of macro definitions
* DocIterator as MacroPosition
* Iterative search for macro in scope until a visible one is found.
This include the ability to resolve macro inside nested text insets.
* Speed up macro lookups by factor 2: only getMacro(name) call, no
further hasMacro(name) call before
* Both way child/master support
* Correct macro scope for multi-paragraph environments
* Correct macro scope for multi-depth-paragraphs
* Buffer::updateMacros made const
* Update macros when loaded (of master and child)
* Do not remove too many braces when unfolding a macro. This could
lead to a data loss because the relationship between arguments of
macros can be mixed up if nested macros are unfold at once.
* Reduce dependencies to MetricsInfo in MathMacro   
* Update macros when needed. Normally it's done just before doing
metrics. But in cases without a brace around some constructs (like
\left(bla\right)) there is some help needed.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@22241 a592a061-630c-0410-9148-cb99ea01b6c8
2007-12-21 20:42:46 +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
Abdelrazak Younes
9383f4c3c6 'using namespace std' instead of 'using std::xxx'
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@22097 a592a061-630c-0410-9148-cb99ea01b6c8
2007-12-12 10:16:00 +00:00
André Pönitz
9d0ea8aeff Move debug.{cpp,h}, Messages.{cpp,h} and gettext.{cpp,h} to support/.
Now support/* should have no dependencies on src/* anymore.



git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@21851 a592a061-630c-0410-9148-cb99ea01b6c8
2007-11-29 07:04:28 +00:00
André Pönitz
150cf11651 hand-crafted LyXErr
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@21849 a592a061-630c-0410-9148-cb99ea01b6c8
2007-11-28 22:12:03 +00:00
Stefan Schimanski
240e59ae0d * fixed bug #4357 when pasting a macro with script index
* fixed some other unreported bug when the cursor is not inside or near the macro during fold/unfold
 * fixed the bug that the cursor jumped into the first parameter when pasting a macro. This should only happen when the macro was entered interactively


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@21611 a592a061-630c-0410-9148-cb99ea01b6c8
2007-11-14 17:33:49 +00:00
Stefan Schimanski
d51c3cd2f8 * added comment to describe why we are in monochrome mode at this point.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@21517 a592a061-630c-0410-9148-cb99ea01b6c8
2007-11-08 10:14:18 +00:00
Stefan Schimanski
565475a439 * replace int type by the correct custom type for pos, idx and size.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@21336 a592a061-630c-0410-9148-cb99ea01b6c8
2007-11-01 15:36:27 +00:00
Stefan Schimanski
6aa5467320 * added non-greedy init mode for macros. If you enter a macro with the cursor, you don't want that it eats the insets on the right.
* split up the MathData::updateMacro method into the optional and normal parameter part


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@21334 a592a061-630c-0410-9148-cb99ea01b6c8
2007-11-01 14:40:15 +00:00
Stefan Schimanski
1231489798 * dynamic macros as described in http://1stein.org/download/dynmacro.pdf
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@21328 a592a061-630c-0410-9148-cb99ea01b6c8
2007-11-01 11:13:07 +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
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
André Pönitz
ed858d73e5 use bald pointers in clone()
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@19920 a592a061-630c-0410-9148-cb99ea01b6c8
2007-08-30 18:03:17 +00:00
Stefan Schimanski
370d7890a3 * Added the kerning method to a macro to inherit the kerning from the expanded form.
* Moreover the marker metrics calls are removed as they are not drawn anyway.
(fixes #3705)


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@18792 a592a061-630c-0410-9148-cb99ea01b6c8
2007-06-15 18:26:35 +00:00
Stefan Schimanski
d0d7d0103a * up/down jumps between macro parameters
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@18774 a592a061-630c-0410-9148-cb99ea01b6c8
2007-06-14 20:57:56 +00:00
Lars Gullik Bjønnes
897436efbb Whitespace cleanup
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@18550 a592a061-630c-0410-9148-cb99ea01b6c8
2007-05-28 22:27:45 +00:00