Commit Graph

124 Commits

Author SHA1 Message Date
Abdelrazak Younes
6cdf6bd6ab Support full screen in BufferView
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@22899 a592a061-630c-0410-9148-cb99ea01b6c8
2008-02-09 17:20:23 +00:00
André Pönitz
225bf49cf9 some refactoring.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@22890 a592a061-630c-0410-9148-cb99ea01b6c8
2008-02-09 10:41:49 +00:00
Stefan Schimanski
fae0a30802 * first check if empty, then set the pit. Otherwise we have a segfault before the assert
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@22808 a592a061-630c-0410-9148-cb99ea01b6c8
2008-02-06 11:26:46 +00:00
Stefan Schimanski
08d9375572 * There are cases where updateLabels is not called because no
paragraph relayout happens (e.g. when inserting a InsetBranch, the
InsetText inside was not processed by any updateLabels call), and
hence the macrocontext is not always set. This should not happen often
in fact. So we update the labels in that case explicitely when we see
an empty macrocontext.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@22807 a592a061-630c-0410-9148-cb99ea01b6c8
2008-02-06 11:21:42 +00:00
Bo Peng
4f16565f2e Improve cursor movement around lines ending with break-lines
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@22742 a592a061-630c-0410-9148-cb99ea01b6c8
2008-02-01 17:29:31 +00:00
Abdelrazak Younes
f643441cf2 Better fix than revision 22553. Transfer the backup to RowPainter::paintInset().
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@22554 a592a061-630c-0410-9148-cb99ea01b6c8
2008-01-14 16:24:01 +00:00
Abdelrazak Younes
cb83883583 TextMetrics::drawParagraph(): Fix drawing bug reported by Richard by backing up the full repaint flag.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@22553 a592a061-630c-0410-9148-cb99ea01b6c8
2008-01-14 16:15:40 +00:00
André Pönitz
e69b723bf9 There was a bit too much copying of dociterators gpoing on leading to an
avoidable ~5% overhead when loading the UserGuide. This is an attempt on
rectifying the situation.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@22532 a592a061-630c-0410-9148-cb99ea01b6c8
2008-01-12 21:38:51 +00:00
Stefan Schimanski
36dbec4506 * Lazy MathData to avoid unneeded interpretation of macro definitions
* DocIterator as MacroPosition
* Iterative search for macro in scope until a visible one is found.
This include the ability to resolve macro inside nested text insets.
* Speed up macro lookups by factor 2: only getMacro(name) call, no
further hasMacro(name) call before
* Both way child/master support
* Correct macro scope for multi-paragraph environments
* Correct macro scope for multi-depth-paragraphs
* Buffer::updateMacros made const
* Update macros when loaded (of master and child)
* Do not remove too many braces when unfolding a macro. This could
lead to a data loss because the relationship between arguments of
macros can be mixed up if nested macros are unfold at once.
* Reduce dependencies to MetricsInfo in MathMacro   
* Update macros when needed. Normally it's done just before doing
metrics. But in cases without a brace around some constructs (like
\left(bla\right)) there is some help needed.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@22241 a592a061-630c-0410-9148-cb99ea01b6c8
2007-12-21 20:42:46 +00:00
Abdelrazak Younes
cb2538a52e correctly position new paragraph on up and down movement.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@22220 a592a061-630c-0410-9148-cb99ea01b6c8
2007-12-21 07:16:50 +00:00
Abdelrazak Younes
9abb7db468 getting rid of superfluous std:: statements.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@22104 a592a061-630c-0410-9148-cb99ea01b6c8
2007-12-12 19:28:07 +00:00
Abdelrazak Younes
9383f4c3c6 'using namespace std' instead of 'using std::xxx'
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@22097 a592a061-630c-0410-9148-cb99ea01b6c8
2007-12-12 10:16:00 +00:00
Abdelrazak Younes
2356bc13ee Partly revert r21987 which caused alignment problems.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@22004 a592a061-630c-0410-9148-cb99ea01b6c8
2007-12-07 21:57:56 +00:00
Abdelrazak Younes
6fef639091 * InsetHFill: small drawing tweaks and fix the cursor positionning and selection of the inset.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@21988 a592a061-630c-0410-9148-cb99ea01b6c8
2007-12-06 08:51:56 +00:00
Abdelrazak Younes
eb96d94ce7 Code simplification. We don't need to memorize the current Row hfill anymore.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@21987 a592a061-630c-0410-9148-cb99ea01b6c8
2007-12-06 08:39:42 +00:00
Abdelrazak Younes
920c3c3e36 InsetHFill drawing: some other tweaks. There's still a problem with cursor positionning and selection when the hfill is not expanded.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@21985 a592a061-630c-0410-9148-cb99ea01b6c8
2007-12-05 23:10:11 +00:00
Abdelrazak Younes
9536a8a651 InsetHFill drawing: some tweaks.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@21984 a592a061-630c-0410-9148-cb99ea01b6c8
2007-12-05 22:47:14 +00:00
Abdelrazak Younes
55a9524e99 Cleanup Hfill metrics and painting. InsetHFill is now treated almost like any other inset.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@21980 a592a061-630c-0410-9148-cb99ea01b6c8
2007-12-05 22:25:07 +00:00
André Pönitz
2506e0d643 assimilate BOOST_CURRENT_FUNCTION
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@21867 a592a061-630c-0410-9148-cb99ea01b6c8
2007-11-29 21:10:35 +00:00
André Pönitz
9d0ea8aeff Move debug.{cpp,h}, Messages.{cpp,h} and gettext.{cpp,h} to support/.
Now support/* should have no dependencies on src/* anymore.



git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@21851 a592a061-630c-0410-9148-cb99ea01b6c8
2007-11-29 07:04:28 +00:00
André Pönitz
150cf11651 hand-crafted LyXErr
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@21849 a592a061-630c-0410-9148-cb99ea01b6c8
2007-11-28 22:12:03 +00:00
Abdelrazak Younes
de8ce17784 * TextMetrics::getPitNearY(): Fix crash when navigating with up and down arrow keys. The problem was that the passed y coordinates was not necessarily out of screen. Also the paragraph position was not correctly updated.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@21798 a592a061-630c-0410-9148-cb99ea01b6c8
2007-11-26 15:29:54 +00:00
Abdelrazak Younes
14dbb6ca3d correct comment. Thanks Martin.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@21678 a592a061-630c-0410-9148-cb99ea01b6c8
2007-11-19 14:13:06 +00:00
Abdelrazak Younes
926abae753 Simplify single par drawing:
* ParagraphMetrics::computeRowSignature(): Integrate row's dimensions and selection status in the row signature.
* TextMetrics::drawParagraph(): compute the row signature here and rely on that to decide if a redraw is needed or not.
* BufferView::Private: get rid of the ViewMetricsInfo member. Just keep the ScreenUpdateStrategy.
* BufferView::draw(): full screen update even for singlePar case because the row signature will detect if something needs to be redrawn.
* Text3.cpp: get rid of hack following architecture update.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@21650 a592a061-630c-0410-9148-cb99ea01b6c8
2007-11-17 11:27:03 +00:00
Abdelrazak Younes
fd34bd3914 Cosmetics and cleanup.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@21649 a592a061-630c-0410-9148-cb99ea01b6c8
2007-11-16 23:00:57 +00:00
Abdelrazak Younes
7a4c9a258e row selection tweaks.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@21648 a592a061-630c-0410-9148-cb99ea01b6c8
2007-11-16 22:52:15 +00:00
André Pönitz
e1ce2f92db reduce line noise
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@21631 a592a061-630c-0410-9148-cb99ea01b6c8
2007-11-15 20:04:51 +00:00
Abdelrazak Younes
8c1f803b83 simplify text selection drawing.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@21628 a592a061-630c-0410-9148-cb99ea01b6c8
2007-11-15 17:01:38 +00:00
Abdelrazak Younes
cdf1378200 Introducing TextClassPtr.h to minimize header dependencies.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@21506 a592a061-630c-0410-9148-cb99ea01b6c8
2007-11-07 23:25:08 +00:00
Abdelrazak Younes
0b0c27ef59 * BufferView: Make use of ScreenUpdateStrategy::NoScreenUpdate, avoid a screen redraw when it is not really needed.
* Painter.h: move isDrawingEnabled() to public Area.

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

* InsetTabular::draw(): ditto.

* InsetMathNest::drawSelection(): ditto.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@21471 a592a061-630c-0410-9148-cb99ea01b6c8
2007-11-06 14:07:49 +00:00
André Pönitz
9cca7a0c1a remove unneeded Cursor.h include;
use strfwd 


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@21456 a592a061-630c-0410-9148-cb99ea01b6c8
2007-11-05 22:54:53 +00:00
Dov Feldstern
ddd82f7aa4 Getting rid of LTR bias --- part 3/4
This is a continuation of r21128, r21244


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@21448 a592a061-630c-0410-9148-cb99ea01b6c8
2007-11-05 19:41:16 +00:00
André Pönitz
f8f78fe59d de-tuple-fication; cosmetics
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@21389 a592a061-630c-0410-9148-cb99ea01b6c8
2007-11-02 20:41:04 +00:00
Stefan Schimanski
1231489798 * dynamic macros as described in http://1stein.org/download/dynmacro.pdf
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@21328 a592a061-630c-0410-9148-cb99ea01b6c8
2007-11-01 11:13:07 +00:00
Abdelrazak Younes
c3452835a8 * MetricsInfo::background_color: int -> ColorCode
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@21255 a592a061-630c-0410-9148-cb99ea01b6c8
2007-10-29 10:36:20 +00:00
Abdelrazak Younes
d2bfe05827 Forbid implicit conversion from FontInfo to Font.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@21250 a592a061-630c-0410-9148-cb99ea01b6c8
2007-10-28 23:32:18 +00:00
Abdelrazak Younes
5ddc612b73 Splitup Font in saner bits:
* Font::FontBits -> FontInfo
* Font::FONT_XXX -> all enums transfered to FontEnums.h and renamed to FontXxx

I've replaced Font uses with FontInfo were the language() member was not needed, basically all draw() and metrics methods. There's one problematic cases with InsetQuotes which I solved by taking the Buffer main language.




git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@21240 a592a061-630c-0410-9148-cb99ea01b6c8
2007-10-28 18:51:54 +00:00
Abdelrazak Younes
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
Abdelrazak Younes
6725b2db59 Reduce header dependencies in Paragraph.h
- Move Changes.h out of Paragraph.h
- pimpl the inset list.



git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@21033 a592a061-630c-0410-9148-cb99ea01b6c8
2007-10-18 15:29:51 +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
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
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
André Pönitz
cd72af583f cosmetics
(maily move layout related enums into a header of there own to remov
include dependencies, alos rename a few things)


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@20598 a592a061-630c-0410-9148-cb99ea01b6c8
2007-09-29 20:02:32 +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
André Pönitz
122f32ea29 cosmetics
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@20578 a592a061-630c-0410-9148-cb99ea01b6c8
2007-09-29 09:22:17 +00:00
André Pönitz
f1687373b1 cosmetics
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@20577 a592a061-630c-0410-9148-cb99ea01b6c8
2007-09-29 08:02:37 +00:00
Abdelrazak Younes
aff5bdbc34 * TextMetrics::drawParagraph(): add 'inside' information to '-dbg painting'.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@20561 a592a061-630c-0410-9148-cb99ea01b6c8
2007-09-28 07:44:02 +00:00
Abdelrazak Younes
5e8d4df0a5 Temporarily fix jumpy cursor.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@20526 a592a061-630c-0410-9148-cb99ea01b6c8
2007-09-26 21:27:17 +00:00
Abdelrazak Younes
f93367f9e6 Fix RTL inset painting.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@20449 a592a061-630c-0410-9148-cb99ea01b6c8
2007-09-23 15:35:06 +00:00