Commit Graph

2194 Commits

Author SHA1 Message Date
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
Georg Baum
22eae5feb9 formatting
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16487 a592a061-630c-0410-9148-cb99ea01b6c8
2007-01-04 08:57:55 +00:00
Peter Kümmel
45e7e717d4 remove some msvc warnings
* src/mathed/InsetMathNest.C : 
	unreachable code
* src/aspell_local.h : 
	aspell is a Clibrary, no class keyword available
* src/texrow.h : 
	could not generate standard constructor
* development/cmake/CMakeLists.txt : 
	- disable same warnings
    - all size_t/int related warnings are disabled



git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16446 a592a061-630c-0410-9148-cb99ea01b6c8
2006-12-30 21:05:44 +00:00
Jean-Marc Lasgouttes
ca6838b288 * InsetMathNest.C (handleFont): avoid crash on undo when
suppressing a font inset (bug 3019).



git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16424 a592a061-630c-0410-9148-cb99ea01b6c8
2006-12-29 11:07:23 +00:00
Jürgen Spitzmüller
f55fde9bab * src/mathed/InsetMathNest.C (do_dispatch):
- catch LFUN_QUOTE_INSERT and output plain quote (bug 3044).

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16403 a592a061-630c-0410-9148-cb99ea01b6c8
2006-12-27 15:01:09 +00:00
Georg Baum
1ca55d1c8f Fix bug 3034
* src/mathed/InsetMathGrid.C: Don't declare mathed_parse_normal,
	include MathParser.h instead
	(InsetMathGrid::doDispatch): remove to_utf8, mathed_parse_normal
	takes now a docstring

	* src/mathed/MathMacroTemplate.C
	(MathMacroTemplate::read): restore the version of 1.4.x, since
	the new one did only work for macros without whitespace

	* src/mathed/MathParser.[Ch]
	(Parser): Add constructor from a docstring
	(mathed_parse_cell): Create the parser directly from the string,
	since the istream variant of tokenize() does only work if reading
	from the .lyx file
	(mathed_parse_normal): ditto
	(mathed_parse_normal): Delete the istream variant (unused)


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16334 a592a061-630c-0410-9148-cb99ea01b6c8
2006-12-19 14:24:25 +00:00
Georg Baum
e208fa001b remove unused stuff
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16314 a592a061-630c-0410-9148-cb99ea01b6c8
2006-12-17 15:05:18 +00:00
Abdelrazak Younes
a68da74622 unneeded header
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16200 a592a061-630c-0410-9148-cb99ea01b6c8
2006-12-07 12:06:10 +00:00
Abdelrazak Younes
493ec52c3f * Dimension is a simple wrapper class again.
* other files: use FontMetrics::dimension() method instead of old Dimension interface.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16167 a592a061-630c-0410-9148-cb99ea01b6c8
2006-12-04 10:45:43 +00:00
Abdelrazak Younes
8f98ec35e4 This commit fixes the following bug:
http://bugzilla.lyx.org/show_bug.cgi?id=2900

The only drawback is that it requires about 20Mo extra-memory when loading the UserGuide. If it turns out to be too much, we can switch to a QHash based solution instead of a table.

* dimension.[Ch]:
  - Dimension(LyXFont const, char_typec): new ctor
  - set(LyXFont const & font, char_type c): new method.

* frontends/FontMetrics.h:
  - width(char_type): is now a pure virtual method.

* GuiFontMetrics:
  - CharMetrics: new structure;
  - the metrics cache now also cache ascent and descent. This is especially useful for mathed.

* MathSupport.[Ch]:
  - mathed_char_dim(): deleted. We now use Dimension::set() directly instead.

* rowpainter.C: fixe empty space.



git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16124 a592a061-630c-0410-9148-cb99ea01b6c8
2006-12-01 16:12:24 +00:00
Abdelrazak Younes
e24bf64c68 * dimension.h: new operator!=() and operator=()
* InsetBase and all derivates:
  - metrics(MetricsInfo & mi, Dimension & dim) now returns a bool (true if metrics changed).

* MathData and all derivates:
  - metrics(MetricsInfo & mi, Dimension & dim): ditto.

* RenderBase and all derivates:
  - metrics(MetricsInfo & mi, Dimension & dim): ditto.

* lyxtext.h/text.C:
  - LyXText::metrics(MetricsInfo & mi, Dimension & dim): ditto.
  - LyXText::redoParagraph(): take into account potential change in inset metrics.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16091 a592a061-630c-0410-9148-cb99ea01b6c8
2006-11-28 15:15:49 +00:00
Georg Baum
8e6e970d7b Next step of true unicode filenames: Use support::FileName instead of
std::string at many places (not all yet).


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16069 a592a061-630c-0410-9148-cb99ea01b6c8
2006-11-26 21:30:39 +00:00
Abdelrazak Younes
dd91a7f6b6 * InsetMathNest::lfunMouseRelease(): keep the optimization only if there is no selection. This allows to shorten the time when the cursor is initially set at the beginning of the math inset.
* InsetMathNest::lfunMousePress(): Disable optimization introduced in revision 16006. This is because we need the box corners when navigating inside formulas.

* InsetMathNest::doDispatch(): ditto.



git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16011 a592a061-630c-0410-9148-cb99ea01b6c8
2006-11-22 14:45:33 +00:00
Abdelrazak Younes
1278f826c9 * BufferView::update(): handle the special case Flag == FitCursor.
* InsetMathNest.C: adjust update flags in order to avoid unneeded screen redrawing.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16006 a592a061-630c-0410-9148-cb99ea01b6c8
2006-11-21 16:58:45 +00:00
Jean-Marc Lasgouttes
502f07307f * MathMacroArgument.C (MathMacroArgument): do not use convert<> since
it may be too slow.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15996 a592a061-630c-0410-9148-cb99ea01b6c8
2006-11-20 14:07:30 +00:00
Bo Peng
7880841888 BUG 686: delete empty math box with delete/backspace key
* src/cursor.C: remove nested empty math box
	* src/mathed/InsetMathNest.C: remove the whole empty math box if it 
	  can not be deleted from within


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15990 a592a061-630c-0410-9148-cb99ea01b6c8
2006-11-19 18:33:13 +00:00
Enrico Forestieri
22be03e68c Avoid processing empty lines when reading the symbols file
* src/mathed/MathFactory.C
	(initSymbols): skip a line when it is empty or a comment.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15961 a592a061-630c-0410-9148-cb99ea01b6c8
2006-11-17 20:43:49 +00:00
Jean-Marc Lasgouttes
0f4aaa8ed4 * src/mathed/MathMacroArgument.C
(MathMacroArgument): fix creation of #digit string.



git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15914 a592a061-630c-0410-9148-cb99ea01b6c8
2006-11-14 08:15:38 +00:00
Georg Baum
2db7521b70 Add support for the esint package
* src/LaTeXFeatures.C
	(LaTeXFeatures::getPackages): handle esint and wasysym

	* src/mathed/MathMacroTable.[Ch]
	(requires_): New member: tell the feature this macro requires
	(MacroTable::insert): take new requires arg

	* src/mathed/MathMacroTemplate.C
	(MathMacroTemplate::asMacroData): adjust to change above

	* src/mathed/MathSupport.C
	(fontinfos): add esint10 font

	* src/mathed/InsetMathHull.C
	(InsetMathHull::doDispatch): AMS_ON -> package_on

	* src/mathed/MathMacroTable.h

	* src/mathed/MathFactory.C
	(initSymbols): read and store requires field for symbols

	* src/mathed/InsetMathSymbol.C
	(InsetMathSymbol::metrics): handle esint
	(InsetMathSymbol::takesLimits): ditto

	* src/buffer.C
	(LYX_FORMAT): update format
	(Buffer::validate): handle esint, AMS_ON -> package_on

	* src/bufferparams.C:
	(AMSTranslator): Rename to PackageTranslator
	(BufferParams::readToken): Read \use_esint
	(BufferParams::writeFile): Write \use_esint

	* src/frontends/qt4/QDocumentDialog.C: handle esint

	* src/frontends/qt4/ui/MathsUi.ui : add esint checkboxes

	* src/frontends/qt4/GuiFontLoader.C
	(symbol_fonts: Add esint10 font
	(symbolFamily): handle esint10 font
	(isChosenFont): Add comment

	* src/frontends/controllers/ControlMath.C
	(latex_varsz): Add new integral symbols

	* src/support/fontutils.C
	(win_fonts_truetype): Add esint10 font

	* src/bufferparams.h
	(enum AMS): rename to enum Package
	(use_esint): new parameter

	* src/lyxfont.[Ch]: Add esint font

	* lib/symbols: Add new integral symbols

	* lib/lyx2lyx/LyX.py
	(format_relation): Update format

	* lib/lyx2lyx/lyx_1_5.py: handle new format

	* lib/chkconfig.ltx: Test esint package

	* lib/images/math/oiintop.xpm
	* lib/images/math/sqintop.xpm
	* lib/images/math/sqint.xpm
	* lib/images/math/ointctrclockwiseop.xpm
	* lib/images/math/ointctrclockwise.xpm
	* lib/images/math/iiintop.xpm
	* lib/images/math/iintop.xpm
	* lib/images/math/sqiint.xpm
	* lib/images/math/iiint.xpm
	* lib/images/math/ointclockwiseop.xpm
	* lib/images/math/oiint.xpm
	* lib/images/math/dotsintop.xpm
	* lib/images/math/sqiintop.xpm
	* lib/images/math/ointclockwise.xpm
	* lib/images/math/iiiintop.xpm
	* lib/images/math/dotsint.xpm
	* lib/images/math/iiiint.xpm
	* lib/images/math/iint.xpm: new icons

	* lib/doc/LaTeXConfig.lyx.in: Add docs for esint package

	* lib/doc/UserGuide.lyx: Add short documentation of integral symbols

	* lib/Makefile.am: Add new files

	* development/scons/scons_manifest.py: ditto


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15907 a592a061-630c-0410-9148-cb99ea01b6c8
2006-11-13 17:35:18 +00:00
Georg Baum
8c651169ef Revert revision 14819 and my faulty fix for it.
* src/mathed/InsetMathScript.C
	(InsetMathScript::write): Do not add braces to the nucleus

	* src/mathed/MathParser.C
	(Parser::parse1): Do not remove brace insets from the nucleus of
	script insets

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


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15859 a592a061-630c-0410-9148-cb99ea01b6c8
2006-11-11 15:26:31 +00:00
Jean-Marc Lasgouttes
a93279983d * src/mathed/InsetMathSymbol.C (metrics): remove broken mac workaround
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15824 a592a061-630c-0410-9148-cb99ea01b6c8
2006-11-09 14:47:56 +00:00
Georg Baum
d3218b9acb document docstring abuse for symbol font code points
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15791 a592a061-630c-0410-9148-cb99ea01b6c8
2006-11-07 20:46:38 +00:00
Georg Baum
aea574afa1 * src/mathed/InsetMathSymbol.C
(InsetMathSymbol::draw): Remove obsolete FIXME
	(InsetMathSymbol::draw): Microoptimization: Do not copy the string



git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15789 a592a061-630c-0410-9148-cb99ea01b6c8
2006-11-07 19:29:01 +00:00
Abdelrazak Younes
95b150fee5 Fix MSVC warning.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15747 a592a061-630c-0410-9148-cb99ea01b6c8
2006-11-05 12:22:05 +00:00
Georg Baum
f498157e18 Fix comment according to Enricos explanation
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15743 a592a061-630c-0410-9148-cb99ea01b6c8
2006-11-05 08:53:52 +00:00
Abdelrazak Younes
8b7cc1b498 Convert to unicode.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15728 a592a061-630c-0410-9148-cb99ea01b6c8
2006-11-04 11:03:14 +00:00
Georg Baum
4689b5eea3 * src/mathed/MathParser.C
(Parser::parse1): Fix special handling of {}-bases to not destroy
	\xxx{\vec{H}}_0 where \xxx is an unknown command


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15712 a592a061-630c-0410-9148-cb99ea01b6c8
2006-11-03 15:05:14 +00:00
Enrico Forestieri
6b1631a8c5 Output a space if pendingSpace() is true and it is actually needed
* src/mathed/MathStream.C
	(isAlpha): new, test whether a lyx::char_type is an ascii letter.
	(operator<<): output a space if pendingSpace() is true and what follows
	begins with an ascii letter. Also update the number of lines written.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15645 a592a061-630c-0410-9148-cb99ea01b6c8
2006-10-31 20:16:47 +00:00
Georg Baum
f8b9d95ee4 Support all xymatrix arguments
* src/LaTeXFeatures.C
	(LaTeXFeatures::getPackages): Add package xy

	* src/mathed/InsetMathXYMatrix.[Ch]
	(spacing_): New
	(spacing_code_): New
	(validate): New, require xy package

	* src/mathed/InsetMathXYMatrix.C
	(InsetMathXYMatrix::write): write spacing_ and spacing_code_
	(InsetMathXYMatrix::infoize): output spacing_ and spacing_code_

	* src/mathed/MathFactory.C
	(createInsetMath): handle special arguments of xymatrix

	* src/mathed/MathParser.C
	(Parser::parse1): ditto


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15643 a592a061-630c-0410-9148-cb99ea01b6c8
2006-10-31 19:10:30 +00:00
Abdelrazak Younes
eb651c3d61 Move BufferView cached pointer out of LyXText:
* LyXText
  - bv(), bv_owner, : deleted.
  - These methods now need a (Buffer const &) argument: getFont(), applyOuterFont(), getLayoutFont(), getLabelFont(), setCharFont(), setLayout(), singleWidth(), leftMargin(), rightMargin(), computeRowMetrics(), isMainText(), spacing(), isRTL(), cursorX(), rowBreakPoint(), setRowWidth(), labelFill(), labelEnd().
  - These methods now need a (BufferView const &) argument and are propably candidates for future removal when 1.6 is opened for development: redoParagraph(), x2pos(), getRowNearY(), getColumnNearX(), checkInsetHit(), setHeightOfRow().
  - recUndo(): now need a LCursor argument.
 
* CoordCache::get(LyXText const *, pit_type):
  - now const.
  - use const_iterator instead of iterator.

* FontIterator:
  - add (Buffer const &) argument to ctor
  - buffer_: new const reference to applicable BufferView.

* InsetBase
  - xo(), yo(), covers() and neverIndent() are now const.

* InsetText::setViewCache(): deleted

All other changes are due to the LyXText and InsetBase API changes.



 
  

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15618 a592a061-630c-0410-9148-cb99ea01b6c8
2006-10-30 12:45:33 +00:00
Abdelrazak Younes
0a48776a9a Forgot that!
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15615 a592a061-630c-0410-9148-cb99ea01b6c8
2006-10-30 10:47:59 +00:00
Abdelrazak Younes
73ed0b5203 * Painter.h:
* Painter: new ctor that sets drawing_enabled_ to true.
  * setDrawingEnabled(), isDrawingEnabled(): new methods.

* QLPainter.C: only draw if drawing is enabled.

* nullpainter.h: deleted.

* rawpainter.C::paintPar(): only draw if we are inside the Paragraph.

* InsetTabular::draw(): use new Painter method instead of a NullPainter.

* InsetMathNest::drawSelection(): ditto.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15613 a592a061-630c-0410-9148-cb99ea01b6c8
2006-10-30 10:09:59 +00:00
Abdelrazak Younes
54bdecdb48 remove paperHeight() and paperWidth() in Painter and inherited classes.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15589 a592a061-630c-0410-9148-cb99ea01b6c8
2006-10-28 09:36:22 +00:00
André Pönitz
4774536389 cursor is no more damaging the background. L-shaped cursor is broken right now. will fix later
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15503 a592a061-630c-0410-9148-cb99ea01b6c8
2006-10-23 11:19:17 +00:00
André Pönitz
dc94575f2b make macrfos readable again
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15479 a592a061-630c-0410-9148-cb99ea01b6c8
2006-10-22 14:37:32 +00:00
Michael Schmitt
a10629dfc6 * mathed/InsetFormulaMacro.C:
* mathed/InsetMathXYArrow.C:
	* mathed/InsetMathMBox.C: do not include non-existing MathMLStream.h


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15477 a592a061-630c-0410-9148-cb99ea01b6c8
2006-10-22 14:23:14 +00:00
André Pönitz
578baa8f98 fix reading UTF8 encoded symbol file
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15472 a592a061-630c-0410-9148-cb99ea01b6c8
2006-10-22 12:07:01 +00:00
André Pönitz
eaa81aa13e some compile fixes, more to be expected
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15465 a592a061-630c-0410-9148-cb99ea01b6c8
2006-10-22 11:00:04 +00:00
André Pönitz
de6418f377 use more unicode in math
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15462 a592a061-630c-0410-9148-cb99ea01b6c8
2006-10-22 10:15:23 +00:00
José Matox
354fb450c2 More unicode fixes for docbook.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15459 a592a061-630c-0410-9148-cb99ea01b6c8
2006-10-21 19:40:29 +00:00
Lars Gullik Bjønnes
d12c1f4b22 Fix some unicode conversion problems, more work needed.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15442 a592a061-630c-0410-9148-cb99ea01b6c8
2006-10-21 11:15:37 +00:00
André Pönitz
6c300f72a2 move everything into namespace lyx
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15422 a592a061-630c-0410-9148-cb99ea01b6c8
2006-10-21 00:16:43 +00:00
Georg Baum
ffe7cb1b78 Use the new InsetCommandParams interface (inset part), from Ugras and me
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15413 a592a061-630c-0410-9148-cb99ea01b6c8
2006-10-20 16:12:49 +00:00
Enrico Forestieri
899fb06023 Fix some glitches with fixed size delimiters
* src/mathed/MathParser.C
	(parse1): behave correctly when a wrong delimiter is specified.

	* src/mathed/InsetMathBig.C
	(write): don't write a space before delimiter.

	* src/frontends/qt4/QDelimiterDialog.C
	(QDelimiterDialog): make translatable the string "Variable size".


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15397 a592a061-630c-0410-9148-cb99ea01b6c8
2006-10-20 10:43:53 +00:00
Lars Gullik Bjønnes
0d449056ef Output docbook as utf8. Probably quite a bit more work needed, but then help form a docbook person is needed.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15387 a592a061-630c-0410-9148-cb99ea01b6c8
2006-10-19 21:00:33 +00:00
Georg Baum
9e86082c9a make it compile again (hopefully)
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15383 a592a061-630c-0410-9148-cb99ea01b6c8
2006-10-19 19:16:33 +00:00
Georg Baum
62aedce851 Avoid an implicit character set conversion in cur.insert() in InsertChar
by changing the argument type to lyx::char_type.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15382 a592a061-630c-0410-9148-cb99ea01b6c8
2006-10-19 18:56:16 +00:00
Georg Baum
8b67659646 Use UTF8 for LaTeX export.
Known problems:
- No space is output after a \hfill. I probably broke this with the
  InsetCommand patch. I'll have a look later.
- Although the encoding is now UTF8 the arguments of the inputenc package
  are still the old ones, so LaTeX will not run.
- Labels and references with non-ASCII characters are broken. This needs to
  be fixed in lyx::support::escape(), but this is a file format change.
- Something seems to be wrong with index entries, but this is probably also
  due to the InsetCommand changes.

Have fun!


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15378 a592a061-630c-0410-9148-cb99ea01b6c8
2006-10-19 16:51:30 +00:00
Asger Ottar Alstrup
daae275cd1 - Fix math editing
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15377 a592a061-630c-0410-9148-cb99ea01b6c8
2006-10-19 16:38:13 +00:00
Georg Baum
b02242bfaf Rework InsetCommandParams interface and file storage
* src/insets/insetcommandparams.[Ch]:
	(operator[]): New, access a parameter
	(clear): New, clear all parameters
	(info_): New, stire info about this command
	(cmdname): Rename to name_
	(contents, options, sec_options): Replace with params_. Parameters
	are now stored as docstring.
	(findInfo): New factor for command info for all commands
	(read, write): Use new syntax
	(parameter set and get methods): reimplemenmt for new parameter storage

	* src/insets/insetcommand.h
	(getParam): New, get a parameter
	(setParam): New, set a parameter
	(parameter set and get methods): Adjust to InsetCommandParams changes

	* src/insets/insetbibitem.[Ch]
	(write): Remove, not needed anymore
	(directWrite): ditto

	* src/insets/insetbibitem.C
	(InsetBibitem::read): Use InsetCommand::read

	* src/insets/insetref.C
	(InsetRef::latex): Use new InsetCommandParams interface

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

	* src/text3.C
	(LyXText::dispatch): ditto

	* src/factory.C
	(createInset): Create InsetCommandParams with command name
	(readInset): ditto
	(readInset): Remove error message for bibitem, since bibitem is
	now a normal command inset

	* src/buffer.C: Bump file format number

	* src/frontends/controllers/ControlCommand.[Ch]
	(ControlCommand): take an additional command name parameter

	* src/text.C
	(readParToken): Remove code for \bibitem

	* lib/lyx2lyx/LyX.py: Bump latest file format number

	* lib/lyx2lyx/lyx_1_5.py
	(convert_bibitem, convert_commandparams): new, convert to new format
	(revert_commandparams): new, convert to old format

	* development/FORMAT: document new format

	* many other files: Adjust to the changes above


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15357 a592a061-630c-0410-9148-cb99ea01b6c8
2006-10-17 21:07:16 +00:00
Abdelrazak Younes
4cc7a7708e This commit fixes a crash when accessing a math inset. This was due to an invalid CursorSlice::text() null pointer accessed in InsetMathNest::cursorPos():
CoordCache & coord_cache = sl.text()->bv()->coordCache();

As you can see, I used this indirection to access the BufferView::CoordCache(). Bad luck, the passed CursorSlice was not completely valid inside a mathed inset, hence the crash. My solution is to pass BufferView to InsetBase::cursorPos() and all its derivative.

* InsetBase::cursorPos(): pass BufferView const &

* bufferview_funcs::coordOffset(): ditto.




git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15356 a592a061-630c-0410-9148-cb99ea01b6c8
2006-10-17 16:23:27 +00:00
Abdelrazak Younes
52bd213992 More unicode conversion
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15355 a592a061-630c-0410-9148-cb99ea01b6c8
2006-10-17 14:46:45 +00:00
Abdelrazak Younes
3a32fff90e Adjust the FIXME texts and Delete commented out setXY() call following Andre comments about it:
The coordcahce is for up/down navigation and vconverting mouseclicks to text positions. It is not for pure display/export which
is what drawT is about. It was a simple oversight not to remove it after some copying from the 'real' draw() method.



git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15347 a592a061-630c-0410-9148-cb99ea01b6c8
2006-10-16 09:08:05 +00:00
Abdelrazak Younes
562d55989a MacOSX compile fix: The class Point conflicted with a struct defined in MacTypes.h.
* coordcache.[Ch]: put everything in the LyX namespace.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15340 a592a061-630c-0410-9148-cb99ea01b6c8
2006-10-15 22:32:56 +00:00
Abdelrazak Younes
c7e365365e This commit saves the need to check for lyx::use_gui in a number of places.
* lyx_main.h: define "extern bool lyx::use_gui" here.

* NoGuiFontMetrics.h: new class for command-line LyX

* NoGuiFontLoader.h: new class for command-line LyX

* Application.C:
  - theFontMetrics(): returns the above dummy FontMetrics when use_gui is false.
  - theFontLoader(): returns the above dummy FontLoader when use_gui is false.



git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15339 a592a061-630c-0410-9148-cb99ea01b6c8
2006-10-15 21:47:29 +00:00
Abdelrazak Younes
d0463cf006 Fix command-line export
* MathFactory.C:
  - initMath(): revert change from r15327 because initSymbols() is needed for proper math parsing.
  - math_font_available(): return false if lyx::use_gui is false.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15331 a592a061-630c-0410-9148-cb99ea01b6c8
2006-10-14 14:15:06 +00:00
Abdelrazak Younes
dcfd6e5a99 enable buffer-export without loading the GUI.
* lyx_main.C:
  - parse_export(): set lyx::use_gui to false.

* MathFactory.C:
  - initMath(): initSymbols() only if lyx::use_gui is true.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15327 a592a061-630c-0410-9148-cb99ea01b6c8
2006-10-13 21:27:55 +00:00
Abdelrazak Younes
d37fae169c In order to support multiple LyXView each BufferView needs its own CoordCache. This is what's implemented in this commit.
theCoords is now a thing of the past and all CoordCache accesses are done via BufferView::coordCache() now. I had to modify a number of methods to pass BufferView.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15324 a592a061-630c-0410-9148-cb99ea01b6c8
2006-10-13 16:44:44 +00:00
Georg Baum
79c876d4c3 Convert labels to unicode
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15305 a592a061-630c-0410-9148-cb99ea01b6c8
2006-10-12 10:50:45 +00:00
Georg Baum
34b7650cbb Introduce wide streams. This fixes the remaining problems of plain text
export (e.g. the ToC) and the navigate menu.

	* src/insets/insetbase.h
	(InsetBase::plaintext): output to a docstream
	(InsetBase::textString): ditto

	* src/mathed/TextPainter.h
	(TextPainter::show): ditto

	* src/support/docstream.[Ch] New file and string streams for
	docstring. The file streams convert to UTF8 on the fly.

	* many more files: Adjust to the changes above


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15301 a592a061-630c-0410-9148-cb99ea01b6c8
2006-10-11 19:40:50 +00:00
Abdelrazak Younes
28ad960255 This commit cleans up everything related to singleton. The other important change is that lyx::dispatch() and lyx::getStatus become _the_ official way to use LyXFunc equivalent methods.
* lyxfunc.h:
  - theLyXFunc(): new function in the global namespace.
  - lyx::dispatch():  new function in the lyx namespace.
  - lyx::getStatus():  new function in the lyx namespace.

* bufferlist.h:
  - theBufferList(): new function in the global namespace.

* Clipboard.h:
  - theClipboard(): new function in the global namespace.

* Selection.h:
  - theSelection(): new function in the global namespace.

* FontLoader.h:
  - theFontLoader(): new function in the global namespace.

* FontMetrics.h:
  - theFontMetrics(LyXFont const &): new function in the global namespace.

* Application.C: implements the functions defined above.

* LyXView.h:
  - getLyXFunc(): deleted.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15298 a592a061-630c-0410-9148-cb99ea01b6c8
2006-10-11 17:24:46 +00:00
Jürgen Spitzmüller
05be07de9e Fix bug 2744:
* buffer.[Ch] (changeRefsIfUnique): extend to handle bibitems 
        as well (the function takes a InsetCode argument now);
        clean up by using InsetIterator.

* InsetMathHull.C (doDispatch): changeRefsIfUnique needs a
        InsetCode argument now (bug 2744).

* insetlabel (doDispatch): changeRefsIfUnique needs a
        InsetCode argument now.

* insetbibitem (doDispatch): use changeRefsIfUnique
        (actual fix for bug 2744).

* insetcommand.[Ch]:
* insetcite.[Ch]: implement replaceContents, which is
        used by changeRefsIfUnique.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15289 a592a061-630c-0410-9148-cb99ea01b6c8
2006-10-09 14:21:11 +00:00
Abdelrazak Younes
00edcc582f This commit is a big rework of the FontLoader/FontMetrics interaction. Only Qt4 for now, I would be grateful is somebody steps up for qt3 and gtk.
Basically, I replaced all methods in the font_metrics namespace by a proper virtual interface FontMetrics. The FontLoader is _the_ container for FontMetrics.

This patch should also bring some optimizations in a number of place in the code. This is because we do not need any more to search for the LyXFont at each font_metrics call. In effect, the speed advantage is not as sensible and this is a bit deceiving considering that this was my primary motivation behind the patch. But I like the patch anyway as it cleans up the relation and interfacing between fonts, metrics and frontends.

* frontends/FontMetrics.h: new virtual interface. Renamed from font_metrics.h

* qt4/GuiFontMetrics: corresponding qt4 implememtation. Renamed from qfont_metrics.C. The smallCaps particular case treatment has been transfered here as well as the width cache for MacOSX and Windows.

* qt4/QLPainter.C: the smallCapsText has been reworked to return the width of the drawn text.C

all other files: replace font_metric helper function call with corresponding FontMetrics method calls.



git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15265 a592a061-630c-0410-9148-cb99ea01b6c8
2006-10-07 16:15:06 +00:00
Georg Baum
368f6a53a8 Support lgathered and rgathered math environments
* src/mathed/InsetMathSplit.C
	(InsetMathSplit::validate): Only require amsmath for AMS stuff

	* src/mathed/MathFactory.C
	(createInsetMath): create InsetMathSplit if the latexkey is "split"

	* src/mathed/MathParser.C
	(Parser::parse1): remove "gathered" and "aligned", since these are
	now handled via lib/symbols
	(Parser::parse1): create InsetMathSplit if the latexkey is "split"

	* lib/symbols: Add aligned, gathered, lgathered and rgathered


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15224 a592a061-630c-0410-9148-cb99ea01b6c8
2006-10-03 19:45:43 +00:00
Abdelrazak Younes
205096733a This commit introduces the FontLoader interface class. In the future, I intend to extend it with a proper encapsulation of font metrics.
* frontends/FontLoader.h: new interface class.
* frontends/Application.h: new FontLoader() pure virtual method
* frontends/lyx_gui: update_fonts() and font_available() methods deleted

* [qt3/qt4/gtk]/GuiApplication: implement the new interface

* qt4/GuiFontLoader:
  - renamed from FontLoader
  - now derives from FontLoader
  - now in the lyx::frontend namespace

* qt3/qfont_loader
  - now derives from FontLoader

* gtk/xftFontLoader
  - now derives from FontLoader



git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15220 a592a061-630c-0410-9148-cb99ea01b6c8
2006-10-03 16:17:32 +00:00
Georg Baum
8fb869e7c6 Missing bits of the std::string -> hullType change of InsetMathHull::type_.
Now we write again \begin{align} instead of \begin{4} to .lyx and .tex.
	* src/mathed/InsetMathHull.C
	(InsetMathHull::header_write): write type name, not type_.
	Use switch instead of if for better readability.
	(InsetMathHull::footer_write): ditto
	(InsetMathHull::mutate): write type name, not type_
	(InsetMathHull::normalize): ditto
	(InsetMathHull::infoize): ditto


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15204 a592a061-630c-0410-9148-cb99ea01b6c8
2006-10-03 07:56:27 +00:00
Georg Baum
8a9d0934e9 Parse optional arguments of aligned, gathered and alignedat
* src/mathed/InsetMathSplit.[Ch]
	(InsetMathSplit): Add valignment argument to constructor

	* src/mathed/InsetMathSplit.C
	(InsetMathSplit::write): write vertical alignment if needed

	* src/mathed/MathParser.C
	(Parser::parse1): parse optional arguments of aligned, gathered and
	alignedat


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15202 a592a061-630c-0410-9148-cb99ea01b6c8
2006-10-02 20:01:30 +00:00
Georg Baum
deef368edc Fix bug 2789 (as discussed)
* src/mathed/InsetMathHull.C
	(InsetMathHull::doDispatch): move code for ref insert to InsetMathNest 
	(InsetMathHull::getStatus): move code for ref insert to InsetMathNest

	* src/mathed/InsetMathNest.C
	(InsetMathNest::doDispatch): move code from InsetMathHull here
	(InsetMathNest::getStatus): move code from InsetMathHull here


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15189 a592a061-630c-0410-9148-cb99ea01b6c8
2006-09-30 17:17:31 +00:00
Abdelrazak Younes
ca5411f913 This commit introduces Application_pimpl and cleanup the header includes of the affected .C files.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15182 a592a061-630c-0410-9148-cb99ea01b6c8
2006-09-29 22:06:28 +00:00
Abdelrazak Younes
0da12b129a delete unneeded BufferView.h declaration.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15159 a592a061-630c-0410-9148-cb99ea01b6c8
2006-09-26 21:11:22 +00:00
Abdelrazak Younes
b171e5f150 Free BufferView from LyXView!
* BufferView
  - layoutChanged: new boost signal.
  - LyXView owner(), owner_: deleted

* text3.C
  - emit BufferView::layoutChanged instead of calling LyXView::setLayout directly
  - LFUN_MOUSE_RELEASE: delete LyXView updateMenubar() and updateToolbars() direct calls.
    The update is of both bars is done in WorkArea::dispatch().

* WorkArea.C
  - dispatch(): add LyXView updateMenubar() call.

* LyXView
  - connects to BufferView::layoutChanged directly to Toolbars::setLayout()
  - setLayout(): deleted.

* qt4/GuiImplementation: modify BufferView construction (without LyXView).

All other files: cleanup header declaration of LyXView.h


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15153 a592a061-630c-0410-9148-cb99ea01b6c8
2006-09-26 10:06:46 +00:00
Abdelrazak Younes
12a82dd4f2 This commit replaces BufferView->LyXView->Gui->[selection,clipboard] with theApp->[selection,clipboard]
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15125 a592a061-630c-0410-9148-cb99ea01b6c8
2006-09-22 15:02:41 +00:00
Abdelrazak Younes
480b4f4fdc This commit replaces BufferView->LyXView->getLyXFunc() with theApp->lyxFunc() and BufferView->LyXView->dispatch() with theApp->lyxFunc().dispatch().
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15121 a592a061-630c-0410-9148-cb99ea01b6c8
2006-09-22 14:26:06 +00:00
Abdelrazak Younes
311ac9b192 This is the continuation of my BufferView/LyXView cleanup. This commit replaces BufferView->LyXView->getDialogs().[show(), update()] with BufferView signal emissions.
The associated WorkArea is then responsible to connect these signals to its LyXView parent.

* BufferView:
  - showDialog, showDialogWithData, showInsetDialog: new boost signals

* LyXView:
  - connectBufferView(), disconnectBufferView(): new method in charge of the connection/disconnection of the above signal to associate private methods (showDialog(), etc).

* WorkArea
  - setBufferView(): will connect/disconnect the BufferView to its LyXView parent.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15068 a592a061-630c-0410-9148-cb99ea01b6c8
2006-09-19 13:36:20 +00:00
Abdelrazak Younes
1a786c8e17 * Transfer Intl member from LyXView to BufferView.
* delete unused offset_ref() method.




git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15030 a592a061-630c-0410-9148-cb99ea01b6c8
2006-09-17 10:03:00 +00:00
André Pönitz
3537aa7448 cleanup after svn hang-up, #undef CursorShape. Should be compilable ganin now.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15029 a592a061-630c-0410-9148-cb99ea01b6c8
2006-09-17 10:00:15 +00:00
Abdelrazak Younes
14dff4fcb0 compilation fixes
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15028 a592a061-630c-0410-9148-cb99ea01b6c8
2006-09-17 09:55:13 +00:00
André Pönitz
e89625ef28 rename mathed/math_xinset into mathed/InsetMathX
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15026 a592a061-630c-0410-9148-cb99ea01b6c8
2006-09-17 09:14:18 +00:00
André Pönitz
2805c29734 rename Math*Inset into InsetMath*
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15023 a592a061-630c-0410-9148-cb99ea01b6c8
2006-09-16 18:11:38 +00:00
Abdelrazak Younes
a6444784dc A bunch of conversion to docstring.
- bformat(): contributed by Georg Beaum
- Alert::XXX
- error(): in SpellBase, ispell, psell, aspell, buffer, etc.
- message(), message signal
- displayMessage(), setMessage,
- ErrorItems
- prettyName()
- makeDisplayPath()

and maybe some more...


- etc... 

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@14970 a592a061-630c-0410-9148-cb99ea01b6c8
2006-09-11 08:54:10 +00:00
Lars Gullik Bjønnes
edd81011ce Change editMessage to return a docstring, change functions to not use to_utf8.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@14953 a592a061-630c-0410-9148-cb99ea01b6c8
2006-09-09 18:52:00 +00:00
Lars Gullik Bjønnes
43b77ba2d7 Change _() to return a docstring. Fixup callers with the help of lyx::to_utf8.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@14952 a592a061-630c-0410-9148-cb99ea01b6c8
2006-09-09 15:27:44 +00:00
Jean-Marc Lasgouttes
45808381d0 Fix bug 2251 (from G Baum)
* src/mathed/math_hullinset.h (displayMargin): new static method.
	* src/mathed/math_hullinset.C (metrics): use displayMargin().

	* src/text2.C (cursorUp, cursorDown): use MathHullInset::displayMargin.



git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@14939 a592a061-630c-0410-9148-cb99ea01b6c8
2006-09-08 13:52:41 +00:00
André Pönitz
3663e1161a use enums instead of strings to distinguish different types of math hull
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@14882 a592a061-630c-0410-9148-cb99ea01b6c8
2006-09-03 16:14:51 +00:00
Abdelrazak Younes
35ec954df8 This fixes the crash when PageDown scrolling UserGuide.lyx
* MathMacroTemplate::prefix(): now return docstring.



git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@14876 a592a061-630c-0410-9148-cb99ea01b6c8
2006-09-03 11:54:17 +00:00
Georg Baum
e33bac93cd Fix clipboard/selection encoding
* src/frontends/qt[34]/qt_helpers.[Ch]
	(toqstr): add variant for docstring
	(qstring_to_ucs4): Use docstring and port from qt4 to qt3

	* Many other files: Many std::string -> lyx::docstring conversions

	* src/support/lstrings.[Ch]
	(subst): Add variant for docstring and char_type
	(externalLineEnding): std::string -> lyx::docstring
	(internalLineEnding): std::string -> lyx::docstring


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@14871 a592a061-630c-0410-9148-cb99ea01b6c8
2006-09-03 07:02:38 +00:00
Bo Peng
6d23395dc7 Improve Computer Algebra System, from Enrico Forestieri <forenr@tlc.unipr.it>
* src/mathed/math_symbolinset.C
	(void MathSymbolInset::maxima):
	       - newer maxima versions use inf instead of INF
	       - add support for greek pi

	(void MathSymbolInset::mathematica):
	       - add support for \cdot

	* src/mathed/math_stringinset.h
	       - account for the const version of asStringInset()

	* src/mathed/math_extern.C
	(bool extractScript):
	       - added bool superscript to formal parameters in order
	         to only extract superscripts

	(MathArray::iterator extractArgument):
	       - leave out delimiters and a possible superscript
	         for function arguments

	(bool isKnownFunction):
	(bool extractFunctionName):
	       - recognize standard and user defined function names

	(void splitScripts):
	       - correctly split scripts as expected by other functions

	(MathAtom replaceDelims):
	       - ranamed as replaceParenDelims

	(bool testOpenBracket):
	(bool testCloseBracket):
	       - test for "[" and "]", respectively

	(MathAtom replaceBracketDelims):
	       - replace something delimited by "[" and "]" with a
	         proper DelimInset

	(void extractDelims):
	       - create a DelimInset for "[" and "]" delimiters, too

	(void extractFunctions):
	       - improved recognition of function names

	(bool testTermDelimiter):
	       - test for '+' or '-' as term delimiters

	(MathArray::iterator extractTerm):
	       - extract a "term", i.e., something delimited by '+' or '-'

	(bool testDiffItem):
	       - improved recognition of a "differential fraction"

	(void extractDiff):
	       - call splitScripts() on numerator and denominator of a
	         differential fraction before analyzing them

	(void extractLims):
	       - improved recognition of a limit function

	(void extractStructure):
	       - reorganized order of searches

	(MathArray pipeThroughMaxima):
	       - newer versions of maxima use simpsum instead of SIMPSUM

	(string fromMathematicaName):
	       - translates from mathematica names

	(MathArray pipeThroughMathematica):
	       - calls mathematica and collects its output

	(MathArray pipeThroughExtern):
	       - add support for mathematica

	* src/mathed/math_numberinset.C
	* src/mathed/math_numberinset.h
	(void MathNumberInset::mathematica):
	       - add support for mathematica

	* src/mathed/math_matrixinset.C
	* src/mathed/math_matrixinset.h
	(void MathMatrixInset::mathematica):
	       - add support for mathematica

	* src/mathed/math_diffinset.C
	* src/mathed/math_diffinset.h
	(void MathDiffInset::maxima):
	       - add support for maxima

	(void MathDiffInset::mathematica):
	       - mathematica uses "D" and not "Dt" for normal derivatives

	* src/mathed/math_liminset.C
	* src/mathed/math_liminset.h
	(void MathLimInset::maxima):
	       - add support for maxima

	(void MathLimInset::mathematica):
	       - mathematica uses "Limit" and not "Lim" for limits

	* src/mathed/math_exfuncinset.C
	(string asMathematicaName):
	       - added some more function names


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@14865 a592a061-630c-0410-9148-cb99ea01b6c8
2006-09-02 01:57:36 +00:00
Georg Baum
1fc0c01877 convert lfun arguments to docstring
* src/support/docstring.[Ch]
	(from_ascii): new conversion function
	(from_utf8): new conversion function
	(to_utf8): new conversion function
	(operator==) new, compare docstring and ASCII C string
	(operator!=) new, compare docstring and ASCII C string

	* src/support/Makefile.am: add new file docstring.C

	* development/scons/scons_manifest.py: ditto

	* src/funcrequest.[Ch]
	(argument): change name to argument_ and type to docstring,
	add an accessor
	(FuncRequest): Add two new constructors taking a docstring argument

	* all other files: adjust to the FuncRequest changes above


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@14861 a592a061-630c-0410-9148-cb99ea01b6c8
2006-09-01 15:41:38 +00:00
Jean-Marc Lasgouttes
b4d20b81af Handle properly script insets which nucleus has more than one
element (like {a'}^{2}). (froward port from 14802)

	* src/mathed/math_nestinset.C (script): when creating a script
	inset, handle specially previous atom if it is a MathBraceInset
	(this is used in interactive input).

	* src/mathed/math_parser.C (parse1): when creating a script inset,
	handle specially previous atom if it is a MathBraceInset (this is
	used in parsing phase).

	* src/mathed/math_scriptinset.C (write): put nucleus into braces
	if it contains more than one element or is itself a script inset.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@14819 a592a061-630c-0410-9148-cb99ea01b6c8
2006-08-23 10:57:49 +00:00
Michael Schmitt
b124158c34 drop linuxdoc support (part 3)
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@14818 a592a061-630c-0410-9148-cb99ea01b6c8
2006-08-23 10:57:45 +00:00
Jean-Marc Lasgouttes
c9b50bc70e * math_nestinset.C (lfunMousePress): on button 2 press, paste
inner LyX selection if it exists (bug 2779).


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@14812 a592a061-630c-0410-9148-cb99ea01b6c8
2006-08-22 13:58:09 +00:00
Jean-Marc Lasgouttes
020a793ef9 Fix crash when cursor is in an empty script and the user clicks
in the text.

	* src/insets/insetbase.h (notifyCursorLeaves): return a bool
	indicating whether cursor is invalidated.

	* src/mathed/math_nestinset.C (notifyCursorLeaves): 
	* src/mathed/math_hullinset.C (notifyCursorLeaves): adapt to
	prototype change.

	* src/mathed/math_scriptinset.[Ch] (notifyCursorLeaves): return
	true when an inset has been deleted.

	* src/BufferView.C (mouseSetCursor): do not call dEPM when cursor
	is invalidated by notifyCursorLeaves.



git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@14796 a592a061-630c-0410-9148-cb99ea01b6c8
2006-08-17 21:32:04 +00:00
Jean-Marc Lasgouttes
4d55c8b288 Fix bug 2727.
* math_scriptinset.C (notifyCursorLeaves): call recordUndoInset
	before deleting a cell; if the nucleus does not have scripts
	anymore, delete it and replace it by its contents at enclosing
	level. 
	(write): output scripts even when they are empry.




git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@14793 a592a061-630c-0410-9148-cb99ea01b6c8
2006-08-17 21:07:24 +00:00
Jean-Marc Lasgouttes
f46a3db4d8 fix bad debug messages
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@14784 a592a061-630c-0410-9148-cb99ea01b6c8
2006-08-17 13:23:08 +00:00
Lars Gullik Bjønnes
c46b7d8955 Merge the unicode branch into trunk.
- src/support/unicode.[Ch]: new files with functions for converting
  to and fro ucs4, ucs2 and utf8.
- src/support/docstring.h: specialization of basic_string that
  holds a uint32_t internally.
- Several functions changed to use char_type instead of char or unsigned char.
- Qt3 and Qt4 sends ucs2 on to core
- Gtk sends ucs4 on to core
- Read and write utf-8 .lyx files.
- font_metrics and painter updated to handle ucs4 chars as input.
- Quite a bit of ugly compability code, conversion string->docstring, etc.
- Have fun...


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@14661 a592a061-630c-0410-9148-cb99ea01b6c8
2006-08-13 22:54:59 +00:00
Jean-Marc Lasgouttes
9c7696c6ee Fix bug 2756:
* src/BufferView_pimpl.C (dispatch/LFUN_NEXT_INSET_TOGGLE): moved from
	LyXText.

	* src/text3.C (dispatch/LFUN_NEXT_INSET_TOGGLE): moved to
	BufferView::Pimpl, since this should work in mathed too.

	* src/mathed/math_nestinset.C (doDispatch/LFUN_INSET_TOGGLE): do not try to
	do the work which belongs to LFUN_NEXT_INSET_TOGGLE (bug 2756).



git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@14617 a592a061-630c-0410-9148-cb99ea01b6c8
2006-08-11 21:41:56 +00:00
Jean-Marc Lasgouttes
8bbbfcc056 yet another annoying debug message bites the dust
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@14586 a592a061-630c-0410-9148-cb99ea01b6c8
2006-08-08 22:17:13 +00:00
Jean-Marc Lasgouttes
5e0c737a3b * src/mathed/math_scriptinset.C
(MathScriptInset::hasLimits): remove annoying debug message

	* src/mathed/math_nestinset.C
	(MathNestInset::script): ditto

	* src/CutAndPaste.C
	(copySelection): ditto


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@14583 a592a061-630c-0410-9148-cb99ea01b6c8
2006-08-08 21:55:41 +00:00
Georg Baum
096a05206a shut up compiler warning message
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@14529 a592a061-630c-0410-9148-cb99ea01b6c8
2006-07-31 17:44:50 +00:00
Georg Baum
117c98c416 Fix read in of \over (related to bug 2481)
* src/mathed/math_factory.C
        (createMathInset): Create a MathFracInset of kind OVER for \over

        * src/mathed/math_fracinset.C
        (MathFracInset::draw): handle kind OVER
        (MathFracInset::drawT): ditto
        (MathFracInset::write): ditto
        (MathFracInset::name): ditto
        (MathFracInset::extraBraces): ditto

        * src/mathed/math_fracinset.h
        (Kind): New kind OVER


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@14487 a592a061-630c-0410-9148-cb99ea01b6c8
2006-07-19 10:50:18 +00:00
Georg Baum
921f1144cc Fix bug 2481
* src/mathed/math_fracinset.[Ch]
	(MathFracInset::extraBraces): new, return true for \atop
	* src/mathed/math_binominset.[Ch]
	(MathBinomInset::extraBraces): new, return true for \choose


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@14470 a592a061-630c-0410-9148-cb99ea01b6c8
2006-07-16 17:19:05 +00:00
Michael Schmitt
bc1582b0b1 remove LFUN_INSET_DIALOG_SHOW
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@14450 a592a061-630c-0410-9148-cb99ea01b6c8
2006-07-14 08:11:23 +00:00
Georg Baum
c9c6ed0b7f Split clipboard and X selection
* src/LyXAction.C
	(LyXAction::init): handle new LFUN_CLIPBOARD_PASTE

	* src/insets/insettabular.C
	(InsetTabular::doDispatch): ditto

	* src/insets/insetbox.C
	(InsetBox::doDispatch): ditto

	* src/insets/insetert.C
	(InsetERT::doDispatch): ditto
	(InsetERT::getStatus): ditto

	* src/insets/insetcharstyle.C
	(InsetCharStyle::doDispatch): ditto

	* src/BufferView_pimpl.C
	(BufferView::Pimpl::selectionRequest): stuff selection, not clipboard

	* src/mathed/math_nestinset.C
	(MathNestInset::lfunMousePress): get stuff selection, not clipboard
	(MathNestInset::lfunMouseRelease): clipboard -> selection in
	commented code

	* src/CutAndPaste.C
	(cutSelection): ditto

	* src/frontends/{qt3,gtk}/GuiImplementation.C
	(GuiImplementation::newWorkArea): create new selection, not clipboard,
	since the clipboard is now an object
	(GuiImplementation::destroyWorkArea): destroy selection, not clipboard

	* src/frontends/{qt4,qt3,gtk}/GuiSelection.h: new, copied from
	GuiClipboard.h

	* src/frontends/{qt4,qt3,gtk}/GuiSelection.C: new, copied from
	GuiClipboard.C

	* src/frontends/{qt3,gtk}/GuiImplementation.h
	(selection): new accessor for selection_
	(selection_): new, the global selection object

	* src/frontends/{qt4,qt3,gtk}/Makefile.am: add GuiSelection.C and
	GuiSelection.h

	* src/frontends/{qt4,qt3,gtk}/GuiClipboard.C
	(GuiClipboard::get): return clipboard, not selection
	(GuiClipboard::put): stuff clipboard, not selection

	* src/frontends/{qt4,qt3,gtk}/GuiClipboard.h
	(haveSelection): remove (this is now in GuiSelection)

	* src/frontends/{qt3,gtk}/GuiClipboard.h
	(old_work_area_): remove, since it is not needed anymore

	* src/frontends/gtk/ghelpers.C
	(getGTKStockIcon): handle LFUN_CLIPBOARD_PASTE

	* src/frontends/Clipboard.h
	(haveSelection): remove (this is now in Selection)

	* src/frontends/qt4/GuiImplementation.[Ch]
	(GuiImplementation::selection): new accessor for selection_

	* src/frontends/Gui.h
	(selection): New accessor for the global selection object

	* src/frontends/Selection.h; new, copied from Clipboard.h

	* src/frontends/Makefile.am: add Selection.h

	* src/text3.C
	(various): s/clipboard().haveSelection/selection().haveSelection/

	(LyXText::dispatch): handle LFUN_CLIPBOARD_PASTE
	(LyXText::getStatus): ditto

	* src/lfuns.h: new lfun LFUN_CLIPBOARD_PASTE

	* lib/ui/stdmenus.ui: add new lfun LFUN_CLIPBOARD_PASTE


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@14408 a592a061-630c-0410-9148-cb99ea01b6c8
2006-07-10 11:32:25 +00:00
Abdelrazak Younes
6dd6b5b22a initialize member variables: width_, scriptable_
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@14401 a592a061-630c-0410-9148-cb99ea01b6c8
2006-07-09 16:35:20 +00:00
Lars Gullik Bjønnes
1afb2a6b05 Remove quite a few compiler warnings:
- Change unsigned -> signed
	- Change signed -> unsigned
        - Add a cast or two (really few of those)
	- Remove/comment out unused variables
	- Comment out unused arguments
	- Add missing cases to switches.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@14344 a592a061-630c-0410-9148-cb99ea01b6c8
2006-07-06 08:18:51 +00:00
Lars Gullik Bjønnes
fb97c0689b First part of r14315 from the younes branch:
* BufferView and BufferView::pimpl:
   		- getClipboard, stuffClipboard, haveSelection: deleted

	* CutAndPaste.C: use BufferView::owner()->gui().clipboard()
	* insettabular.C: ditto
	* math_nestinset.C: ditto
	* text3.C: ditto


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@14323 a592a061-630c-0410-9148-cb99ea01b6c8
2006-07-03 20:19:33 +00:00
Georg Baum
254b3cf67c Fix limit display of intop and ointop
* src/mathed/math_scriptinset.C
	(MathScriptInset::hasLimits): handle \intop and \ointop

	* lib/symbols: add intop and ointop


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@14225 a592a061-630c-0410-9148-cb99ea01b6c8
2006-06-26 15:01:35 +00:00
Georg Baum
331e78d3e0 revert last accidental commit and do the intended one
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@14186 a592a061-630c-0410-9148-cb99ea01b6c8
2006-06-23 14:20:49 +00:00
Georg Baum
390ea4eb24 * src/mathed/math_gridinset.C
(doDispatch): fix off by one error when checking cur.idx() (bug 2655)


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@14185 a592a061-630c-0410-9148-cb99ea01b6c8
2006-06-23 14:17:14 +00:00