Commit Graph

2202 Commits

Author SHA1 Message Date
Stefan Schimanski
69d224eb65 * adapt to MacroType
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@22244 a592a061-630c-0410-9148-cb99ea01b6c8
2007-12-21 20:44:20 +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
Stefan Schimanski
ec81fcaddb * compile fix for trunk
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@22215 a592a061-630c-0410-9148-cb99ea01b6c8
2007-12-19 23:03:26 +00:00
Stefan Schimanski
2495f278ba * at least return a valid template on parse error, but:
FIXME: The macro template does not make sense after this.
  The whole parsing should not be in a constructor which
  has no chance to report failure.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@22214 a592a061-630c-0410-9148-cb99ea01b6c8
2007-12-19 22:57:22 +00:00
Abdelrazak Younes
9439b6e6e0 * get rid of support::absolutePath()
* remove FileName.h inclusion from filetools.h


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@22188 a592a061-630c-0410-9148-cb99ea01b6c8
2007-12-17 16:04:46 +00:00
Abdelrazak Younes
e7bb71ff4e header cleanup.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@22178 a592a061-630c-0410-9148-cb99ea01b6c8
2007-12-16 22:09:28 +00:00
Abdelrazak Younes
86506a80eb Simplify FileName::tempName().
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@22163 a592a061-630c-0410-9148-cb99ea01b6c8
2007-12-16 09:52:36 +00:00
Abdelrazak Younes
4020357dd2 Transfer tempName() implementation to FileName.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@22161 a592a061-630c-0410-9148-cb99ea01b6c8
2007-12-16 07:52:38 +00:00
Abdelrazak Younes
7c392af6ea getting rid of superfluous lyx::support:: statements.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@22106 a592a061-630c-0410-9148-cb99ea01b6c8
2007-12-12 19:57:42 +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
b89cc942eb 'using namespace lyx::support' instead of 'using support::xxx'
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@22103 a592a061-630c-0410-9148-cb99ea01b6c8
2007-12-12 18:57:56 +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
Pavel Sanda
fceb0d93ba Add comment
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@22068 a592a061-630c-0410-9148-cb99ea01b6c8
2007-12-10 19:50:12 +00:00
Jürgen Spitzmüller
61e1643821 Support for \slash and \nobreakdash-
* src/lfuns.h:
* src/Text3.cpp:
* src/insets/InsetMathNest.cpp:
* src/insets/insetCollapsable:
	- new LFUN_SPECIALCHAR_INSERT
	- nuke LFUN_HYPHENATION_POINT_INSERT, 
	  LFUN_LIGATURE_BREAK_INSERT,
	  LFUN_DOTS_INSERT,
               LFUN_END_OF_SENTENCE_PERIOD_INSERT,
	  LFUN_MENU_SEPARATOR_INSERT
	  (functions now handled as arguments of the above)

* src/insets/InsetSpecialChar.{cpp,h}:
	- implement \slash and \nobreakdash-

* src/Buffer.cpp:
	- increment format to 307.
* lib/lyx2lyx/LyX.py:
* lib/lyx2lyx/lyx_1_6.py:
	- reversion methods for SpecialChar \slash{} and
	  SpecialChar \nobreakdash-
* development/FORMAT:
	- document file format change

* lib/ui/stdmenus.inc:
* lib/ui/classic.ui:
	- add new SpecialChars to the menus, adapt lfuns to new scheme

* lib/bind/aqua.bind:
* lib/bind/cua.bind:
* lib/bind/emacs.bind:
* lib/bind/fi/menus.bind:
* lib/bind/mac.bind:
* lib/bind/menus.bind:
* lib/bind/sciword.bind:
* lib/bind/xemacs.bind:
	- add shortcuts for new SpecialChars, adapt lfuns to new scheme

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@21989 a592a061-630c-0410-9148-cb99ea01b6c8
2007-12-06 11:04:56 +00:00
André Pönitz
2506e0d643 assimilate BOOST_CURRENT_FUNCTION
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@21867 a592a061-630c-0410-9148-cb99ea01b6c8
2007-11-29 21:10:35 +00:00
André Pönitz
5a4a9484d1 potential compile fix for Kornel
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@21861 a592a061-630c-0410-9148-cb99ea01b6c8
2007-11-29 17:57:06 +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
Abdelrazak Younes
f07105d0e5 * FileName:
- removeFile(): replace unlink
- copyTo(): add 'overwrite' parameter.

* getcwd.cpp: simplify.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@21843 a592a061-630c-0410-9148-cb99ea01b6c8
2007-11-28 09:01:49 +00:00
André Pönitz
caf732d4c4 use strfwd.h if possible
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@21833 a592a061-630c-0410-9148-cb99ea01b6c8
2007-11-27 20:51:20 +00:00
Uwe Stöhr
12f7869ac0 support for \linebreak:
- fileformat change
- tex2lyx support
- rename LFUN_BREAK_LINE to LFUN_NEW_LINE because this is what the lfun does and to avoid confusions
- new menu entry
- new shortcut C-S-Return

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@21778 a592a061-630c-0410-9148-cb99ea01b6c8
2007-11-25 18:34:37 +00:00
Uwe Stöhr
97aa558cac support for \pagebreak:
- rename former "pagebreak" to "newpage" since it produces a \newpage
- new LFUN
- menu entry
- tex2lyx support
- fileformat change


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@21732 a592a061-630c-0410-9148-cb99ea01b6c8
2007-11-23 02:10:00 +00:00
André Pönitz
d5fc2425a9 consolidate showDialog() incarnations
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@21662 a592a061-630c-0410-9148-cb99ea01b6c8
2007-11-18 00:39:15 +00:00
André Pönitz
e1ce2f92db reduce line noise
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@21631 a592a061-630c-0410-9148-cb99ea01b6c8
2007-11-15 20:04:51 +00:00
André Pönitz
f0fee538c2 more strfwd
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@21618 a592a061-630c-0410-9148-cb99ea01b6c8
2007-11-14 21:57:43 +00:00
Stefan Schimanski
41ebe5e752 * added forgotton undo call for LFUN_MATH_MACRO_REMOVE_OPTIONAL_PARAM
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@21614 a592a061-630c-0410-9148-cb99ea01b6c8
2007-11-14 17:59:58 +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
066de606d2 cosmetic
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@21574 a592a061-630c-0410-9148-cb99ea01b6c8
2007-11-13 07:58:52 +00:00
Stefan Schimanski
963470c60e * fix crash due to a missing test whether thisSlice is -1 or a valid slice number
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@21556 a592a061-630c-0410-9148-cb99ea01b6c8
2007-11-12 22:12:39 +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
André Pönitz
688c186614 we assume (more or less) conforming compilers nowadays.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@21482 a592a061-630c-0410-9148-cb99ea01b6c8
2007-11-06 21:45:24 +00:00
André Pönitz
f6fd9f1172 compile fix
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@21480 a592a061-630c-0410-9148-cb99ea01b6c8
2007-11-06 21:00:00 +00:00
André Pönitz
8995e86584 some consolidation
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@21478 a592a061-630c-0410-9148-cb99ea01b6c8
2007-11-06 20:57:29 +00:00
André Pönitz
f09222007f cosmetics
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@21477 a592a061-630c-0410-9148-cb99ea01b6c8
2007-11-06 20:38:35 +00:00
Abdelrazak Younes
216775d3c7 gcc compile fix.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@21476 a592a061-630c-0410-9148-cb99ea01b6c8
2007-11-06 19:24:05 +00:00
Abdelrazak Younes
0b0c27ef59 * BufferView: Make use of ScreenUpdateStrategy::NoScreenUpdate, avoid a screen redraw when it is not really needed.
* Painter.h: move isDrawingEnabled() to public Area.

* TextMetrics::drawParagraph(): backup and restore original drawing state of the Painter.

* InsetTabular::draw(): ditto.

* InsetMathNest::drawSelection(): ditto.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@21471 a592a061-630c-0410-9148-cb99ea01b6c8
2007-11-06 14:07:49 +00:00
Abdelrazak Younes
d69115d9db Avoid unnecessary redraw.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@21468 a592a061-630c-0410-9148-cb99ea01b6c8
2007-11-06 13:16:27 +00:00
Jürgen Spitzmüller
3c5ff007e0 * src/mathed/InsetMathBig.cpp:
- add missing include.

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@21466 a592a061-630c-0410-9148-cb99ea01b6c8
2007-11-06 09:30:33 +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
7bf4f48a4a Use forceLTR instead of inset codes in order to determine whether an inset
should be surrounded by external \L{} in bidi text.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@21458 a592a061-630c-0410-9148-cb99ea01b6c8
2007-11-05 23:44:47 +00:00
André Pönitz
31617cf92a remove unneeded #include
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@21457 a592a061-630c-0410-9148-cb99ea01b6c8
2007-11-05 23:01:18 +00:00
André Pönitz
9cca7a0c1a remove unneeded Cursor.h include;
use strfwd 


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@21456 a592a061-630c-0410-9148-cb99ea01b6c8
2007-11-05 22:54:53 +00:00
Martin Vermeer
1c05c37696 Revert 4323/2 fix addRow -> appendRow part
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@21451 a592a061-630c-0410-9148-cb99ea01b6c8
2007-11-05 20:54:28 +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
Dov Feldstern
ddd82f7aa4 Getting rid of LTR bias --- part 3/4
This is a continuation of r21128, r21244


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@21448 a592a061-630c-0410-9148-cb99ea01b6c8
2007-11-05 19:41:16 +00:00
Bernhard Roider
e077f03643 more complete fix for bug 4318 and variants (see http://www.mail-archive.com/lyx-devel@lists.lyx.org/msg130765.html)
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@21444 a592a061-630c-0410-9148-cb99ea01b6c8
2007-11-05 16:52:34 +00:00
Jürgen Spitzmüller
33d8394fbb * src/mathed/InsetMathGrid.cpp:
- clear selection before deleting row/column (fix bug 4323/1).

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@21433 a592a061-630c-0410-9148-cb99ea01b6c8
2007-11-05 10:46:39 +00:00
Martin Vermeer
70c8d87745 Fix bug 4323/2, and more logical naming of addRow
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@21429 a592a061-630c-0410-9148-cb99ea01b6c8
2007-11-05 09:51:37 +00:00
Jürgen Spitzmüller
45399e1e7a * src/mathed/MathParser.cpp (getChar):
- return 0 instead of char_type(), which is unpredictable.

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@21426 a592a061-630c-0410-9148-cb99ea01b6c8
2007-11-05 07:55:32 +00:00
Jürgen Spitzmüller
3cafb856d7 * src/mathed/MathParser.cpp (getChar):
- empty return if the char is not good() (fix bug 4318).

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@21425 a592a061-630c-0410-9148-cb99ea01b6c8
2007-11-05 07:15:57 +00:00
Stefan Schimanski
cc1b8dbe2b * change the fold/unfold behaviour a bit: if we are just in front of a macro with wrong state after we went one level up, we look further left. This feels more natural in cases nullary macros appear as parameters of other macros.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@21361 a592a061-630c-0410-9148-cb99ea01b6c8
2007-11-02 00:11:51 +00:00
André Pönitz
a8cd9a4b8f cosmetics. mainly replace #include "dostring.h" by #include "strfwd.h"
in header files when possible. Adjust .cpp files.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@21358 a592a061-630c-0410-9148-cb99ea01b6c8
2007-11-01 22:17:22 +00:00
Stefan Schimanski
f8147509ac * 1 off error, leading to a crash with only one optional parameter
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@21357 a592a061-630c-0410-9148-cb99ea01b6c8
2007-11-01 22:15:00 +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
Edwin Leuven
7e9ec4cdbd correct case
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@21333 a592a061-630c-0410-9148-cb99ea01b6c8
2007-11-01 14:30:48 +00:00
Stefan Schimanski
95cb72f747 * removed MathMacro:: from declaration.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@21332 a592a061-630c-0410-9148-cb99ea01b6c8
2007-11-01 14:06:58 +00:00
Stefan Schimanski
0e201c8c22 * cosmetic: alphabetic order
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@21331 a592a061-630c-0410-9148-cb99ea01b6c8
2007-11-01 11:27:02 +00:00
Stefan Schimanski
dbbf47ab14 * LFUN handler for folding/unfolding of math macros
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@21329 a592a061-630c-0410-9148-cb99ea01b6c8
2007-11-01 11:14:14 +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
Stefan Schimanski
1315e5f026 * non-const coercion for math braces
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@21325 a592a061-630c-0410-9148-cb99ea01b6c8
2007-11-01 10:58:59 +00:00
Uwe Stöhr
e7768ff98e InsetMathDelim.cpp: remove doubled include
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@21282 a592a061-630c-0410-9148-cb99ea01b6c8
2007-10-30 01:19:21 +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
Dov Feldstern
b4372a37d9 Getting rid of LTR bias --- part 2/?
This is a continuation of r21128. This round fixes the "Word" movement
functions and LFUNS.

Behavior should remain unchanged by this fix.



git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@21244 a592a061-630c-0410-9148-cb99ea01b6c8
2007-10-28 20:35:57 +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
Dov Feldstern
662b58497e Getting rid of LTR bias --- part 1/?
This is the first patch in a series meant to remove LTR bias from the code.
Currently, there are many places in the code where "right" and "left" are used,
but where we actually mean "forward" and "backwards" --- which is the same 
thing in LTR text, but not in RTL/Bidi text.

See full details in http://permalink.gmane.org/gmane.editors.lyx.devel/97550.



git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@21128 a592a061-630c-0410-9148-cb99ea01b6c8
2007-10-22 22:18:52 +00:00
Richard Heck
e158e07c29 InsetCommandParams() now takes an InsetCode rather than a string.
These changes are just adaptations to the new signature.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@21072 a592a061-630c-0410-9148-cb99ea01b6c8
2007-10-19 17:22:55 +00:00
Abdelrazak Younes
55beda376a Refactor Undo/Redo framework into an Undo class owned by a Buffer. This reduces header dependencies from Undo.h which was including lots of stuff previously. This also solves the bug where undo/redo were reset upon buffer switching. Now, each buffer has a truly independant undo/redo architecture.
In the future, when Cursor has been fixed to work correctly with multiple views of the same Buffer, we could transfer the Undo owner from Buffer to Cursor.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@21031 a592a061-630c-0410-9148-cb99ea01b6c8
2007-10-18 11:51:17 +00:00
Martin Vermeer
f997928d57 Off-by-one error addCol()
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@20947 a592a061-630c-0410-9148-cb99ea01b6c8
2007-10-13 15:48:22 +00:00
Abdelrazak Younes
f7b1c86393 Move Inset::Code to InsetCode.h
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@20936 a592a061-630c-0410-9148-cb99ea01b6c8
2007-10-13 09:04:52 +00:00
Martin Vermeer
ea8c202a79 Sanitize behaviour of line break in simple math inset
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@20915 a592a061-630c-0410-9148-cb99ea01b6c8
2007-10-11 17:12:34 +00:00
Abdelrazak Younes
9f60651fcb Metrics fix. Empty math inset doesn't have zero dimension.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@20899 a592a061-630c-0410-9148-cb99ea01b6c8
2007-10-11 10:33:36 +00:00
Abdelrazak Younes
9a458ec6e9 Move private part of BufferView to a private implementation.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@20896 a592a061-630c-0410-9148-cb99ea01b6c8
2007-10-11 09:59:01 +00:00
Enrico Forestieri
0b5a2f4ddb Fix bug 2330
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@20782 a592a061-630c-0410-9148-cb99ea01b6c8
2007-10-06 13:42:28 +00:00
André Pönitz
98eff22b9a remove uneeded code;
move some other code to the place where it is used


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@20735 a592a061-630c-0410-9148-cb99ea01b6c8
2007-10-04 17:35:27 +00:00
André Pönitz
df2318f823 move some buffere related stuff from callback.cpp tpo Buffer.cpp.
simpler code.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@20694 a592a061-630c-0410-9148-cb99ea01b6c8
2007-10-03 11:00:18 +00:00
Martin Vermeer
739e3c8df3 Allow dissolution of insets inside mathed
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@20692 a592a061-630c-0410-9148-cb99ea01b6c8
2007-10-03 10:24:37 +00:00
Abdelrazak Younes
b06228b35e Fix empty blue box painting in mathed.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@20687 a592a061-630c-0410-9148-cb99ea01b6c8
2007-10-03 08:46:34 +00:00
André Pönitz
b847b8c7df the delegate patch
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@20667 a592a061-630c-0410-9148-cb99ea01b6c8
2007-10-02 18:27:20 +00:00
Martin Vermeer
c56fa287b6 Final fix to get unit with optional arg (value) working
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@20635 a592a061-630c-0410-9148-cb99ea01b6c8
2007-10-01 12:43:40 +00:00
Abdelrazak Younes
3ee38712cb Remove remnant of the past.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@20632 a592a061-630c-0410-9148-cb99ea01b6c8
2007-10-01 10:50:16 +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
André Pönitz
581b67b26e move ChangeLogs to the attic
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@20587 a592a061-630c-0410-9148-cb99ea01b6c8
2007-09-29 14:12:55 +00:00
André Pönitz
5aaf4dce20 move font related stuff from bufferview_funcs to Font
delete bufferview_funcs, since it's now empty


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@20579 a592a061-630c-0410-9148-cb99ea01b6c8
2007-09-29 11:00:18 +00:00
Abdelrazak Younes
fb6af9a08a Remove remnant of the past.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@20481 a592a061-630c-0410-9148-cb99ea01b6c8
2007-09-25 07:41:03 +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
388c636c07 Temporarily fix cursor positioning within mathed.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@20453 a592a061-630c-0410-9148-cb99ea01b6c8
2007-09-23 16:59:47 +00:00
Abdelrazak Younes
696b5d29b5 Temporarily fix cursor positioning within mathed.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@20452 a592a061-630c-0410-9148-cb99ea01b6c8
2007-09-23 16:55:15 +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
82309f0c2d Remove a few includes from Text.h
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@20386 a592a061-630c-0410-9148-cb99ea01b6c8
2007-09-20 20:44:08 +00:00
Richard Heck
aa01777060 Change LFUN_FONT_CODE to LFUN_FONT_TYPEWERITER, possibly in preparation for a move to character-style-based font changes, etc.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@20381 a592a061-630c-0410-9148-cb99ea01b6c8
2007-09-20 18:02:39 +00:00
Martin Vermeer
6a70aac9e2 Forgot this, suppress debug output
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@20338 a592a061-630c-0410-9148-cb99ea01b6c8
2007-09-18 15:06:32 +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
Lars Gullik Bjønnes
26f336769a Remove warnings reported with gcc 4.3:
- Modifier on return type ignored
	- Ambigous else
	- Ambigous logical operators
	- Semi-colon instead of empty block
	- Missing header files
	- Missing using std::XX
	- Initialization out of order


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@20304 a592a061-630c-0410-9148-cb99ea01b6c8
2007-09-16 10:36:57 +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
Abdelrazak Younes
8d52aa5638 Give PageDown/Up scrolling a sane behaviour. Does not work with selection yet...
* BufferView:
- new scroll(), scrollDown() and scrollUp() method for pixel scrolling.
- new LFUN_SCREEN_UP/DOWN handling.
 
* TextMetrics: new helper and access methods.




git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@20283 a592a061-630c-0410-9148-cb99ea01b6c8
2007-09-15 12:28:41 +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
Abdelrazak Younes
eed6514dd0 Move selection painting closer to row painting. Single row painting is now possible for selection.
* Row:
- setSelection(): set selection begin and end for this row.
- sel_beg, sel_end: new public members.

* BufferView::draw()
- do not trigger a full repaint for selection.
- use TextMetrics::draw() instead of hand calling TextMetrics::drawParagraph().

* InsetText::draw(): don't call TextMetrics::drawSelection().

* InsetMathMBox::drawSelection(): remove.

* TextMetrics:
- drawSelection(): simplify a bit. Now private.
- redoParagraph(): memorize Row selection status.
- x2pos(): fix crash when selecting with PageDown.
- draw(): fill-in the ParPos cache before everything else and not in drawParagraph().
- drawParagraph(): take care of row selection painting.







git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@20066 a592a061-630c-0410-9148-cb99ea01b6c8
2007-09-05 13:04:05 +00:00
Abdelrazak Younes
4048448236 Transfer metrics and screen related methods from Text to TextMetrics.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@19991 a592a061-630c-0410-9148-cb99ea01b6c8
2007-09-02 09:44:08 +00:00
Abdelrazak Younes
02227212b2 compil fix
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@19950 a592a061-630c-0410-9148-cb99ea01b6c8
2007-08-31 14:26:43 +00:00
Martin Vermeer
795d4ba423 another translation disambiguation
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@19945 a592a061-630c-0410-9148-cb99ea01b6c8
2007-08-31 12:07:14 +00:00
Abdelrazak Younes
2bff0157b6 Transfer Text::drawSelection() to TextMetrics.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@19940 a592a061-630c-0410-9148-cb99ea01b6c8
2007-08-31 10:05:12 +00:00
Abdelrazak Younes
8a45e185dc compil fix.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@19928 a592a061-630c-0410-9148-cb99ea01b6c8
2007-08-30 22:30:31 +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
Martin Vermeer
99848328b6 Fix old error string in Cases
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@19908 a592a061-630c-0410-9148-cb99ea01b6c8
2007-08-30 08:21:28 +00:00
André Pönitz
39c7e2faf0 rename Layout_ptr into LayoutPtr
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@19758 a592a061-630c-0410-9148-cb99ea01b6c8
2007-08-23 19:59:07 +00:00
Abdelrazak Younes
0fcae6cc10 * BufferView::buffer() returns a reference instead of a pointer.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@19691 a592a061-630c-0410-9148-cb99ea01b6c8
2007-08-21 13:03:55 +00:00
Georg Baum
aff3772b34 fix bug 4132: parse some more column specifiers
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@19662 a592a061-630c-0410-9148-cb99ea01b6c8
2007-08-20 17:30:45 +00:00
Abdelrazak Younes
8d8dbfd51c Fix bug 4117.
http://bugzilla.lyx.org/show_bug.cgi?id=4117


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@19644 a592a061-630c-0410-9148-cb99ea01b6c8
2007-08-19 13:32:21 +00:00
Jean-Marc Lasgouttes
ded1c011f2 * inset/InsetTabular.cpp (doDispatch): LFUN_MOUSE_PRESS: let Text::dispatch
do the work, unless we really have a reason not to (fixes bug 4133)

	* mathed/InsetMathNest.cpp (lfunMousePress): refactor the code to use
	BufferView::mouseSetCursor.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@19506 a592a061-630c-0410-9148-cb99ea01b6c8
2007-08-13 15:38:32 +00:00
André Pönitz
2caa98bee0 disable some tests for standard C++ features; add a line counting stream for lates output
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@19446 a592a061-630c-0410-9148-cb99ea01b6c8
2007-08-12 08:57:17 +00:00
André Pönitz
5d80a87ceb merge {mathed,insets,graphics}/Makefile.am into src/Makefile.am
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@19424 a592a061-630c-0410-9148-cb99ea01b6c8
2007-08-11 10:32:36 +00:00
André Pönitz
b99bbdb7f1 move tex2lyx and client subdir handling to the main Makefile.am, so they won't be considered when building in src only. Faster roundtrips...
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@19421 a592a061-630c-0410-9148-cb99ea01b6c8
2007-08-11 08:48:57 +00:00
André Pönitz
67e61a3956 enable building of shared libraries. reduces final linktime. also combine boost stuff into a single library
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@19410 a592a061-630c-0410-9148-cb99ea01b6c8
2007-08-10 22:33:54 +00:00
Christian Ridderström
1050cc4471 Converted '#warning ...' into FIXME-comments
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@19397 a592a061-630c-0410-9148-cb99ea01b6c8
2007-08-10 11:47:12 +00:00
Jean-Marc Lasgouttes
0234b98b10 2007-07-12 André Pönitz <poenitz@lyx.org>
* InsetMathOverset.cpp (draw): fix drawing when the first argument
	has a non-zero descent.



git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@19060 a592a061-630c-0410-9148-cb99ea01b6c8
2007-07-12 14:25:24 +00:00
Bo Peng
252ec84acd Remove all saveSelection calls and unify theSelection().setSelection. This is the common, housekeeping part of JMarc's and my patches. Fixes of bug 3877 will come later
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@19003 a592a061-630c-0410-9148-cb99ea01b6c8
2007-07-06 17:03:45 +00:00
Uwe Stöhr
7cb5868e03 fix bug 1942: http://bugzilla.lyx.org/show_bug.cgi?id=1942
- we don't require wasysym any more. Either esint or amsmath is used, depending if esint is installed

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@18857 a592a061-630c-0410-9148-cb99ea01b6c8
2007-06-22 21:25:41 +00:00
Bo Peng
db4c0cfec6 Fix bug 1486: copied mathed is not previewed, from Alfredo
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@18846 a592a061-630c-0410-9148-cb99ea01b6c8
2007-06-21 18:02:51 +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
Stefan Schimanski
98fb638d61 * the old cursor is stored before dispatch and then used after moving
up/down to tell the insets that the cursor left them. The
  notifyCursorLeaves methods can set updateFlags to trigger a redraw.
* leave mathed with cursor up/down and get the math redrawn for the
  decorations



git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@18773 a592a061-630c-0410-9148-cb99ea01b6c8
2007-06-14 20:32:28 +00:00
Stefan Schimanski
832136c37c * Change the dim parameter correctly, even if dim_ has not changed
(fixes http://bugzilla.lyx.org/show_bug.cgi?id=3858)


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@18765 a592a061-630c-0410-9148-cb99ea01b6c8
2007-06-13 17:18:37 +00:00
Dov Feldstern
6742e42e79 KeyMap is now switched (if necessary) only just before it is actually used
for translating keystrokes. Up until now, the switching was done in advance
in all kinds of situations, but not just before translating was actually done
--- which resulted in the KeyMap not always being switched on time...

This solves bug #3811 (http://bugzilla.lyx.org/show_bug.cgi?id=3811)


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@18744 a592a061-630c-0410-9148-cb99ea01b6c8
2007-06-11 22:05:44 +00:00
Stefan Schimanski
b7ce285f8b * Only enter inset which return true on isActive(). This is the behavior in the cursor code.
Only newly created inset were entered everytime.
* Derived classes of CommandInset do not draw all cells, so return false.
  (fixes http://bugzilla.lyx.org/show_bug.cgi?id=3715)


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@18742 a592a061-630c-0410-9148-cb99ea01b6c8
2007-06-11 18:26:42 +00:00
Abdelrazak Younes
8f65acf693 Following revision 18723, Inset::destroyed() signal is not needed anymore.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@18724 a592a061-630c-0410-9148-cb99ea01b6c8
2007-06-09 13:08:44 +00:00
Bo Peng
358e7136f2 Fix compiling errors caused by r18701 (moving drawMarkers and drawMarkers2 back to Inset)
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@18708 a592a061-630c-0410-9148-cb99ea01b6c8
2007-06-07 21:36:42 +00:00
Bo Peng
8153ea8fa7 Show corners of mathed with mouse hover, details see bug 3825
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@18701 a592a061-630c-0410-9148-cb99ea01b6c8
2007-06-07 18:08:03 +00:00
Abdelrazak Younes
d075cb25b8 This patch transfer Inset::destroyed signal to InsetText and InsetMathNest thus freeing some memory as normal math chars and symbols won't have it.
It also solve a crash with non disconnect boost::signal and gcc-3.3 or 3.4.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@18592 a592a061-630c-0410-9148-cb99ea01b6c8
2007-05-31 12:30:17 +00:00
Stefan Schimanski
880b6c4d6e 1. switch LFUN_UP/DOWN handling to a structural approach, i.e. the
dispatchers in mathed and text only do local work, i.e. only try to
move the cursor with their local knowledge, not globally as before in
the Cursor::goUpDown function before. The old approach used one of
brutefind functions as a last way out to really move the cursor up or
down. The result was some strange behavior that the nearest inset was
selected when jumping from math to text, not one in the next line. 
2. removed LFUN_FINISHED_UP/DOWN, as there seem to be no effect and it
seems to be obsolete.
3. target_x is working again, mainly by adding a textTargetOffset_
member to the Cursor which keeps the difference between the target_x
and the actual position of the cursor on screen. As long as
pos+offset=target is fulfilled the target_x is not touched and the
cursor keep the column while going up/down.
4. moved the text cursor up/down code to the Cursor class, in analogy
to the mathed code.
5. For 1 it is necessary to know the cursor position before the
dispatch. So this data is added to the Cursor.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@18569 a592a061-630c-0410-9148-cb99ea01b6c8
2007-05-29 20:53:32 +00:00
Stefan Schimanski
2c1c1b07a0 * Moving up from lower index shouldn't depend on existance of upper (and other
way round), OK by Uwe and Abdel


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@18567 a592a061-630c-0410-9148-cb99ea01b6c8
2007-05-29 20:41:31 +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
Stefan Schimanski
93baf8eb9b * do not lookup the same macro all the time
* only update the representation if anything was changed (this gives a
  huge speedup), fixes #2452
* minor cleanup of the code, especially setting up the coordinate
  cache. Without this can lead to crashes if the macros do not mention
  all the arguments. 
* And a last fix included makes sure that the metrics are always in
  sync with the drawing. Before it was possible to go into the macro
  with the cursor in a way that the metrics were for the viewing mode,
  but the drawing was done for editing.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@18489 a592a061-630c-0410-9148-cb99ea01b6c8
2007-05-24 16:29:40 +00:00
Stefan Schimanski
96860ffe93 * only antialias the whole polyline or no segment at all
* Sqrt and Root draw their vertical horizontal line with a single line command to make them showup non-antialiased.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@18419 a592a061-630c-0410-9148-cb99ea01b6c8
2007-05-19 10:52:47 +00:00
Bo Peng
73849af5df InsetListings: change the interface of diaplay function and allow AlignLeft. Applied to InsetListings. Fixes bug 3617, 3618
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@18404 a592a061-630c-0410-9148-cb99ea01b6c8
2007-05-18 14:32:29 +00:00
Jürgen Spitzmüller
4912255342 * src/mathed/IndetMathNest.cpp (getStatus):
- disable specialchar inset (bug 3590)

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@18354 a592a061-630c-0410-9148-cb99ea01b6c8
2007-05-15 17:33:42 +00:00
Abdelrazak Younes
55a26d72d4 Fix cursor movement inside insets by Dov Feldstern.
* Bidi.[h,cpp]: new helper function reverseDirectionNeeded()

* Cursor::isRTL(): delete unused method



git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@18350 a592a061-630c-0410-9148-cb99ea01b6c8
2007-05-15 17:19:05 +00:00
Bo Peng
dfa6012292 Remove unused var in InsetMathHull.cpp
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@18281 a592a061-630c-0410-9148-cb99ea01b6c8
2007-05-12 22:51:13 +00:00
Bo Peng
4d0552dd80 add color mathcorners and implement mathbg (partially)
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@18277 a592a061-630c-0410-9148-cb99ea01b6c8
2007-05-12 06:24:46 +00:00
Abdelrazak Younes
b9765984c0 remove unneeded header.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@18267 a592a061-630c-0410-9148-cb99ea01b6c8
2007-05-11 14:19:59 +00:00
Abdelrazak Younes
bd3e07179f Remove optimization to avoid char and symbol metrics calculation. This was incompatible with the way the font zooming works in LyX.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@18266 a592a061-630c-0410-9148-cb99ea01b6c8
2007-05-11 14:17:53 +00:00
Bo Peng
e44fc571cc revert wrongly committed patch
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@18263 a592a061-630c-0410-9148-cb99ea01b6c8
2007-05-11 02:34:56 +00:00
Bo Peng
a8e9fe82d0 lib/lyx2lyx/lyx_1_5.py: fix revert of listings insets
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@18262 a592a061-630c-0410-9148-cb99ea01b6c8
2007-05-11 02:28:14 +00:00
Abdelrazak Younes
31c9218c7e Fix cursor movement in RTL embedded math insets by Elazar Leibovich.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@18241 a592a061-630c-0410-9148-cb99ea01b6c8
2007-05-09 09:42:33 +00:00
Edwin Leuven
1f9652587e * do not ignore "requires" field in MathMacro
(fixes http://bugzilla.lyx.org/show_bug.cgi?id=3520)

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@18199 a592a061-630c-0410-9148-cb99ea01b6c8
2007-05-04 15:30:27 +00:00
Michael Schmitt
a746aa5214 "fix" bug #3332 (plain text export depends on the menu language)
Please note that method B_ (translate text to buffer language) is presently broken (at least on Windows)!


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@18143 a592a061-630c-0410-9148-cb99ea01b6c8
2007-05-01 08:26:40 +00:00
Abdelrazak Younes
2640b21228 * Inset and derivatives: insetName() -> name()
* InsetMath::name(): deleted.

* buffer_funcs.cpp:setCaptions() fix potential bug by using docstring copy instead of reference while using Inset::name.





git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@18119 a592a061-630c-0410-9148-cb99ea01b6c8
2007-04-30 14:39:09 +00:00
Abdelrazak Younes
9d37c60314 Get rid of GridInsetMailer: this is completely useless and unused and consumes a lot of CPU when editing a file with a lot of macro (which is a heavy user of InsetMathGrid).
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@18117 a592a061-630c-0410-9148-cb99ea01b6c8
2007-04-30 12:27:12 +00:00
Abdelrazak Younes
9fa2880677 revert unrelated change in rev 18110 .
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@18111 a592a061-630c-0410-9148-cb99ea01b6c8
2007-04-30 10:44:23 +00:00
Abdelrazak Younes
00e1771f94 Now that setPosCache() is in Inset, InsetMathDim is not needed anymore: ERASED!
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@18110 a592a061-630c-0410-9148-cb99ea01b6c8
2007-04-30 10:31:51 +00:00
André Pönitz
e0d54dd3b4 LyXText -> Text
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@18103 a592a061-630c-0410-9148-cb99ea01b6c8
2007-04-29 23:33:02 +00:00
André Pönitz
0bf9ac02a8 rename LyXLayout into Layout
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@18096 a592a061-630c-0410-9148-cb99ea01b6c8
2007-04-29 18:58:28 +00:00
André Pönitz
fc6ce7cd08 rename LyXFont to Font except in tex2lyx
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@18095 a592a061-630c-0410-9148-cb99ea01b6c8
2007-04-29 18:17:15 +00:00
André Pönitz
d079c908b3 rename LyXServer into Server
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@18092 a592a061-630c-0410-9148-cb99ea01b6c8
2007-04-29 16:22:46 +00:00
André Pönitz
32871c1284 rename InsetBase to Inset
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@18089 a592a061-630c-0410-9148-cb99ea01b6c8
2007-04-29 13:39:47 +00:00
Bo Peng
d30304cf84 Rename class RefInset to InsetMathRef
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@18077 a592a061-630c-0410-9148-cb99ea01b6c8
2007-04-28 20:49:56 +00:00
Bo Peng
e36fba33ab Last (?) batch of renames:
src/frontends/Alert.h src/frontends/alert.h
src/frontends/Alert.cpp src/frontends/alert.cpp
src/frontends/Alert_pimpl.cpp src/frontends/alert_pimpl.cpp
src/frontends/qt4/Alert_pimpl.cpp src/frontends/qt4/alert_pimpl.cpp
src/frontends/controllers/ButtonPolicies.cpp src/frontends/controllers/ButtonPolicy.cpp
src/frontends/controllers/ButtonPolicies.h src/frontends/controllers/ButtonPolicy.h
src/insets/InsetEnv.cpp src/insets/InsetEnvironment.cpp
src/insets/InsetEnv.h src/insets/InsetEnvironment.h
src/mathed/MathMacroTable.h src/mathed/MacroTable.h
src/mathed/MathMacroTable.cpp src/mathed/MacroTable.cpp
src/lyx_cb.h src/callback.h
src/lyx_cb.cpp src/callback.cpp
src/UpdateFlags.h src/update_flags.h


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@18076 a592a061-630c-0410-9148-cb99ea01b6c8
2007-04-28 20:44:46 +00:00
André Pönitz
8c622e4ff0 rename/merge LyXLength related stuff
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@18067 a592a061-630c-0410-9148-cb99ea01b6c8
2007-04-28 12:58:49 +00:00
André Pönitz
5008ee540f rename LColor into Color
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@18046 a592a061-630c-0410-9148-cb99ea01b6c8
2007-04-26 17:34:20 +00:00
André Pönitz
31059d1741 rename MathArray into MathData
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@18043 a592a061-630c-0410-9148-cb99ea01b6c8
2007-04-26 16:05:57 +00:00
André Pönitz
42123ab8a7 rename LCursor->Cursor
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@18040 a592a061-630c-0410-9148-cb99ea01b6c8
2007-04-26 14:56:30 +00:00
André Pönitz
39e79d8602 rename LyXLex into Lexer
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@18033 a592a061-630c-0410-9148-cb99ea01b6c8
2007-04-26 11:30:54 +00:00
Bo Peng
00e305c9d9 Rename .C ==> .cpp for files in src, part one
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@18018 a592a061-630c-0410-9148-cb99ea01b6c8
2007-04-26 04:41:58 +00:00
Bo Peng
176715bd56 Fix a few rename inconsistencies discovered by JMarc in insets and mathed, step 2
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17992 a592a061-630c-0410-9148-cb99ea01b6c8
2007-04-25 16:12:54 +00:00
Bo Peng
6e3a75969b Fix a few rename inconsistencies discovered by JMarc in insets and mathed, step 1
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17991 a592a061-630c-0410-9148-cb99ea01b6c8
2007-04-25 16:11:45 +00:00
Bo Peng
f497296c30 Rename files in src/mathed and src/graphics from .C to .cpp, step 2
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17969 a592a061-630c-0410-9148-cb99ea01b6c8
2007-04-25 03:03:25 +00:00
Bo Peng
fcfcc3ff6e Rename files in src/mathed and src/graphics from .C to .cpp, step 1
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17968 a592a061-630c-0410-9148-cb99ea01b6c8
2007-04-25 03:01:35 +00:00
Bo Peng
b6a2a76700 Rename insets/insetxxx to insets/InsetXxx, part 1
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17964 a592a061-630c-0410-9148-cb99ea01b6c8
2007-04-25 01:24:38 +00:00
Abdelrazak Younes
898d0f05dd fix std::endl declaration.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17917 a592a061-630c-0410-9148-cb99ea01b6c8
2007-04-23 13:12:23 +00:00
Michael Schmitt
3ac4f80ef4 * src/mathed/BUGS: remove old stuff
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17908 a592a061-630c-0410-9148-cb99ea01b6c8
2007-04-22 10:11:16 +00:00
Abdelrazak Younes
058aecf539 fix std declaration.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17901 a592a061-630c-0410-9148-cb99ea01b6c8
2007-04-22 08:41:50 +00:00
Abdelrazak Younes
24c8ca10d2 Trying to solve bug-2452, I optimized some of the most significant problems outlined in the profile report attached in there.
This commit avoids unnecessary metrics recalculations by caching the last LyXFont used. I had to cleanup the width(), ascent() and descend() redundancies by transferring that to InsetBase.

InsetMathDim should go now as it is not really needed.

* InsetBase: properly handle inset Dimension.

* InsetOld: get rid of redundant width(), ascent() and descent()

* InsetMathDim: ditto

* InsetMathChar::metrics(): avoid metrics recalculation if font is unchanged.

* InsetMathSymbol::metrics(): ditto

* InsetMathKern: use InsetBase::dim_ instead of local ones.

* InsetMathSpace:
  - use InsetBase::dim_ instead of local ones.
  - space to width transformation transferred to anonymous namespace.



git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17899 a592a061-630c-0410-9148-cb99ea01b6c8
2007-04-22 08:26:06 +00:00
Abdelrazak Younes
e841d41a92 Optimisation: remove the inset mailer used in the dtor because it was far from negligible in profile results with Macro (which is a heavy user of thi MathGrid class). This matrix dialog showing/hiding was not working anyway.
* InsetMathGrid::~InsetMathGrid(): deleted.




git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17896 a592a061-630c-0410-9148-cb99ea01b6c8
2007-04-21 22:33:07 +00:00
Abdelrazak Younes
c9dffa27a2 * InsetMathNest::cell(): inlined because of profile.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17895 a592a061-630c-0410-9148-cb99ea01b6c8
2007-04-21 22:28:21 +00:00
Edwin Leuven
22fb43fd8f * removal of math panel
some code is moved from QMath 
  to QDelimiterDialog and QMathMatrixDialog
  for the rest pretty mechanical

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17872 a592a061-630c-0410-9148-cb99ea01b6c8
2007-04-19 21:42:42 +00:00
Abdelrazak Younes
ab13c59979 commit again the drawing fix of revision 17826. This was accidentally reverted in revision 17841.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17849 a592a061-630c-0410-9148-cb99ea01b6c8
2007-04-18 09:59:02 +00:00
Abdelrazak Younes
1d55e044d0 Fix Andre's name.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17842 a592a061-630c-0410-9148-cb99ea01b6c8
2007-04-17 16:58:59 +00:00
Abdelrazak Younes
49395dd85e Real fix for bug 1395 by Stefan Schimanski, this commit replace the one done at revision 17836 which was reverted!
Locking counter added to MacroData: it is increased before drawing/
metric calculations and decreased afterwards in InsetMathMacro. If a  
macro is already locked at that point, "Self reference: \foo" is  
drawn instead of the macro definition to avoid endless loops.  
Moreover inside of the arguments of the macro the counter is  
temporarily decreased as those cases do not cause loops. (fixes bug  
#1395)

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17841 a592a061-630c-0410-9148-cb99ea01b6c8
2007-04-17 16:52:43 +00:00
Abdelrazak Younes
86c1053f51 Revert to revision 17835: I applied the wrong tree!
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17840 a592a061-630c-0410-9148-cb99ea01b6c8
2007-04-17 16:49:17 +00:00
Abdelrazak Younes
0a1d3c186a style correction.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17839 a592a061-630c-0410-9148-cb99ea01b6c8
2007-04-17 16:35:13 +00:00
Abdelrazak Younes
9450626942 Fix compilation. Use BOOST_ASSERT instead of assert()
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17838 a592a061-630c-0410-9148-cb99ea01b6c8
2007-04-17 15:59:47 +00:00
Abdelrazak Younes
71e8668375 Fix bug 1395 by Stefan Schimanski:
Locking counter added to MacroData: it is increased before drawing/
metric calculations and decreased afterwards in InsetMathMacro. If a  
macro is already locked at that point, "Self reference: \foo" is  
drawn instead of the macro definition to avoid endless loops.  
Moreover inside of the arguments of the macro the counter is  
temporarily decreased as those cases do not cause loops. (fixes bug  
#1395)

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17836 a592a061-630c-0410-9148-cb99ea01b6c8
2007-04-17 13:15:00 +00:00
Abdelrazak Younes
e216ceee77 Fixed bug 3449 by Stefan Schimanski:
http://bugzilla.lyx.org/show_bug.cgi?id=3449

One problem was no metric calculation was done for insets on cursor movement. Of course scrolling or entering character caused the missing metric calls, hence the described behavior in the bug report. This is fixed by re-implementing idxLast(), idxFirst() and notifyCursorLeaves().

Another problem was that 'a' and '1' were drawn at the same position because of a mis-calculation of the x-position in InsetMathMacro::draw().



git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17826 a592a061-630c-0410-9148-cb99ea01b6c8
2007-04-16 14:42:53 +00:00
Abdelrazak Younes
ab2b590abe fix comment
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17795 a592a061-630c-0410-9148-cb99ea01b6c8
2007-04-13 11:49:58 +00:00
Abdelrazak Younes
008287fd3d Fix a missing metrics update when clicking within a previewed formula.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17794 a592a061-630c-0410-9148-cb99ea01b6c8
2007-04-13 11:35:11 +00:00
Enrico Forestieri
c58f3252e5 Fix remaining issues with big delimiters
* src/mathed/MathSupport.C:
	add "slash" to the decoration table.

	* src/mathed/InsetMathBig.C
	(InsetMathBig::draw): don't remove backslash delimiter.
	(InsetMathBig::isBigInsetDelim): add "\\" and "\slash" to
	the delimiters table.

	* src/frontends/qt4/QDelimiterDialog.C
	(fix_name): return "\\" instead of "\backslash" as that now
	works after the fixes above.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17771 a592a061-630c-0410-9148-cb99ea01b6c8
2007-04-11 00:27:35 +00:00
Enrico Forestieri
5dc60654bb Fix gui for slash and backslash big/variable size delimiters
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17755 a592a061-630c-0410-9148-cb99ea01b6c8
2007-04-07 02:07:15 +00:00
Georg Baum
ea1a4a886c Fix dialog interaction with InsetMathRef (leftover from changed
InsetCommandParams)

	* src/mathed/InsetMathCommand.[Ch]
	(CommandInset::createDialogStr): Move to InsetMathRef, since it is
	no longer generic.

	* src/mathed/MathFactory.C
	(createInsetMath_fromDialogStr): Use InsetCommandMailer instead of
	manual parsing. This ensures that the syntax is correct.

	* src/mathed/InsetMathRef.[Ch]
	(InsetMathRef::createDialogStr): Moved here from InsetMathCommand,
	but use InsetCommandMailer.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17738 a592a061-630c-0410-9148-cb99ea01b6c8
2007-04-06 08:30:37 +00:00
Abdelrazak Younes
4be4fe2af8 Fix bug 3408 and 3408:
http://bugzilla.lyx.org/show_bug.cgi?id=3408
http://bugzilla.lyx.org/show_bug.cgi?id=3409

The missing redraw was introduced with "Draw only decoration" optimisation in mathed. Setting the flags to Update::Force in case of Preview mode fixes the problem.

* InsetMathHull::notifyCursorLeaves(): set the cursor flags to 'Force'

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17718 a592a061-630c-0410-9148-cb99ea01b6c8
2007-04-04 16:17:24 +00:00
Georg Baum
329d50d90d Use new isAlphaASCII and isDigitASCII functions instead of isalpha and
isdigit from ctype.h, because the latter are locale dependant and do not
work with char_type.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17698 a592a061-630c-0410-9148-cb99ea01b6c8
2007-04-02 15:21:36 +00:00
André Pönitz
15b343d8f3 better fix for bug #17652
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17676 a592a061-630c-0410-9148-cb99ea01b6c8
2007-04-01 13:06:41 +00:00
André Pönitz
83b326d204 avoid evalutation of lyxerr arguments unless really needed
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17675 a592a061-630c-0410-9148-cb99ea01b6c8
2007-04-01 10:09:49 +00:00
André Pönitz
d523af4b05 fix #3130
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17652 a592a061-630c-0410-9148-cb99ea01b6c8
2007-03-30 19:28:03 +00:00
André Pönitz
69caf3bfb7 revert 17649. This code was only a temporary mean to help fixing #3396. Apart from that it is not needed to get a proper stack trace and clutters the source
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17651 a592a061-630c-0410-9148-cb99ea01b6c8
2007-03-30 17:20:27 +00:00
André Pönitz
4ab39351e2 fix 3396
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17650 a592a061-630c-0410-9148-cb99ea01b6c8
2007-03-30 17:16:26 +00:00
Abdelrazak Younes
7b5c0b55d8 avoid recursive dump() in case of math parsing problem.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17649 a592a061-630c-0410-9148-cb99ea01b6c8
2007-03-30 16:29:35 +00:00
André Pönitz
9d8421b6b3 remove a space
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17635 a592a061-630c-0410-9148-cb99ea01b6c8
2007-03-29 22:01:21 +00:00
Enrico Forestieri
33707ecc13 Small refinement to subscript placement
* src/mathed/InsetMathScript.C
	(InsetMathScript::dy01): Make sure that the subscript is placed
	not higher than when it appears alone.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17602 a592a061-630c-0410-9148-cb99ea01b6c8
2007-03-28 00:02:15 +00:00
André Pönitz
a3018e8977 This is supposed to fix #3189 basically by avoiding the error condition:
The string representation of math data stored in an undo could not be
read back. Now we store the math directly and do not convert to and from
a string.



git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17591 a592a061-630c-0410-9148-cb99ea01b6c8
2007-03-27 14:33:19 +00:00
Enrico Forestieri
a33f6ed840 Avoid random kerning values.
* src/mathed/MathData.C
	(MathArray::metrics): Explicitly initialize kerning_ as it may
	contain random data when the nucleus is an empty MathFont inset.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17560 a592a061-630c-0410-9148-cb99ea01b6c8
2007-03-26 00:05:28 +00:00
Enrico Forestieri
e53e4d0672 Account for kerning when positioning scripts in the MathFontOld and
MathUnknown insets.

	* src/mathed/InsetMathUnknown.C
	(InsetMathUnknown::metrics): Cache kerning of last char.

	* src/mathed/InsetMathUnknown.h
	* src/mathed/InsetMathFontOld.h
	(InsetMathUnknown::kerning): New. Return cached kerning value.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17528 a592a061-630c-0410-9148-cb99ea01b6c8
2007-03-23 18:55:50 +00:00
Enrico Forestieri
7fb8a4a595 Correctly implement rule 18a in appendix G of the TeXbook
* src/mathed/InsetMathScript.C
	(isAlphaSymbol): New. Return true if nucleus is a letter or a
	symbol whose type is mathord or mathalpha.
	(InsetMathScript::dy01): Apply rule 18a accounting for nucleus type.

	* src/mathed/MathData.C
	(MathArray::metrics): Account for the fact that some fonts (eg.
	mathcal) do not have a lower case x glyph.

	* src/mathed/InsetMathSymbol.[Ch]
	(InsetMathSymbol::isOrdAlpha): New. Return true if type of symbol
	is mathord or mathalpha.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17518 a592a061-630c-0410-9148-cb99ea01b6c8
2007-03-23 02:12:48 +00:00
Enrico Forestieri
5b2d7ec76d Account for real width of nucleus when positioning superscripts in mathed
* src/mathed/MathSupport.[Ch]
	(mathed_char_kerning): New. Compute right kerning for the given
	font and character as the difference between right bearing and
	logical width.

	* src/mathed/InsetMathScript.[Ch]
	(InsetMathScript::dx1, InsetMathScript::metrics): Account for
	nucleus right kerning.
	(InsetMathScript::nker): New. Return the nucleus right kerning
	if positive, zero otherwise.

	* src/mathed/MathData.[Ch]
	(MathArray::metrics): Cache the nucleus right kerning value.
	(MathArray::kerning): New. Return cached right kerning.

	* src/mathed/InsetMathChar.[Ch]
	(InsetMathChar::metrics): Cache the character right kerning.
	(InsetMathChar::kerning): New. Return cached right kerning.

	* src/mathed/InsetMath.h
	(InsetMath::kerning): New virtual method.

	* src/mathed/InsetMathSymbol.[Ch]
	(InsetMathSymbol::metrics): Cache the symbol right kerning.
	(InsetMathSymbol::kerning): New. Return cached right kerning.

	* src/mathed/InsetMathFont.[Ch]
	(InsetMathFont::kerning): New. Return cached right kerning.



git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17497 a592a061-630c-0410-9148-cb99ea01b6c8
2007-03-21 17:21:59 +00:00
Georg Baum
b0cfb6c53b Fix bug 2932 (non-UI part only)
* src/mathed/InsetMathGrid.[Ch]
	(InsetMathGrid::allow_pagebreak_): New member

	* src/mathed/InsetMathGrid.C
	(InsetMathGrid::eolString): Output \\* if allow_pagebreak_ is false

	* src/mathed/MathParser.C
	(addRow): Set allow_pagebreak_ in rowinfo if needed
	(Parser::parse1): Parse '\\*' correctly


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17484 a592a061-630c-0410-9148-cb99ea01b6c8
2007-03-19 16:08:17 +00:00
Georg Baum
1716b7323f compile fix (forgot this in rev. 17470)
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17483 a592a061-630c-0410-9148-cb99ea01b6c8
2007-03-19 15:58:20 +00:00
Georg Baum
ceea696904 silence compiler warning
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17476 a592a061-630c-0410-9148-cb99ea01b6c8
2007-03-18 16:52:54 +00:00
Enrico Forestieri
54cd34f60b Fig bug 3335 (http://bugzilla.lyx.org/show_bug.cgi?id=3335)
* src/mathed/InsetMathScript.[Ch]
	(InsetMathScript::dy01): new, jointly account for both superscript
	and subscript according to the rules in Appendix G of the TeXbook.
	(InsetMathScript::dy0, InsetMathScript::dy1): set ascent and descent
	values using dy01 for non-limits super/subscripts.
	(InsetMathScript::metrics): account for the new super/subscript
	placement rules when setting ascent and descent values.

	* src/mathed/MathData.[Ch]
	(MathArray::metrics): cache parameters needed for super/subscript
	placement. When nucleus is not empty, set its ascent value to zero
	such that it is correctly computed later, otherwise ascent values
	less than that of an 'I' are not reported.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17471 a592a061-630c-0410-9148-cb99ea01b6c8
2007-03-18 15:00:57 +00:00
Georg Baum
4f1d5e72ef Fix bug 3235
* src/insets/insetcaption.C
	(InsetCaption::latex): Copy back encoding to runparams_in

	* src/insets/insetfoot.C
	(InsetFoot::latex): ditto

	* src/insets/insetnote.C
	(InsetNote::latex): ditto

	* src/exporter.C
	(Exporter::Export): Create runparams with document encoding

	* src/converter.C
	(bool Converters::convert): ditto

	* src/buffer.C
	(Buffer::writeLaTeXSource): Copy back encoding to runparams_in
	(Buffer::runChktex): Create runparams with document encoding
	(Buffer::changeRefsIfUnique): ditto

	* src/outputparams.[Ch]
	(encoding): New member

	* src/lyxfont.C
	(LyXFont::latexWriteStartChanges): Don't switch the encoding anymore.
	This is now done in Paragraph::simpleTeXOnePar.
	(LyXFont::latexWriteEndChanges): Ditto

	* src/output_latex.C
	(TeXOnePar): Ditto

	* src/paragraph.C
	(Paragraph::simpleTeXOnePar): Switch the encoding between font
	changes if needed.

	* All other files: Adjust to the changes above


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17470 a592a061-630c-0410-9148-cb99ea01b6c8
2007-03-18 10:59:16 +00:00
André Pönitz
57a68063ad revert 17429
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17436 a592a061-630c-0410-9148-cb99ea01b6c8
2007-03-13 15:20:26 +00:00
André Pönitz
8484324f75 Fix #988. Note that this introduces a new translatable message
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17429 a592a061-630c-0410-9148-cb99ea01b6c8
2007-03-13 00:48:25 +00:00
André Pönitz
d85978b58f fix #3295
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17428 a592a061-630c-0410-9148-cb99ea01b6c8
2007-03-12 23:42:35 +00:00
Georg Baum
f503258258 compile fix
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17364 a592a061-630c-0410-9148-cb99ea01b6c8
2007-02-26 15:36:36 +00:00
Michael Schmitt
d6c60193d6 move plaintext() implementation to MathMacroTemplate.C;
support localization


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17338 a592a061-630c-0410-9148-cb99ea01b6c8
2007-02-25 09:27:11 +00:00
Georg Baum
87289f4d20 remove unused includes
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17328 a592a061-630c-0410-9148-cb99ea01b6c8
2007-02-24 18:00:42 +00:00
Georg Baum
2de83b4598 move plaintext output of math macros where it belongs
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17327 a592a061-630c-0410-9148-cb99ea01b6c8
2007-02-24 18:00:13 +00:00
Michael Schmitt
597d0e2146 * src/mathed/InsetMath.C: plaintext(): assert that this
method is never invoked (and tell why)
	* src/mathed/InsetMathFormulaMacro.C:
	* src/mathed/InsetMathHull.C: plaintext(): fix return value
	(= number of output characters)
	* src/mathed/InsetMathFormulaMacro.h
	* src/mathed/InsetMathHull.h: WS changes
	* src/mathed/InsetMathDim.C: implement plaintext() for math macros
	and add a FIXME that this code shouldn't needed!


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17319 a592a061-630c-0410-9148-cb99ea01b6c8
2007-02-24 15:06:04 +00:00
Abdelrazak Younes
48ab3bd01e * InsetMathMBox.h:
- encapsulate within MATH_MBOX macro.
  - implement default constructor.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17309 a592a061-630c-0410-9148-cb99ea01b6c8
2007-02-23 08:27:03 +00:00
Abdelrazak Younes
36f6966af7 * InsetMathMBox: cleanup in order to avoid Buffer and BufferView dependencies.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17308 a592a061-630c-0410-9148-cb99ea01b6c8
2007-02-23 08:10:13 +00:00
Abdelrazak Younes
986786c1c1 * mathed/CMakeLists.txt: do not exclude InsetMathMBox.C
* InsetMathMBox.C: Make it compile.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17307 a592a061-630c-0410-9148-cb99ea01b6c8
2007-02-22 21:17:34 +00:00
Michael Schmitt
dc402e30fb * src/mathed/InsetMathRef.*: remove plaintext()
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17287 a592a061-630c-0410-9148-cb99ea01b6c8
2007-02-20 21:04:29 +00:00
Michael Schmitt
4ab1692eec * src/mathed/InsetMath.[Ch]: implement plaintext() in a smarter way by
outputting "[math]" rather than nothing 


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17278 a592a061-630c-0410-9148-cb99ea01b6c8
2007-02-20 18:19:31 +00:00
Michael Schmitt
0703d88b00 * src/mathed/InsetMath.h: "implement" plaintext() which will become
a virtual method soon in InsetBase


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17216 a592a061-630c-0410-9148-cb99ea01b6c8
2007-02-16 09:08:38 +00:00
Uwe Stöhr
9492044ef7 rename label for prettyref inset to fix bug 1134
http://bugzilla.lyx.org/show_bug.cgi?id=1134

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17149 a592a061-630c-0410-9148-cb99ea01b6c8
2007-02-12 02:15:04 +00:00
Abdelrazak Younes
8842f9a009 A better fix for bug 3194 (see rev. 17027).
* BufferView::mouseSetCursor(): do not call setTargetX() here because this needs the mathed coordcache which is not ensured to be up to date. Because of this, cursor movement might need some adjustment.

* InsetMathNest::lfunMousePress(): revert commit 17027.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17028 a592a061-630c-0410-9148-cb99ea01b6c8
2007-02-02 20:23:56 +00:00
Abdelrazak Younes
0405bfcf04 Fix bug 3194:
http://bugzilla.lyx.org/show_bug.cgi?id=3194

This also seems to fix the annoying mouse cursor movement bug 3023:

http://bugzilla.lyx.org/show_bug.cgi?id=3023


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17027 a592a061-630c-0410-9148-cb99ea01b6c8
2007-02-02 15:14:43 +00:00
Bo Peng
8b56166641 Persistent-selection (and fix bug 3162)
* src/CutAndPaste.h/C: add selectionBuffer to save selected text
	* src/text3.C: proper handling of paste
	* src/lyxfind.C: save selection
	* src/BufferView.C: save selection
	* src/text.C: save selection
	* src/cursor.C: save selection
	* src/insets/insettabular.C: save selection
	* src/mathed/InsetMathGrid.C: save selection
	* src/mathed/InsetMathHull.C: save selection
	* src/mathed/InsetMathNest.C: save selection


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17022 a592a061-630c-0410-9148-cb99ea01b6c8
2007-02-02 03:10:15 +00:00
Michael Schmitt
2cf58651ed * src/mathed/InsetMathNest.C: simplify call to innerText()
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17018 a592a061-630c-0410-9148-cb99ea01b6c8
2007-02-01 20:05:59 +00:00
Michael Schmitt
5d41611407 * BufferView.C:
* BufferView.h:
	* lyxfunc.C:
	* factory.C:
	* mathed/InsetMathNest.C:
	* mathed/InsetMathHull.C:
	* lyx_cb.C:
	* frontends/WorkArea.C: remove BufferView::getLyXText() methods, because their
	names were absolutely misleading; resolve indirection where needed


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17016 a592a061-630c-0410-9148-cb99ea01b6c8
2007-02-01 19:27:37 +00:00
Abdelrazak Younes
24e8395eb8 Avoid recursive loop and let it crash "normally" (bug 3189).
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16982 a592a061-630c-0410-9148-cb99ea01b6c8
2007-01-31 17:59:48 +00:00
Abdelrazak Younes
d6cc04e762 Fix cursor navigation in math.
* metricsinfo.h:
  - ScreenUpdateStrategy: new enum describing the screen update strategy (replace singlepar boolean).

* UpdateFlags.h:
  new Update::Decoration flag.

* BufferView.C
  - update(): takes Decoration flag into account (CoordCache is not cleared out). Fills in metrics_info_.update_strategy

* mathed/InsetMathNest.C: adjust the cursor flags to new strategy.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16774 a592a061-630c-0410-9148-cb99ea01b6c8
2007-01-20 01:23:07 +00:00
Abdelrazak Younes
5c4844af43 Prepare for independent decoration drawing.
* InsetBase::drawDecoration(): new method.

* all other files: implement drawDecoration().


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16772 a592a061-630c-0410-9148-cb99ea01b6c8
2007-01-20 00:55:24 +00:00
Jean-Marc Lasgouttes
b7518c3c95 * insets/insetbase.h (textString): Simplify the signature
* insets/insetquotes.C (textString):
	* insets/insetcharstyle.C (textString):
	* mathed/InsetMathHull.C (textString): adapt.

	* insets/insetquote.C (plaintext, textString): output disString 
	instead of a raw quote.

	* paragraph.C: adapt and remove unused methods.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16766 a592a061-630c-0410-9148-cb99ea01b6c8
2007-01-19 16:23:13 +00:00
Jean-Marc Lasgouttes
6f8c2a51f5 * math_hullinset.C (numbered): clear the label when unnumbering
(workaround for bug 2556).



git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16734 a592a061-630c-0410-9148-cb99ea01b6c8
2007-01-17 16:18:02 +00:00
Enrico Forestieri
581e909b93 Pass input data to a CAS program through a file instead of piping it to stdin
* src/mathed/MathExtern.C:
	(captureOutput): redirect stdin from a file.
	(pipeThroughMaxima, pipeThroughOctave, pipeThroughMathematica): use
	"output:" instead of "out:" in the informational messages in order to
	better match the "input:" message from captureOutput.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16709 a592a061-630c-0410-9148-cb99ea01b6c8
2007-01-16 18:10:10 +00:00
Georg Baum
3500af60ba Fix bug 2138: copy and paste should preserve formatting between different
LyX instances. This re-enables copy/paste from the internal clipboard on
OS X (currently broken since Clipboard::isInternal() always returns false for
some reason).

	* src/insets/insettabular.C
	(InsetTabular::doDispatch): adjust to clipboard interface change
	(InsetTabular::copySelection): ditto

	* src/mathed/InsetMathGrid.C
	(InsetMathGrid::doDispatch): ditto

	* src/mathed/InsetMathNest.C
	(InsetMathNest::doDispatch): ditto

	* src/buffer.[Ch]
	(Buffer::readString): New method: Read document from a string
	(Buffer::readFile): Change return value from bool to enum (needed
	for readString). Return wrongversion if we are reading from a string
	and the version does not match.
	(Buffer::do_writeFile): make public and rename to write

	* src/CutAndPaste.C
	(putClipboard): New helper, put stuff to the system clipboard
	(void copySelectionHelper): Use putClipboard instead of
	theClipboard().put()
	(void copySelection): ditto
	(void pasteClipboard): new method for pasting in text
	(void pasteParagraphList):

	* src/frontends/Clipboard.h
	(Clipboard::get): Rename to getAsText
	(Clipboard::getAsLyX): New method for getting the system clipboard
	in LyX format
	(Clipboard::hasLyXContents): New method telling whether there is LyX
	contents in the clipboard

	* src/frontends/qt4/GuiClipboard.[Ch]: Implement the new methods

	* src/text3.C
	(LyXText::dispatch): Use pasteClipboard for pasting the system
	clipboard


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16669 a592a061-630c-0410-9148-cb99ea01b6c8
2007-01-13 18:29:50 +00:00
Georg Baum
c3bb45648c include tabulars and math in the "paste recent" stack
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16611 a592a061-630c-0410-9148-cb99ea01b6c8
2007-01-08 18:40:37 +00:00
Georg Baum
fed31122c4 Tell X the selection status also after it is changed by the keyboard, since
we got a consensus on this on the list.
Some calls of haveSelection are still missing, but we need to decide the
"persistent selection" question before those can be implemented properly.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16572 a592a061-630c-0410-9148-cb99ea01b6c8
2007-01-07 14:44:44 +00:00
Enrico Forestieri
4709a0c535 Fix conversion of n-th roots to mathematica and octave syntax.
* src/mathed/MathExtern.C
	(pipeThroughOctave): take into account that the output from octave
	may contain ansi control sequences.

	* src/mathed/InsetMathRoot.[Ch]
	(InsetMathRoot::mathematica): new virtual method to output n-th
	roots in mathematica syntax.

	* src/mathed/InsetMathRoot.C
	(InsetMathRoot::octave): octave has not a root() command.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16559 a592a061-630c-0410-9148-cb99ea01b6c8
2007-01-07 03:28:53 +00:00
Georg Baum
3c323c1a37 The uncontroversal part of the selection fix: Always set the X selection
after selecting something with the mouse

	* src/insets/insettabular.C
	(InsetTabular::doDispatch): Set the X selection if there is a
	selection after release of the left mouse button

	* src/mathed/InsetMathNest.C
	(InsetMathNest::doDispatch): Set the X selection after double and
	triple click of the left mouse button
	(InsetMathNest::lfunMouseRelease): Set the X selection if there is a
	selection after release of the left mouse button


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16530 a592a061-630c-0410-9148-cb99ea01b6c8
2007-01-05 13:31:37 +00:00
Georg Baum
8f2243819a Let LFUN_PASTE always paste the most recent clipboard (internal or system)
* src/insets/insettabular.C
	(InsetTabular::doDispatch): Only paste the tabular clipboard if the
	system clipboard is not newer, else let the current cell paste the
	system clipboard
	(InsetTabular::getStatus): Only decide whether to enable LFUN_PASTE
	if the tabular clipboard is not empty and the system clipboard is
	not newer, else let the current cell decide.

	* src/mathed/InsetMathGrid.C
	(InsetMathGrid::doDispatch): Use the system clipboard for LFUN_PASTE
	if it is newer.

	* src/mathed/InsetMathNest.C
	(InsetMathNest::doDispatch): Use the system clipboard for LFUN_PASTE
	if it is newer.

	* src/text3.C
	(doInsertInset): Add a "0" argument to LFUN_PASTE, because we always
	want to use the internal clipboard here
	(LyXText::dispatch): ditto (when handling mouse button 2 press)
	(LyXText::dispatch): Use the system clipboard for LFUN_PASTE if it
	is newer.
	(LyXText::getStatus): Also enable LFUN_PASTE if the system clipboard
	is owned by another application


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16498 a592a061-630c-0410-9148-cb99ea01b6c8
2007-01-04 12:05:24 +00:00
Georg Baum
e873e7c0a9 * src/mathed/InsetMathNest.C
(InsetMathNest::lfunMouseRelease): Remove commented call of
	theSelection->put(), since that should never be called from the kernel


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16491 a592a061-630c-0410-9148-cb99ea01b6c8
2007-01-04 09:35:44 +00:00
Georg Baum
1557221505 remove obsolete comment
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16488 a592a061-630c-0410-9148-cb99ea01b6c8
2007-01-04 09:00:19 +00:00