Commit Graph

566 Commits

Author SHA1 Message Date
Vincent van Ravesteijn
d9ab7302a6 Fix bug #6193: Crash when navigating away from an empty super/subscript.
I still don't know why it is that bad that this call is made below, but this seems to fix the problem.

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@31758 a592a061-630c-0410-9148-cb99ea01b6c8
2009-10-27 00:11:56 +00:00
Vincent van Ravesteijn
f09a4ac03c Fix bug #6280: Wrong context menu is opened in an auto-opened inset.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@31697 a592a061-630c-0410-9148-cb99ea01b6c8
2009-10-24 00:02:41 +00:00
Abdelrazak Younes
d38ca04ff7 Move Undo::beginUndoGroup() and Undo::endUndoGroup() calls to where they are used and necessary, hopefully.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@31492 a592a061-630c-0410-9148-cb99ea01b6c8
2009-10-03 19:12:21 +00:00
Abdelrazak Younes
da47dc051e Fix gcc4.4 warnings.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@31485 a592a061-630c-0410-9148-cb99ea01b6c8
2009-09-30 13:50:07 +00:00
Abdelrazak Younes
401b223dfb Transfer LFUN_INSET_APPLY from GuiView to BufferView.
The list of dialog edited inset is now stored in BufferView.

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@31472 a592a061-630c-0410-9148-cb99ea01b6c8
2009-09-27 10:29:13 +00:00
Abdelrazak Younes
e80a46ba4f Transfer LFUN_CITATION_INSERT to BufferView
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@31469 a592a061-630c-0410-9148-cb99ea01b6c8
2009-09-26 17:30:29 +00:00
Abdelrazak Younes
09f96833bf Transfer LFUN_DIALOG_SHOW_NEW_INSET to BufferView and put InsetCommand related code to new function decodeInsetParam() in InsetCommand.cpp.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@31468 a592a061-630c-0410-9148-cb99ea01b6c8
2009-09-26 17:19:18 +00:00
Abdelrazak Younes
66dc054c6f * Transfer LFUN_SERVER_GOTO_FILE_ROW to GuiView and clean it up a bit.
* Add a recenter() call to BufferView::setCursorFromRow() in order to get the screen centered around the found position.



git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@31455 a592a061-630c-0410-9148-cb99ea01b6c8
2009-09-23 13:45:58 +00:00
Abdelrazak Younes
6e800efcaf Transfer special getStatus() code from LyXFunc to BufferView, GuiView and GuiApplication.
I tested this on Windows and Linux/X11 but not on Mac so...



git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@31451 a592a061-630c-0410-9148-cb99ea01b6c8
2009-09-23 09:07:24 +00:00
Abdelrazak Younes
d5d3ccc0fa Introduce a new LyXAction property 'NoInternal' to take care of LFUNs that should not be applied to internal Buffers and use that in BufferView.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@31433 a592a061-630c-0410-9148-cb99ea01b6c8
2009-09-21 12:36:22 +00:00
Abdelrazak Younes
0edc2c8637 Fix crash with LFUN_PARAGRAPH_GOTO in embedded work area.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@31427 a592a061-630c-0410-9148-cb99ea01b6c8
2009-09-21 08:21:37 +00:00
Abdelrazak Younes
53797b653a Try to dispatch to document BufferView in case dispatch to current BufferView fails. This is needed for the LFUNs introduced in r31412
URL: http://www.lyx.org/trac/changeset/31412




git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@31419 a592a061-630c-0410-9148-cb99ea01b6c8
2009-09-20 21:41:21 +00:00
Abdelrazak Younes
f10a5043a9 Kornel's gcc compil fix.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@31418 a592a061-630c-0410-9148-cb99ea01b6c8
2009-09-20 19:37:26 +00:00
Abdelrazak Younes
16a82d6f97 * Move LFUN_TEXTCLASS_* and LFUN_TEXTCLASS_* to BufferView. This is a bit problematic because we don't check is this is a document BufferView or not for these LFUNs. We probably have to dispatch both to currentBufferView() and, if that fails, to documentBufferView(); same as we do know for current Buffer and document Buffer. Ideally those LFUN should go to Buffer as they operate on the full Buffer and the cursor is only needed either for an Undo record or to restore a cursor position. But we don't know how to do that inside Buffer of course.
* I transferred local function loadLayoutFile() in LyXFunc.cpp to a LayoutFileList::load().

Richard, as I am not into this layout thing, please check that these LFUNs still operate correctly (except from an embedded work area of course).


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@31412 a592a061-630c-0410-9148-cb99ea01b6c8
2009-09-19 20:56:12 +00:00
Abdelrazak Younes
4d7ed2056b move LFUN_BUFFER_PARAMS_APPLY to BufferView. I needed to make LyXFunc::updateLayout() public but this method is misplaced there.
LFUN_BUFFER_PARAMS_APPLY has now a status (disabled if read-only).


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@31411 a592a061-630c-0410-9148-cb99ea01b6c8
2009-09-19 17:56:53 +00:00
Abdelrazak Younes
1d5345289c Move LFUN_KEYMAP_* to BufferView.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@31410 a592a061-630c-0410-9148-cb99ea01b6c8
2009-09-19 16:59:36 +00:00
Vincent van Ravesteijn
d4d8d03153 Move LFUN_WORD_FIND_FORWARD and LFUN_WORD_FIND_BACKWARD to their friends in BufferView.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@31358 a592a061-630c-0410-9148-cb99ea01b6c8
2009-09-09 05:20:30 +00:00
Vincent van Ravesteijn
b67bf24d18 Remove other explicit tests for an internal buffer.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@31356 a592a061-630c-0410-9148-cb99ea01b6c8
2009-09-09 04:58:48 +00:00
Tommaso Cucinotta
9673d23f08 Fix crash when positioning cursor under some conditions, e.g., when finding in the sample documents attached to #6112.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@31339 a592a061-630c-0410-9148-cb99ea01b6c8
2009-09-07 23:58:56 +00:00
Vincent van Ravesteijn
e042119cbe * BufferView.cpp: style.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@31181 a592a061-630c-0410-9148-cb99ea01b6c8
2009-08-21 20:09:15 +00:00
Tommaso Cucinotta
1c2d2f8fa4 Does not allow to enter (trivially) regular expression insets in the document under edit.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@31180 a592a061-630c-0410-9148-cb99ea01b6c8
2009-08-21 18:40:37 +00:00
Uwe Stöhr
503844cb4c BufferView.cpp: for the new Search dialog: paint also the range behind the work area with the same color as the work area
This avoids confusion as discussed in this thread: http://www.mail-archive.com/lyx-devel@lists.lyx.org/msg153997.html
; this patch is from Vincent

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@31136 a592a061-630c-0410-9148-cb99ea01b6c8
2009-08-19 00:10:09 +00:00
Abdelrazak Younes
2b9e44cb01 Move contents of paragraph_funcs.* to Text.h and Text.cpp.
The goal is to simplify the code afterwards.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@30955 a592a061-630c-0410-9148-cb99ea01b6c8
2009-08-09 17:30:41 +00:00
Abdelrazak Younes
f35561d055 Cleanup: Replace a bunch of Cursor arguments with DocIterators.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@30951 a592a061-630c-0410-9148-cb99ea01b6c8
2009-08-09 16:49:41 +00:00
Jean-Marc Lasgouttes
41003ea0eb remove some explicit tests against ERT_CODE; more to come
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@30625 a592a061-630c-0410-9148-cb99ea01b6c8
2009-07-16 10:08:13 +00:00
Pavel Sanda
edb52c37d2 Add LFUN_BRANCH_ADD_INSERT.
http://www.mail-archive.com/lyx-devel@lists.lyx.org/msg152890.html


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@30467 a592a061-630c-0410-9148-cb99ea01b6c8
2009-07-11 09:38:31 +00:00
Jean-Marc Lasgouttes
042c5bf425 Fix bug http://www.lyx.org/trac/ticket/6026
LyX crashes when backward selecting during formula writing

The problem is basically that the anchor is not set (because there is no
selection going on) and BufferView::mouseSetCursor does not handle this.

 * Cursor.cpp (anchor): return immediately when there is no selection.

 * BufferView.cpp (mouseSetCursor): reset anchor before setting cursor



git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@30245 a592a061-630c-0410-9148-cb99ea01b6c8
2009-06-23 14:54:35 +00:00
Vincent van Ravesteijn
9173fe2c5e Fix bug #5944: Scrolling isn't predictable.
The row in editXY is corrected when we're scrolling with PgUp and PgDwn to make sure that the row where the cursor is places, is completely in the view.

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@29752 a592a061-630c-0410-9148-cb99ea01b6c8
2009-05-20 20:28:24 +00:00
Vincent van Ravesteijn
83b1b2c578 Revert unwanted commit (r29683) and some cosmetics.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@29750 a592a061-630c-0410-9148-cb99ea01b6c8
2009-05-20 19:54:29 +00:00
Vincent van Ravesteijn
33c44db749 Fix bug #3706: Mathed builtin/macro expansion not performed when clicking away.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@29688 a592a061-630c-0410-9148-cb99ea01b6c8
2009-05-15 22:49:20 +00:00
Vincent van Ravesteijn
22e8bd3c3e Partial fix for bug #5465. This will enable scrolling down past a very large inset. With this code, LyX will scroll up everytime you try to scroll past the inset, because the cursor is set on the uppermost row.
see:
http://thread.gmane.org/gmane.editors.lyx.devel/118449


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@29683 a592a061-630c-0410-9148-cb99ea01b6c8
2009-05-15 21:24:08 +00:00
Vincent van Ravesteijn
8996be1208 Restore Object.Event order for:
- LFUN_LABEL_COPY_AS_REF,
- LFUN_LABEL_INSERT_AS_REF.

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@29680 a592a061-630c-0410-9148-cb99ea01b6c8
2009-05-15 21:05:19 +00:00
Vincent van Ravesteijn
3c976db90b Fix bug #5948: Copy as reference for equation labels.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@29678 a592a061-630c-0410-9148-cb99ea01b6c8
2009-05-15 20:54:15 +00:00
Vincent van Ravesteijn
4c9fe33c83 * Move handling of LFUN_INSET_SETTINGS to Inset,
* Remove the EDITABLE enum,
* add functions hasSettings() for all insets.

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@29375 a592a061-630c-0410-9148-cb99ea01b6c8
2009-04-22 20:55:13 +00:00
Vincent van Ravesteijn
2d40854a46 Move handling of LFUN_INSET_SETTINGS to Inset.cpp
* Inset
Handle LFUN_INSET_SETTINGS.

* LyXAction
Use the AtPoint command flag.

* BufferView
* Text3
Remove code that handled LFUN_INSET_SETTINGS. The inset/next-inset part is handled by the AtPoint lfun flag. showInsetDialog is called by Inset::doDispatch and getStatus will be handled by all insets themselves.

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@29171 a592a061-630c-0410-9148-cb99ea01b6c8
2009-04-09 23:17:20 +00:00
Vincent van Ravesteijn
81f1aa7597 Where did that go ?
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@29128 a592a061-630c-0410-9148-cb99ea01b6c8
2009-04-06 18:29:19 +00:00
Vincent van Ravesteijn
b9aa501051 Fix LFUN_MARK_TOGGLE, which actually did set the mark in stead of toggling it, remove some duplicated code (clearSelection() already calls resetAnchor()), and do some cosmetics.
(Is LFUN_MARK_TOGGLE actually used by anyone ?)

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@29127 a592a061-630c-0410-9148-cb99ea01b6c8
2009-04-06 18:25:23 +00:00
Richard Heck
4daf7b5dfc The Buffer::dispatch() patch.
This patch enhances the Buffer::dispatch() method to make it a full-fledged
member of the dispatch sequence. The most immediate payoff is that LFUNs that
are handled in Buffer::dispatch() can be used from the command line.

We make better use of the DispatchResult object and return error information 
through it, rather than using return values. (This was JMarc's suggestion.) We 
also introduce a  corresponding Buffer::getStatus() method, and modify 
BufferView::getStatus() to return a flag indicating whether a decision has been 
made, as is already done in some other cases.

Finally, some LFUNs are moved to Buffer::dispatch(), including LFUN_BUFFER_PRINT.



git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@29125 a592a061-630c-0410-9148-cb99ea01b6c8
2009-04-06 12:12:06 +00:00
Vincent van Ravesteijn
58b87df638 Fix bug #2213 (part 4): GuiChanges lacks "Previous Change" button.
Also show the Merge dialog when we are behind the last change.

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@29111 a592a061-630c-0410-9148-cb99ea01b6c8
2009-04-05 19:26:26 +00:00
Vincent van Ravesteijn
03671821d3 Fix bug #2213 (part 1): GuiChanges lacks "Previous Change" button.
Add LFUN_CHANGE_PREVIOUS.

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@29109 a592a061-630c-0410-9148-cb99ea01b6c8
2009-04-05 19:14:37 +00:00
Vincent van Ravesteijn
e207b0250f Make sure that the document is only scrolled to the cursor when the cursor is/was visible before resizing .
Resizing can occur by toggling toolbars (bug 4733), or by creating or closing buffers which causes the tabbar to toggle (e.g. bug 4174, comment 5).



git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@29066 a592a061-630c-0410-9148-cb99ea01b6c8
2009-04-03 21:39:06 +00:00
Jean-Marc Lasgouttes
6c422712e1 Extend the branch-(de)activate functions to work without a parameter. In
this case, when the cursor is on a branch inset (using the AtPoint mechanism)
the branch to which the branch inset belongs will be (de)activated.

This functionality can now be used through the branch inset context menu



git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@28987 a592a061-630c-0410-9148-cb99ea01b6c8
2009-03-31 09:38:07 +00:00
Jean-Marc Lasgouttes
30afece93d Kill next-inset-toggle and expand inset-toggle to provide the same functionality
* src/LyXAction.h: introduce new function attribute AtPoint: this is 
	for lfuns that should first look at cursor postion whether there
	is an inset, before dispatching to container inset.
	* src/LyXAction.cpp: remove LFUN_NEXT_INSET_TOGGLE; 
	mark LFUN_INSET_TOGGLE as AtPoint.
	* src/BufferView.cpp (dispatch, getStatus): remove handling of
	LFUN_NEXT_INSET_TOGGLE.
	* src/LyXFunc.cpp (dispatch, getStatus): handle functions marked 
	AtPoint.	
	* lib/*/*: replace next-inset-toggle with inset-toggle.



git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@28980 a592a061-630c-0410-9148-cb99ea01b6c8
2009-03-30 13:49:52 +00:00
Vincent van Ravesteijn
7ad28349ab Fix bug 4935: Scroll down below document
http://bugzilla.lyx.org/show_bug.cgi?id=4935

* GuiPrefs: Add an option to the Editing dialog.

* BufferView: Scroll below document if the option is set.

* LyXRC: Write/read the option from preferences file.

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@28947 a592a061-630c-0410-9148-cb99ea01b6c8
2009-03-27 17:41:58 +00:00
Vincent van Ravesteijn
1bbcd403fc Fix bug 4733: Auto popup of math toolbar hides the math editor
http://bugzilla.lyx.org/show_bug.cgi?id=4733

* GuiWorkArea: This adds "buffer_view_->scrollToCursor();" to GuiWorkArea::resizeBufferView() to make sure that the cursor remains visible. 

* BufferView: Make sure that we can call the scrollToCursor function without causing a new repaint.

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@28946 a592a061-630c-0410-9148-cb99ea01b6c8
2009-03-27 17:27:38 +00:00
Vincent van Ravesteijn
d0b6aebd39 Fix r28909: check for texted.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@28927 a592a061-630c-0410-9148-cb99ea01b6c8
2009-03-26 23:08:47 +00:00
Vincent van Ravesteijn
b0d53e3250 Fix bug 5526: screen-recenter LFUN doesn't work
http://bugzilla.lyx.org/show_bug.cgi?id=5526

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@28916 a592a061-630c-0410-9148-cb99ea01b6c8
2009-03-26 00:09:16 +00:00
Vincent van Ravesteijn
7ad10f7403 Fix bug 5434: DEPM not executed for PgUp/PgDown
http://bugzilla.lyx.org/show_bug.cgi?id=5434

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@28909 a592a061-630c-0410-9148-cb99ea01b6c8
2009-03-25 21:00:34 +00:00
Vincent van Ravesteijn
1827aeda46 Fix scrolling regression (http://www.lyx.org/trac/changeset/28397).
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@28730 a592a061-630c-0410-9148-cb99ea01b6c8
2009-03-08 21:23:31 +00:00
Vincent van Ravesteijn
708e38ddb3 Fix bug 5744: http://bugzilla.lyx.org/show_bug.cgi?id=5744.
Crash with completion in mathed.

When deleting an inset, the stored DocIterator might contain a reference to a non-existent Inset and Text. Therefore, if we detect that the depth has changed, we are (for sure) not in the same paragraph, but we should make sure not to ask for the innerParagraph.

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@28596 a592a061-630c-0410-9148-cb99ea01b6c8
2009-02-25 00:39:55 +00:00
Pavel Sanda
e59dbac2ed Introduce jump-back navigation through bookmark 0
http://bugzilla.lyx.org/show_bug.cgi?id=898
http://www.mail-archive.com/lyx-devel@lists.lyx.org/msg147949.html


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@28478 a592a061-630c-0410-9148-cb99ea01b6c8
2009-02-13 13:46:08 +00:00
Pavel Sanda
8044f9e4f3 Cosmetics
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@28469 a592a061-630c-0410-9148-cb99ea01b6c8
2009-02-12 23:46:16 +00:00
Vincent van Ravesteijn
24cd681863 Fix bug 5573. http://bugzilla.lyx.org/show_bug.cgi?id=5573.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@28397 a592a061-630c-0410-9148-cb99ea01b6c8
2009-02-08 12:35:14 +00:00
Uwe Stöhr
b742ff6406 support for the LaTeX commands \*phantom, fileformat change
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@28292 a592a061-630c-0410-9148-cb99ea01b6c8
2009-01-30 00:56:37 +00:00
Vincent van Ravesteijn
7da84afa62 Adjust the comment for r28242.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@28244 a592a061-630c-0410-9148-cb99ea01b6c8
2009-01-18 15:28:25 +00:00
Vincent van Ravesteijn
83f13982fc Avoid crash due to an infinite recursive loop when inset is NULL.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@28242 a592a061-630c-0410-9148-cb99ea01b6c8
2009-01-18 15:21:57 +00:00
Jürgen Spitzmüller
743a29799b * use ulem instead of soul for change tracking
(fixes bugs 5091, 5480, 5647).

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@28114 a592a061-630c-0410-9148-cb99ea01b6c8
2009-01-12 08:01:28 +00:00
Jürgen Spitzmüller
c65ed50ced * BufferView.cpp:
- record undo for LFUN_NEXT_INSET_MODIFY.

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@27891 a592a061-630c-0410-9148-cb99ea01b6c8
2008-12-16 09:04:27 +00:00
Vincent van Ravesteijn
550f1d9ce8 Do not paint an invisible cursor.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@27631 a592a061-630c-0410-9148-cb99ea01b6c8
2008-11-18 23:57:26 +00:00
André Pönitz
6192345f60 add Buffer * member to DocIterator
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@27603 a592a061-630c-0410-9148-cb99ea01b6c8
2008-11-17 11:46:07 +00:00
Stefan Schimanski
412f520892 * "Goto label" in reference dialog works with master and child documents
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@27590 a592a061-630c-0410-9148-cb99ea01b6c8
2008-11-16 21:28:06 +00:00
Stefan Schimanski
19b000287f * compile fix for vc++
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@27578 a592a061-630c-0410-9148-cb99ea01b6c8
2008-11-16 19:25:22 +00:00
Stefan Schimanski
5a10add52e * "Copy as Reference" in the context menu of a label
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@27575 a592a061-630c-0410-9148-cb99ea01b6c8
2008-11-16 19:19:07 +00:00
André Pönitz
f8f5a7b28d move updateLables to buffer
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@27562 a592a061-630c-0410-9148-cb99ea01b6c8
2008-11-16 16:43:49 +00:00
Abdelrazak Younes
4209cbc631 Tommaso patch, part 5, lots of thing to cleanup still but I'll do that afterwards.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@27521 a592a061-630c-0410-9148-cb99ea01b6c8
2008-11-16 00:12:21 +00:00
Stefan Schimanski
e2f312f8f0 * save one redraw on each change of the scrollbar.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@27471 a592a061-630c-0410-9148-cb99ea01b6c8
2008-11-15 18:17:20 +00:00
Stefan Schimanski
481aff5aff * notifyCursorEnters called on insets when the cursor entered
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@27465 a592a061-630c-0410-9148-cb99ea01b6c8
2008-11-15 17:11:01 +00:00
André Pönitz
f1cba8ff64 more latin1..utf8 schanges. all of src/* should be utf8 now
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@27425 a592a061-630c-0410-9148-cb99ea01b6c8
2008-11-14 15:58:50 +00:00
Pavel Sanda
e4808961c9 Another selection painting patch, PainterInfo::backgroundColor introduced.
Patch by Vincent.

http://www.mail-archive.com/lyx-devel@lists.lyx.org/msg145438.html



git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@27097 a592a061-630c-0410-9148-cb99ea01b6c8
2008-10-25 10:47:38 +00:00
Jean-Marc Lasgouttes
754ead5010 Fix bug 5310: http://bugzilla.lyx.org/show_bug.cgi?id=5310
* BufferView.cpp (dispatch): make sure to repaint the document after
	jumping to a new change.
	* lyxfind.cpp (findNextChange): do not ignore the last character when 
	a change extends to the end of an inset.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@27083 a592a061-630c-0410-9148-cb99ea01b6c8
2008-10-24 15:46:44 +00:00
Jean-Marc Lasgouttes
709df05d9f Fix properly bug 5287: http://bugzilla.lyx.org/show_bug.cgi?id=5287
* BufferView.cpp (setCursorFromInset): do not ignore the first inset 
	of the document; revert first tentative patch for this bug.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@26645 a592a061-630c-0410-9148-cb99ea01b6c8
2008-09-30 13:47:16 +00:00
Uwe Stöhr
54d81dd012 BufferView.cpp: fix http://bugzilla.lyx.org/show_bug.cgi?id=5287, patch by Vincent
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@26630 a592a061-630c-0410-9148-cb99ea01b6c8
2008-09-29 22:55:24 +00:00
Pavel Sanda
42693547f7 Find-next fallback to search dialog when no string was entered before.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@26573 a592a061-630c-0410-9148-cb99ea01b6c8
2008-09-26 10:07:10 +00:00
Pavel Sanda
7b1bf23337 Finish the cleanup in graphics.
LFUN_GRAPHICS_GROUPS_UNIFY is not needed anymore.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@26550 a592a061-630c-0410-9148-cb99ea01b6c8
2008-09-25 20:50:33 +00:00
André Pönitz
4c7fdddd74 streamlining setter syntax. using mutable references seems a bit
outlandish compared to the rest of LyX


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@26527 a592a061-630c-0410-9148-cb99ea01b6c8
2008-09-24 21:27:41 +00:00
Jean-Marc Lasgouttes
b0a3273bac BufferView::mouseDispatch: make sure to create an undo group
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@26440 a592a061-630c-0410-9148-cb99ea01b6c8
2008-09-18 13:44:54 +00:00
Jean-Marc Lasgouttes
7b9bfecb2f another recordUndoFullDocument bits the dust
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@26439 a592a061-630c-0410-9148-cb99ea01b6c8
2008-09-18 10:47:28 +00:00
Jean-Marc Lasgouttes
fafc1b1d3d re-implement correctly undo for graphics groups unification
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@26429 a592a061-630c-0410-9148-cb99ea01b6c8
2008-09-17 14:54:37 +00:00
Jean-Marc Lasgouttes
d585528d50 fix properly http://bugzilla.lyx.org/show_bug.cgi?id=2040
* BufferView.cpp (setCursorFromInset): new method, useful to find
	an inset that is known to be in the document.

	* frontends/qt4/GuiView.cpp (dispatch): do a proper recordUndo
	befire appplying changes to an inset. The insets are responsible
	for recording additional undo steps that could be needed.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@26428 a592a061-630c-0410-9148-cb99ea01b6c8
2008-09-17 14:51:27 +00:00
Jean-Marc Lasgouttes
aa67d5eb64 Fix bug 5065: DEPM fails with "cursor follows scrollbar"
http://bugzilla.lyx.org/show_bug.cgi?id=5065

	* BufferView.cpp (setCursorFromScrollbar): makes sure that the mouse is 	set using mouseSetCursor (so that dEPM can trigger). 



git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@26158 a592a061-630c-0410-9148-cb99ea01b6c8
2008-08-14 09:59:04 +00:00
Jean-Marc Lasgouttes
1b2c73c555 * BufferView.cpp (contextMenu): If there is a selection, return the
containing inset menu


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@26157 a592a061-630c-0410-9148-cb99ea01b6c8
2008-08-14 09:45:42 +00:00
Richard Heck
1c71a1019b Revert another unintentional commit.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@25774 a592a061-630c-0410-9148-cb99ea01b6c8
2008-07-21 16:41:29 +00:00
Richard Heck
e4c7a9a677 Fix bug 5075, I hope.
If Trolltech ever fixes this, then we can put an upper bound onto the #if.



git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@25773 a592a061-630c-0410-9148-cb99ea01b6c8
2008-07-21 16:39:46 +00:00
Pavel Sanda
7565a5934f Another debugs for selection engine.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@25737 a592a061-630c-0410-9148-cb99ea01b6c8
2008-07-20 20:16:33 +00:00
Pavel Sanda
f01c52da7d Revert http://www.lyx.org/trac/changeset/25553 and try better fix for bug
http://bugzilla.lyx.org/show_bug.cgi?id=5008



git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@25719 a592a061-630c-0410-9148-cb99ea01b6c8
2008-07-19 18:35:48 +00:00
Richard Heck
e40196edbc Temporary fix for crash due to r24526. Jurgen, please do whatever needs doing.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@25714 a592a061-630c-0410-9148-cb99ea01b6c8
2008-07-19 16:03:04 +00:00
Pavel Sanda
4813fe32bb Add debug message.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@25626 a592a061-630c-0410-9148-cb99ea01b6c8
2008-07-15 00:33:37 +00:00
Abdelrazak Younes
79beb91e3a Sanitize LyX singleton access by getting rid of ref() and cref() methods.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@25597 a592a061-630c-0410-9148-cb99ea01b6c8
2008-07-14 08:35:00 +00:00
Abdelrazak Younes
647ac4a221 safeguards:
- move Previews singleton to LyX
- LyX.cpp: set singleton to zero at destruction.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@25594 a592a061-630c-0410-9148-cb99ea01b6c8
2008-07-14 07:16:00 +00:00
Abdelrazak Younes
29253a74d5 Fix http://bugzilla.lyx.org/show_bug.cgi?id=5023
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@25560 a592a061-630c-0410-9148-cb99ea01b6c8
2008-07-11 09:03:09 +00:00
Pavel Sanda
08165a71bb Fix bug http://bugzilla.lyx.org/show_bug.cgi?id=5008 .
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@25553 a592a061-630c-0410-9148-cb99ea01b6c8
2008-07-10 23:35:12 +00:00
Richard Heck
780bce0f96 Rename empty layout stuff to plain layout stuff.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@25541 a592a061-630c-0410-9148-cb99ea01b6c8
2008-07-10 17:41:52 +00:00
Abdelrazak Younes
979f5211a4 Fix PageDown/Up when at bottom/top of the document. Now the cursor moves to the bottom/top position. This also fixes http://bugzilla.lyx.org/show_bug.cgi?id=4384
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@25441 a592a061-630c-0410-9148-cb99ea01b6c8
2008-07-04 11:33:28 +00:00
Pavel Sanda
78356819ea Move LFUN_ALL_INSETS_TOGGLE dispatch to BufferView.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@25371 a592a061-630c-0410-9148-cb99ea01b6c8
2008-06-24 07:52:49 +00:00
Pavel Sanda
4080b7cc24 Move LFUN_GRAPHICS_GROUPS_UNIFY dispatch to BufferView.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@25370 a592a061-630c-0410-9148-cb99ea01b6c8
2008-06-24 07:43:47 +00:00
Pavel Sanda
397afb607f Move LFUN_NOTES_MUTATE dispatch to BufferView.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@25368 a592a061-630c-0410-9148-cb99ea01b6c8
2008-06-24 07:18:06 +00:00
Abdelrazak Younes
f29a8f54a4 Fix initial cursor visibility problem.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@25322 a592a061-630c-0410-9148-cb99ea01b6c8
2008-06-19 13:10:25 +00:00
Bo Peng
f5101ebec8 InsetInfo: allow select and copy of text inside InsetInfo, trigger the info dialog correctly
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@25151 a592a061-630c-0410-9148-cb99ea01b6c8
2008-06-06 03:25:36 +00:00
Abdelrazak Younes
f276338227 Preliminar InsetInfo dialog. This was done as an exercise to show Bo (an others) how easy it is to create a new dialog. This dialog needs to be filled in, right now, there is just an OK button.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@25144 a592a061-630c-0410-9148-cb99ea01b6c8
2008-06-05 15:08:46 +00:00
Richard Heck
77ed747114 FuncStatus::enabled(bool) --> FuncStatus::setEnabled(bool)
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@24999 a592a061-630c-0410-9148-cb99ea01b6c8
2008-05-29 15:14:00 +00:00
Richard Heck
8921a18a89 Add LFUN_BRANCH_ACTIVATE and LFUN_BRANCH_DEACTIVATE, fixing bug 4341.
These have been added to BufferView::dispatch() and BufferView::getStatus() for now. Shortly, we'll be making wider use of Buffer::dispatch() and introducing Buffer::getStatus() and moving these and some other LFUNs there.



git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@24979 a592a061-630c-0410-9148-cb99ea01b6c8
2008-05-28 16:02:09 +00:00
Abdelrazak Younes
2dfc84a22c More accurate toc navigation (LFUN_PARAGRAPH_GOTO).
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@24798 a592a061-630c-0410-9148-cb99ea01b6c8
2008-05-16 12:48:13 +00:00
Jean-Marc Lasgouttes
d16ca201e6 Fix Settings entry for space insets.
* inset/inset.cpp (doDispatch, getStatus): handle LFUN_INSET_TOGGLE.

	* BufferView.cpp (getStatus): cleanup
	(dispatch): do not call Inset::edit() explicitely.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@24752 a592a061-630c-0410-9148-cb99ea01b6c8
2008-05-13 14:44:53 +00:00
Abdelrazak Younes
3a62e23018 Fix http://bugzilla.lyx.org/show_bug.cgi?id=4821
Allow LFUN_INSET_SETTINGS with enclosing inset if this particular dialog has been explicitely requested.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@24618 a592a061-630c-0410-9148-cb99ea01b6c8
2008-05-05 15:34:10 +00:00
Jean-Marc Lasgouttes
66837f5af5 * BufferView.cpp (getStatus): fix NEXT_INSET(TOGGLE|MODIFY) in order
to make context menus work.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@24560 a592a061-630c-0410-9148-cb99ea01b6c8
2008-04-30 13:03:19 +00:00
Jürgen Spitzmüller
fa2f8d159b * merge LFUN_EDIT_EXTERNAL and LFUN_EDIT_GRAPHICS to one LFUN_EDIT_INSET (bug 3975)
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@24526 a592a061-630c-0410-9148-cb99ea01b6c8
2008-04-27 16:20:12 +00:00
Richard Heck
8a69ffd3bf Complete the removal of the embedding stuff. Maybe. It's hard to be sure we got everything, but this does compile, and it seems to work at least reasonably well. Any problems should of course be reported to the list.
For the record, this developer is sorry that the problems with this code were not noticed much earlier. It's not fun to do so much work and then have it all reverted.



git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@24373 a592a061-630c-0410-9148-cb99ea01b6c8
2008-04-20 03:08:11 +00:00
André Pönitz
b8c086b363 a leak in DocumentClassBundle.
However, I am not really sure we should care about these. It's not much
difference, except that application shutdown in slower after 'fixing'
them.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@24305 a592a061-630c-0410-9148-cb99ea01b6c8
2008-04-16 21:23:45 +00:00
André Pönitz
f227ebb021 style
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@24303 a592a061-630c-0410-9148-cb99ea01b6c8
2008-04-16 20:43:30 +00:00
André Pönitz
bdc6d56cc7 initialize scrollbar parameters to some sensible dummy values.
valgrind reported conditional jumps on uninitialized values
in BufferView.cpp:1920


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@24298 a592a061-630c-0410-9148-cb99ea01b6c8
2008-04-16 18:18:12 +00:00
André Pönitz
7f461f4392 infrastructure for 'graceful asserts'
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@24216 a592a061-630c-0410-9148-cb99ea01b6c8
2008-04-10 21:49:34 +00:00
Richard Heck
2ce335e013 A couple cosmetic changes. Move the unicode problem where it belongs.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@24036 a592a061-630c-0410-9148-cb99ea01b6c8
2008-03-29 14:49:13 +00:00
Pavel Sanda
89a58051e1 Make Richard happy (Find Next via LFUN_WORD_FIND).
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@23983 a592a061-630c-0410-9148-cb99ea01b6c8
2008-03-26 19:20:17 +00:00
Jürgen Spitzmüller
499d2a991d * src/BufferView.cpp:
- reintroduce check for dispatch state

* src/insets/InsetCaption.cpp:
	- disable LFUN_INSET_TOGGLE

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@23929 a592a061-630c-0410-9148-cb99ea01b6c8
2008-03-24 18:22:54 +00:00
Jürgen Spitzmüller
241a8442d7 fix the general collapsable context-menu:
* src/InsetCollapsable.cpp (getStatus):
	- fix the logic

* src/BufferView.cpp:
	- fix next-inset-toggle
	- don't require argument for inset-settings

* lib/stdmenus.inc (context-collapsable):
	- use next-inset-toggle instead of inset-toggle
	- add (optional) inset-settings

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@23928 a592a061-630c-0410-9148-cb99ea01b6c8
2008-03-24 16:33:56 +00:00
Jürgen Spitzmüller
bb51488435 * src/BufferView.cpp:
* src/Text3.cpp:
	- fix LFUN_INSET_SETTINGS so that it also works at cursor position.

* LyXAction.cpp:
	- doxy.

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@23923 a592a061-630c-0410-9148-cb99ea01b6c8
2008-03-24 14:12:19 +00:00
Jürgen Spitzmüller
e1ac6d4118 Some context menu work:
* src/BufferView.cpp:
* src/FuncCode.h:
* src/LyXAction.cpp:
	- new LFUN_NEXT_INSET_MODIFY

* src/insets/InsetBox.{cpp, h}:
* src/insets/InsetCommand.{cpp,h}:
* src/insets/InsetNote.{cpp,h}:
* src/insets/InsetSpace.{cpp,h}:
* src/insets/InsetVSpace.{cpp,h}:
	- implement context menu and access to some changes

* lib/ui/stdmenus.ui:
	- new context menus for Box, Space, VSpace, Note.
	- extend the context menu for InsetRef.

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@23920 a592a061-630c-0410-9148-cb99ea01b6c8
2008-03-24 13:33:48 +00:00
Bo Peng
057dd755f5 Move LFUN_GRAPHICS_EDIT and LFUN_EXTERNAL_EDIT from LyXFunc.cpp to BufferView.cpp so that a valid inset can be retrieved and called upon; add context-menu for InsetGraphics and InsetListings
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@23910 a592a061-630c-0410-9148-cb99ea01b6c8
2008-03-24 04:27:43 +00:00
Richard Heck
f2cd36e8ad Change the signature of forceEmptyLayout(), so that we can pass a cell index with it. We'll need this to get tables right.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@23829 a592a061-630c-0410-9148-cb99ea01b6c8
2008-03-19 16:21:33 +00:00
Bo Peng
6dc7cbe1e7 Continue working on the embedding feature. An additional parameter updateFile is passed to
EmbeddedFile::enable() and EmbeddedFiles::enable() to differentiate different usages.
A member variable bibfiles_ is added to InsetBibtex because it is not efficient to obtain
EmbeddedFileList each time from params()['bibfiles'] and params()['embed'].


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@23576 a592a061-630c-0410-9148-cb99ea01b6c8
2008-03-09 06:05:22 +00:00
Abdelrazak Younes
22aa0137d3 Transfer general edit context menu from BufferView to InsetText.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@23574 a592a061-630c-0410-9148-cb99ea01b6c8
2008-03-08 22:57:22 +00:00
Abdelrazak Younes
5da55588f2 * Buffer::getLabelList(): Speed up and simplify by using the tocBackend.
* Inset and derived class: get rid of getLabelList()
* BufferView::gotoLabel(): Speed up and simplify by using the tocBackend.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@23541 a592a061-630c-0410-9148-cb99ea01b6c8
2008-03-07 19:46:04 +00:00
Abdelrazak Younes
a4d5b78430 Transfer and bug fix LFUN_BUFFER_BEGIN/END_SELECT to BufferView.cpp
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@23512 a592a061-630c-0410-9148-cb99ea01b6c8
2008-03-06 15:39:30 +00:00
Abdelrazak Younes
5a9653203f Fix PageUp/Down select when at the top/bottom of a document.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@23510 a592a061-630c-0410-9148-cb99ea01b6c8
2008-03-06 12:41:38 +00:00
Abdelrazak Younes
2cf1154734 Fix bug http://bugzilla.lyx.org/show_bug.cgi?id=4599
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@23401 a592a061-630c-0410-9148-cb99ea01b6c8
2008-03-02 19:07:15 +00:00
Stefan Schimanski
8c4b08920e * bug fix to only do paragraph redraws, not fullscreen
* avoid an extra redraw due to completion when typing


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@23349 a592a061-630c-0410-9148-cb99ea01b6c8
2008-02-29 09:18:46 +00:00
Richard Heck
d8a6b5bfd0 Remove TextClassPtr without losing the type safety it provided.
See these threads:
http://www.mail-archive.com/lyx-devel@lists.lyx.org/msg136112.html
http://www.mail-archive.com/lyx-devel@lists.lyx.org/msg136062.html
http://www.mail-archive.com/lyx-devel@lists.lyx.org/msg135997.html
for some background.



git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@23299 a592a061-630c-0410-9148-cb99ea01b6c8
2008-02-28 01:42:02 +00:00
André Pönitz
1cca0a86bd API cosmetics
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@23295 a592a061-630c-0410-9148-cb99ea01b6c8
2008-02-27 23:03:26 +00:00
André Pönitz
db8c16d554 progress on buffer-reference-in-insets. beware of instabilities...
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@23289 a592a061-630c-0410-9148-cb99ea01b6c8
2008-02-27 20:43:16 +00:00
Stefan Schimanski
4413bf3783 * Update::SinglePar is enough, Update::Force is a fullscreen update
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@23251 a592a061-630c-0410-9148-cb99ea01b6c8
2008-02-26 14:22:56 +00:00
Richard Heck
0362c6aae7 Andre's s/getTextClass/textClass/ cleanup.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@23190 a592a061-630c-0410-9148-cb99ea01b6c8
2008-02-24 15:06:35 +00:00
Richard Heck
2e7d1199df Revert 23154.
Sorry, Andre, but this broke not only the modules stuff but the general handling of TextClasses. I'm not opposed to doing this sort of thing, but it's going to be a little more complicated. I'll do it when I get a bit of time, or I can explain what the issue is here if you want to do it.

I'll separately re-commit some of the cleanup here.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@23189 a592a061-630c-0410-9148-cb99ea01b6c8
2008-02-24 14:59:23 +00:00
André Pönitz
b306e9a2e1 Replace the text class shared ptr by good old index-into-global-list.
Also a few cosmetical changes where I xould not resist.

Would be nice if the 'modules people' could verify that their baby 
is strill alive... 



git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@23154 a592a061-630c-0410-9148-cb99ea01b6c8
2008-02-23 11:36:15 +00:00
Stefan Schimanski
f2837e7bcb * remove debug output
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@23149 a592a061-630c-0410-9148-cb99ea01b6c8
2008-02-23 03:13:54 +00:00
Stefan Schimanski
8527a08903 * simplify notifyCursorLeaves logic: We now only call it from strategic
places, i.e.
  - BufferView::setMouseCursor,
  - BufferView::mouseEventDispatch
  - LyXFunc::dispatch
  Before it was called from several dispatch handlers in the middle of the
  dispatch process. Because the cursor might get invalidated, this is
  not a good idea. We had plenty of crashes and odd behaviours because
  of this as nobody really understood those cases.

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


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@23140 a592a061-630c-0410-9148-cb99ea01b6c8
2008-02-22 20:45:18 +00:00
Stefan Schimanski
833f0bab52 * minimize redraws during completion
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@23105 a592a061-630c-0410-9148-cb99ea01b6c8
2008-02-21 19:43:16 +00:00
Stefan Schimanski
1bf7b59d60 * completion infrastructure
* completion support for mathed
* experimental completion support for text


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@23104 a592a061-630c-0410-9148-cb99ea01b6c8
2008-02-21 19:42:34 +00:00
Abdelrazak Younes
f27c3fde43 * BufferView::resize() Remove showCursor() call when resizing.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@23085 a592a061-630c-0410-9148-cb99ea01b6c8
2008-02-21 09:23:01 +00:00
Abdelrazak Younes
2a42f56b4e following revert of 23068: Better fix for bug 4044
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@23076 a592a061-630c-0410-9148-cb99ea01b6c8
2008-02-20 14:53:19 +00:00
Abdelrazak Younes
3d3a55386d revert 23068 as this was causing a recursive repaint.
Warning for the future: *no* painting activity should happen inside a paint event.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@23071 a592a061-630c-0410-9148-cb99ea01b6c8
2008-02-20 13:32:03 +00:00
Pavel Sanda
72b270ab4b Improve fullscreen mode (bug 4146).
- added toolbars/tabbar/scrollbar toggling
- added text width control
- added GUI preferences & menu & shortcut

Known problems:
- Outliner in Mac is seeking some Mac devie to fix (see hints here:
  http://www.mail-archive.com/lyx-devel@lists.lyx.org/msg135382.html ) 
- Toolbars visibility is shared between windows (views)
  (needs toolbars overhaul).
- Adding new tab items does not reflect fullscreen mode
  (i.e. margins and tabbar get visible)



git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@23069 a592a061-630c-0410-9148-cb99ea01b6c8
2008-02-19 21:51:55 +00:00
Pavel Sanda
1ab314f8e6 Update cursor and scrollbar after resize.
Fixes bug 4044.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@23068 a592a061-630c-0410-9148-cb99ea01b6c8
2008-02-19 21:27:18 +00:00
Richard Heck
040f3431e7 Fix bug 4037 and related problems. The patch has been cleaned up a bit
from the one posted to the list.

The basic idea has two parts. First, we hard code an "empty layout"
(called PlainLayout, for want of a better name) in TextClass and read it
before doing anything else. It can therefore be customized by classes,
if they want---say, to make it left-aligned. Second, InsetText's are
divided into three types: (i) normal ones, that use the "default" layout
defined by the text class; (ii) highly restrictive ones, such as ERT and
(not quite an inset) table cells, which demand the empty layout; (iii)
middling ones, which default to an empty layout and use the empty layout
in place of the default. (This is so we don't get the same problem we
had with ERT in e.g. footnotes.) The type of inset is signaled by new
methods InsetText::forceEmptyLayout() and InsetText::useEmptyLayout().
(The latter might better be called: useEmptyLayoutInsteadOfDefault(),
but that's silly.) The old InsetText::forceDefaultParagraphs() has been
split into these, plus a new method InsetText::allowParagraphCustomization(). 
A lot of the changes just adapt to this change.

The other big change is in GuiToolbar: We want to show LyXDefault and
the "default" layout only when they're active.

There are a handful of places where I'm not entirely sure whether we
should be using forceEmptyLayout or !allowParagraphCustomization() or
both. The InsetCaption is one of these. These places, and some others,
are marked with FIXMEs, so I'd appreciate it if people would search
through the patch and let me know whether these need changing. If they
don't, the FIXMEs can be deleted.

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@22966 a592a061-630c-0410-9148-cb99ea01b6c8
2008-02-12 17:31:07 +00:00
Abdelrazak Younes
2f54e2b75f LFUN_PARAGRAPH_GOTO: break/continue early. Force a full redraw.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@22954 a592a061-630c-0410-9148-cb99ea01b6c8
2008-02-12 08:04:59 +00:00
Abdelrazak Younes
76ec27281b * BufferView::putSelectionAt(): Ensure a redraw in any case.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@22927 a592a061-630c-0410-9148-cb99ea01b6c8
2008-02-10 19:18:57 +00:00
Abdelrazak Younes
149778a0a5 Ensure that the cursor is visible when searching text. Should fix the spellchecker and a few other bugs.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@22926 a592a061-630c-0410-9148-cb99ea01b6c8
2008-02-10 19:05:09 +00:00
Abdelrazak Younes
02e8322c79 Fix LFUN_WORD_FIND
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@22925 a592a061-630c-0410-9148-cb99ea01b6c8
2008-02-10 18:52:32 +00:00
Abdelrazak Younes
288b939274 More sensible default margins for fullscreen mode.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@22913 a592a061-630c-0410-9148-cb99ea01b6c8
2008-02-10 10:01:16 +00:00
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
24fdfc7d5e start work on less-likely-to-misuse iterators.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@22898 a592a061-630c-0410-9148-cb99ea01b6c8
2008-02-09 15:23:05 +00:00
José Matox
03fb3b0aec Patch to please gcc 4.3. Less bloat in the include headers means that
we need to include explicitly some header files now.



git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@22846 a592a061-630c-0410-9148-cb99ea01b6c8
2008-02-07 17:04:06 +00:00
Abdelrazak Younes
28826a461c header cleanup
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@22826 a592a061-630c-0410-9148-cb99ea01b6c8
2008-02-07 08:58:35 +00:00
Stefan Schimanski
bfd3a964b3 * show anchor paragraph completely if the whole buffer is visible.
We need some better handling of the case when the cursor is in the
very first line, but the line is not completely visible. If the line
is not heigher than the BufferView we should scroll up to show it
completely.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@22790 a592a061-630c-0410-9148-cb99ea01b6c8
2008-02-05 14:23:59 +00:00
Stefan Schimanski
0364c6c3cb * Make sure the cursor is completely visible when the BufferView get's its initial size.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@22786 a592a061-630c-0410-9148-cb99ea01b6c8
2008-02-05 13:14:53 +00:00
Abdelrazak Younes
ddec18ca01 * BufferView::scrollDocView(): take care of the general case before the particular top and bottom cases as those don't work very well when the document starts or ends with a big inset.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@22710 a592a061-630c-0410-9148-cb99ea01b6c8
2008-01-29 13:34:18 +00:00
Abdelrazak Younes
b78acb0b9d * BufferView::scrollDocView(): simplify by using showCursor() and add some comments.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@22708 a592a061-630c-0410-9148-cb99ea01b6c8
2008-01-29 10:17:41 +00:00
Abdelrazak Younes
81e06f7bc9 Fix scrolling to top and bottom of the document.
* BufferView
- showCursor(DocIterator): new DocIterator argument.
- showCursor(): use above method.
- scrollDocView(): take care of top and bottom special cases early in the method.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@22707 a592a061-630c-0410-9148-cb99ea01b6c8
2008-01-29 09:51:12 +00:00
Stefan Schimanski
ab1a045d10 * fix random jumps when scrolling very fast using a touchpad or mouse wheel.
The problem was this: The value in BufferView::scrollDocView(int value) is
relative to the d->scrollbarParameters_.min/max interval and _not_ absolute.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@22675 a592a061-630c-0410-9148-cb99ea01b6c8
2008-01-26 00:47:22 +00:00
Pavel Sanda
f0f485e40d Get rid of ugly strings in .po file
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@22625 a592a061-630c-0410-9148-cb99ea01b6c8
2008-01-18 22:50:19 +00:00
Abdelrazak Younes
ae0667c112 More scrolling work. Now the scrollbar parameters are normalized against the screen geometry and coordinates. This simplifies the logic and the code significantly.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@22614 a592a061-630c-0410-9148-cb99ea01b6c8
2008-01-17 17:06:55 +00:00
Abdelrazak Younes
68d11a0b29 scrolling tweaks...
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@22600 a592a061-630c-0410-9148-cb99ea01b6c8
2008-01-16 15:15:26 +00:00
Abdelrazak Younes
bc3029bcf4 scrolling tweaks... asymptotically tending towards scrolling correctness...
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@22599 a592a061-630c-0410-9148-cb99ea01b6c8
2008-01-16 14:31:00 +00:00
Abdelrazak Younes
2db839d7bb Scrolling fixes...
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@22598 a592a061-630c-0410-9148-cb99ea01b6c8
2008-01-16 09:06:36 +00:00
Bo Peng
c20f5a64d9 Embedding: simplify the interface of EmbeddedFiles, which will be later merged to EmbeddedFileList
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@22444 a592a061-630c-0410-9148-cb99ea01b6c8
2008-01-08 18:33:43 +00:00
Abdelrazak Younes
e40499d5df BufferView::showCursor(): better fix.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@22438 a592a061-630c-0410-9148-cb99ea01b6c8
2008-01-08 15:49:03 +00:00
Pavel Sanda
922aa7b1e8 Add characters counting.
Introduce LFUN_STATISTICS.
see http://www.mail-archive.com/lyx-devel@lists.lyx.org/msg134033.html .


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@22433 a592a061-630c-0410-9148-cb99ea01b6c8
2008-01-08 15:18:00 +00:00
Abdelrazak Younes
8379c2b70f Fix anchor bug.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@22432 a592a061-630c-0410-9148-cb99ea01b6c8
2008-01-08 14:55:11 +00:00
Bo Peng
ed2b1631db Showing a message box after embedding status is changed.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@22349 a592a061-630c-0410-9148-cb99ea01b6c8
2008-01-03 16:41:06 +00:00
Abdelrazak Younes
5587709f0e Introduce LFUN_SCROLL.
Santa-clauss.



git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@22324 a592a061-630c-0410-9148-cb99ea01b6c8
2007-12-27 11:37:07 +00:00
Abdelrazak Younes
88942bcae4 Fix a crash with depm.
* BufferView::checkDepm(): update d->cursor_ in case of depm.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@22322 a592a061-630c-0410-9148-cb99ea01b6c8
2007-12-27 10:39:25 +00:00
Abdelrazak Younes
f3326796a1 Fix next-inset-toggle after scrolling work.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@22321 a592a061-630c-0410-9148-cb99ea01b6c8
2007-12-27 09:44:39 +00:00
Abdelrazak Younes
02fd454216 header cleanup.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@22316 a592a061-630c-0410-9148-cb99ea01b6c8
2007-12-26 14:21:50 +00:00
Abdelrazak Younes
ebdd03d477 Properly fix undo/redo following scroll work.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@22315 a592a061-630c-0410-9148-cb99ea01b6c8
2007-12-26 14:10:24 +00:00
Abdelrazak Younes
e1033d4ad6 Fix undo/redo following scroll work.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@22314 a592a061-630c-0410-9148-cb99ea01b6c8
2007-12-26 14:00:55 +00:00
Abdelrazak Younes
fc2658eff0 initial basic context menu support.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@22309 a592a061-630c-0410-9148-cb99ea01b6c8
2007-12-26 12:40:58 +00:00
Abdelrazak Younes
518871a52b Don't pretend we have multiple menu backends: transfer the singleton to GuiApplication.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@22303 a592a061-630c-0410-9148-cb99ea01b6c8
2007-12-25 22:27:32 +00:00
Abdelrazak Younes
02110a3d5b Prepare the code for context menu support.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@22300 a592a061-630c-0410-9148-cb99ea01b6c8
2007-12-25 20:12:07 +00:00
Abdelrazak Younes
7c832d2d84 Implement tooltips for visible insets.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@22298 a592a061-630c-0410-9148-cb99ea01b6c8
2007-12-25 18:53:38 +00:00
Abdelrazak Younes
2b9153b8bc Fix navigation and bookmarks.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@22255 a592a061-630c-0410-9148-cb99ea01b6c8
2007-12-22 10:19:26 +00:00
Abdelrazak Younes
3b368687f9 Another fix for cursor movement up with big insets.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@22252 a592a061-630c-0410-9148-cb99ea01b6c8
2007-12-22 09:10:49 +00:00
Abdelrazak Younes
62799a6707 Some fixes.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@22251 a592a061-630c-0410-9148-cb99ea01b6c8
2007-12-22 09:04:53 +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
7280d67126 More scrolling tweaks.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@22233 a592a061-630c-0410-9148-cb99ea01b6c8
2007-12-21 13:38:09 +00:00
Abdelrazak Younes
4fe31abd06 Fixed size line scrolling gives a better user experience.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@22232 a592a061-630c-0410-9148-cb99ea01b6c8
2007-12-21 13:24:57 +00:00
Abdelrazak Younes
f833ad1d2c scrolling tweaks.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@22231 a592a061-630c-0410-9148-cb99ea01b6c8
2007-12-21 13:03:45 +00:00
Abdelrazak Younes
96d2d6fc50 * LyXFunc::dispatch(): invert BufferView::dispatch() and cursor::dispatch() calling.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@22227 a592a061-630c-0410-9148-cb99ea01b6c8
2007-12-21 10:42:59 +00:00
Abdelrazak Younes
b8be6be268 Fix LFUN_BUFFER_END
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@22226 a592a061-630c-0410-9148-cb99ea01b6c8
2007-12-21 10:11:32 +00:00
Abdelrazak Younes
d3980b14a8 code simplification.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@22225 a592a061-630c-0410-9148-cb99ea01b6c8
2007-12-21 09:45:04 +00:00
Abdelrazak Younes
2e8fdbb54b rename BufferView::center() to showCursor().
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@22222 a592a061-630c-0410-9148-cb99ea01b6c8
2007-12-21 08:35:43 +00:00
Abdelrazak Younes
7998dfd948 Close to perfect scrolling. Some bugs fixing and behaviour tweaking remains but we are on a much saner ground.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@22221 a592a061-630c-0410-9148-cb99ea01b6c8
2007-12-21 08:28:18 +00:00
Abdelrazak Younes
a84b8ca6be Fix PageDown/Up scrolling.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@22212 a592a061-630c-0410-9148-cb99ea01b6c8
2007-12-19 08:41:16 +00:00
Abdelrazak Younes
65dc5e8337 Fix some scrolling issues.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@22211 a592a061-630c-0410-9148-cb99ea01b6c8
2007-12-19 07:47:03 +00:00
Abdelrazak Younes
9abb7db468 getting rid of superfluous std:: statements.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@22104 a592a061-630c-0410-9148-cb99ea01b6c8
2007-12-12 19:28:07 +00:00
Abdelrazak Younes
b89cc942eb 'using namespace lyx::support' instead of 'using support::xxx'
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@22103 a592a061-630c-0410-9148-cb99ea01b6c8
2007-12-12 18:57:56 +00:00
Abdelrazak Younes
9383f4c3c6 'using namespace std' instead of 'using std::xxx'
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@22097 a592a061-630c-0410-9148-cb99ea01b6c8
2007-12-12 10:16:00 +00:00
Abdelrazak Younes
0743f576cb * BufferView:
- dispatch(): transfer LFUN_FILE_INSERT_PLAINTEXT_* to GuiView::dispatch()
- insertPlaintextFile(): split in BufferView::insertPlaintextFile() and GuiView::insertPlaintextFile()

This patch get rid of FileDialog use in BufferView. Remains Buffer, Converters and LyXFunc.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@21930 a592a061-630c-0410-9148-cb99ea01b6c8
2007-12-02 20:05:17 +00:00
Abdelrazak Younes
c68601da9f * BufferView:
- dispatch(): transfer LFUN_FILE_INSERT to GuiView::dispatch()
- menuInsertLyXFile(): split in BufferView::insertLyXFile() and GuiView::insertLyXFile()


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@21923 a592a061-630c-0410-9148-cb99ea01b6c8
2007-12-02 17:50:08 +00:00
Abdelrazak Younes
b1db731a98 * FileName::fileContents(): new argument to define the file encoding.
* BufferView:
- insertPlaintextString(): now accept a FileName.
- contentsOfPlaintextFile(): ditto and use FileName::fileContents().
 

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@21915 a592a061-630c-0410-9148-cb99ea01b6c8
2007-12-02 11:55:25 +00:00
Abdelrazak Younes
334a76e1d7 compile fix.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@21873 a592a061-630c-0410-9148-cb99ea01b6c8
2007-11-30 08:35:54 +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
d95451ae5c s/isFileReadable/isReadableFile;
introduce isReadableDirectory
replace isReadable by either isReadableFile or isReadableDirectory
remove isReadable


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@21769 a592a061-630c-0410-9148-cb99ea01b6c8
2007-11-25 11:18:16 +00:00
Pavel Sanda
cf5ff50617 Fix dialog handling of Insert Plain Text
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@21737 a592a061-630c-0410-9148-cb99ea01b6c8
2007-11-23 10:54:19 +00:00
Abdelrazak Younes
c0a9d2587c Painting tweaks:
- avoid one redraw on file loading due to a resize event.
- fix the initial offset_ref_ value of BufferView.
- add new TabWorkArea::addWorkArea() method.
- avoid tab bar flashing when only one file is opened.




git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@21674 a592a061-630c-0410-9148-cb99ea01b6c8
2007-11-19 10:04:14 +00:00
André Pönitz
d5fc2425a9 consolidate showDialog() incarnations
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@21662 a592a061-630c-0410-9148-cb99ea01b6c8
2007-11-18 00:39:15 +00:00
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
André Pönitz
e1ce2f92db reduce line noise
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@21631 a592a061-630c-0410-9148-cb99ea01b6c8
2007-11-15 20:04:51 +00:00
André Pönitz
f625dd7ea0 cosmetics
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@21593 a592a061-630c-0410-9148-cb99ea01b6c8
2007-11-13 23:50:28 +00:00
André Pönitz
a88884aaa2 simplification
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@21483 a592a061-630c-0410-9148-cb99ea01b6c8
2007-11-06 22:20:05 +00:00
Jürgen Spitzmüller
ddbcee01ac * src/BufferView.cpp:
- move the LFUN_OUTLINE_*'s out of here ...
* src/Text3.cpp:
	- to this place. This fixes a crash (bug 4330).

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@21475 a592a061-630c-0410-9148-cb99ea01b6c8
2007-11-06 17:13:43 +00:00
Abdelrazak Younes
bac194f5db Revision 21471: Forgot that.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@21472 a592a061-630c-0410-9148-cb99ea01b6c8
2007-11-06 14:18:09 +00:00
Abdelrazak Younes
0b0c27ef59 * BufferView: Make use of ScreenUpdateStrategy::NoScreenUpdate, avoid a screen redraw when it is not really needed.
* Painter.h: move isDrawingEnabled() to public Area.

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

* InsetTabular::draw(): ditto.

* InsetMathNest::drawSelection(): ditto.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@21471 a592a061-630c-0410-9148-cb99ea01b6c8
2007-11-06 14:07:49 +00:00
Abdelrazak Younes
e660f44001 Current update architecture doesn't need multiParSel() special case anymore.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@21467 a592a061-630c-0410-9148-cb99ea01b6c8
2007-11-06 09:34:16 +00:00
Abdelrazak Younes
257117ac1e Oups...
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@21464 a592a061-630c-0410-9148-cb99ea01b6c8
2007-11-06 08:57:48 +00:00
Abdelrazak Younes
f84080f01c * Bufferview::updateMetrics(): Separate out the SinglePar optimization.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@21463 a592a061-630c-0410-9148-cb99ea01b6c8
2007-11-06 08:32:25 +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
09b7e6e60a some std::string -> filename changes
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@21404 a592a061-630c-0410-9148-cb99ea01b6c8
2007-11-03 17:37:37 +00:00
André Pönitz
f370da4113 some de-boostification
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@21387 a592a061-630c-0410-9148-cb99ea01b6c8
2007-11-02 19:59:08 +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
Martin Vermeer
325da0a915 Update current font when moving cursor by clicking mouse
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@21267 a592a061-630c-0410-9148-cb99ea01b6c8
2007-10-29 18:57:56 +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
André Pönitz
9be03a87f9 start some work on file dialogs
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@21238 a592a061-630c-0410-9148-cb99ea01b6c8
2007-10-28 16:32:20 +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
Richard Heck
2f4d0ae27e Remove methods marked for removal from InsetCommandParams. Yeah, we can do that now. ;-)
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@21154 a592a061-630c-0410-9148-cb99ea01b6c8
2007-10-23 18:51:04 +00:00
Bo Peng
b89d3f2cc2 Embedding: add LFUN_BUFFER_TOGGLE_EMBEDDING
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@21106 a592a061-630c-0410-9148-cb99ea01b6c8
2007-10-21 20:06:44 +00:00
André Pönitz
f934b86850 cosmetics
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@21097 a592a061-630c-0410-9148-cb99ea01b6c8
2007-10-21 10:50:56 +00:00
André Pönitz
f762cbf3c6 mainly cosmetics
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@21079 a592a061-630c-0410-9148-cb99ea01b6c8
2007-10-20 10:03:45 +00:00
André Pönitz
a02653e4dd isome more FileName shuffling
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@21048 a592a061-630c-0410-9148-cb99ea01b6c8
2007-10-18 23:03:51 +00:00
Abdelrazak Younes
d3e167c75f oups...
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@21034 a592a061-630c-0410-9148-cb99ea01b6c8
2007-10-18 15:38:12 +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
Abdelrazak Younes
61dba28fc4 please Angus.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@20935 a592a061-630c-0410-9148-cb99ea01b6c8
2007-10-13 07:33:07 +00:00
Bo Peng
62c98f2ffc InsetInfo: add InsetInfo (core)
* src/insets/Inset.cpp: add InsetInfo
	* src/insets/Inset.h
	* src/insets/InsetInfo.cpp
	* src/insets/InsetInfo.h
	* src/LyXAction.cpp: add LFUN_INFO_INSERT
	* src/lfuns.h
	* src/BufferView.cpp: 
	* src/factory.cpp
	* src/Text3.cpp: insert InsetInfo with selected text
	* development/scons/scons_manifest.py: build tools update
	* src/Makefile.am


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@20904 a592a061-630c-0410-9148-cb99ea01b6c8
2007-10-11 14:52:00 +00:00
Abdelrazak Younes
a800da1bfe initial support for shift + right-mouse-click selection.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@20903 a592a061-630c-0410-9148-cb99ea01b6c8
2007-10-11 14:46:53 +00:00
Abdelrazak Younes
70b938bf5a Transfer some LFUNs from LyXFunc::getStatus() to BufferView::getStatus(). What a mess!
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@20902 a592a061-630c-0410-9148-cb99ea01b6c8
2007-10-11 13:20:21 +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
Abdelrazak Younes
e3032e7d0e * BufferView::update(): renamed to processUpdateFlags() to clarify the intent. Also get rid of the default argument which added to the confusion as to what was the purpose of update(). Now also emit Buffer::changed() signal internally instead of assuming that the caller will act upon the returned boolean.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@20884 a592a061-630c-0410-9148-cb99ea01b6c8
2007-10-10 08:52:55 +00:00
Abdelrazak Younes
86e8f751e1 Small API cleanup: as BufferView already use Buffer::changed() make it use it some more instead of WorkArea.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@20747 a592a061-630c-0410-9148-cb99ea01b6c8
2007-10-05 09:38:40 +00:00
André Pönitz
58ab972f71 last commit was incomplete... not sure how I managed this..
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@20710 a592a061-630c-0410-9148-cb99ea01b6c8
2007-10-03 20:15:49 +00:00
André Pönitz
095cf23394 shuffle some code around
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@20706 a592a061-630c-0410-9148-cb99ea01b6c8
2007-10-03 18:56:37 +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
83cf9ed0a9 I don't think that a single function that's only use once should have a
pair of files of its own


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@20599 a592a061-630c-0410-9148-cb99ea01b6c8
2007-09-29 20:25:50 +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
André Pönitz
bd03eaa571 make some bufferview related stuff more local
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@20576 a592a061-630c-0410-9148-cb99ea01b6c8
2007-09-29 07:34:42 +00:00
Abdelrazak Younes
2417d9d911 * BufferView::updateMetrics(): split up the method in two for the SinglePar case.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@20563 a592a061-630c-0410-9148-cb99ea01b6c8
2007-09-28 09:11:24 +00:00
Abdelrazak Younes
e0f7fde3b6 * BufferView::updateMetrics(): allows the SinglePar optimization to proceed if the paragraph height did not change.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@20562 a592a061-630c-0410-9148-cb99ea01b6c8
2007-09-28 08:19:03 +00:00
Abdelrazak Younes
b64f836199 * BufferView::update(): fitCursor() optimization.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@20560 a592a061-630c-0410-9148-cb99ea01b6c8
2007-09-28 07:32:19 +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
585b3217f5 Remove unused code and comment.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@20485 a592a061-630c-0410-9148-cb99ea01b6c8
2007-09-25 09:35:36 +00:00
Abdelrazak Younes
a622a0645c * BufferView::workAreaDispatch(): reconstruct the ViewMetricsInfo in any case when a mouse hovering event is detected. It seems that the anchor/offset_ref_ are modified behind our back...
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@20483 a592a061-630c-0410-9148-cb99ea01b6c8
2007-09-25 08:47:54 +00:00
Abdelrazak Younes
8df72fdd0f * BufferView::workAreaDispatch(): restore anchor when mouse hovering. The problem is that scrollbar update modified the offset_ref_.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@20482 a592a061-630c-0410-9148-cb99ea01b6c8
2007-09-25 08:09:11 +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
Abdelrazak Younes
ae7c588552 * TextMetrics:
- first() and last(): change return type because std::pair of reference didn't work (i.e. bug)

* BufferView::workAreaDispatch(): re-enable and fix 'mouse hover' feature.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@20372 a592a061-630c-0410-9148-cb99ea01b6c8
2007-09-20 08:48:28 +00:00
Richard Heck
e020bc1806 Fulfill promise to Andre: TextClass_ptr --> TextClassPtr.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@20349 a592a061-630c-0410-9148-cb99ea01b6c8
2007-09-18 17:46:14 +00:00
Abdelrazak Younes
df6dca574e temporarily disabling mouse hover feature as it is causing painting problems.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@20330 a592a061-630c-0410-9148-cb99ea01b6c8
2007-09-17 22:11:13 +00:00
Lars Gullik Bjønnes
9e770f6e53 Whitespace changes only
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@20305 a592a061-630c-0410-9148-cb99ea01b6c8
2007-09-16 10:38:25 +00:00
Abdelrazak Younes
f53592dd60 LFUN_SCREEN_UP/DOWN: Take into account the off-screen cursor case.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@20288 a592a061-630c-0410-9148-cb99ea01b6c8
2007-09-15 14:33:37 +00:00
Abdelrazak Younes
78b78ec6e1 Give a sane behaviour to page up/down scrolling when clicking in the page scroll area of the scrollbar.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@20287 a592a061-630c-0410-9148-cb99ea01b6c8
2007-09-15 13:59:26 +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
Abdelrazak Younes
6ce171eec8 Transfer the Paragraph position cache from CoordCache to ParagraphMetrics and TextMetrics.
* ParagraphMetrics::position_: new private member (and associated access method).

* TextMetrics:
- origin_: new screen position cache.
- use origin_ and ParagraphMetrics::position() instead of the parPos cache.

* Cursor:
- comment out buggy bruteFind() method, will work on that later.

* BufferView::updateMetrics(): refactor and simplify to use new cache and to gather everything SinglePar related.





git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@20214 a592a061-630c-0410-9148-cb99ea01b6c8
2007-09-11 16:04:10 +00:00
Jürgen Spitzmüller
59c2e75e41 * src/insets/InsetCommand.{cpp,h}:
- implement edit function that opens the inset's dialog.
* src/BufferView.cpp (doDispatch):
	- call inset->edit (i.e. open dialog) for EDITABLE insets on next-inset-toggle (bug 2907)
* src/Text3.cpp (doDispatch: INDEX_INSERT):
	- move inset->edit to where it belongs.

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@20193 a592a061-630c-0410-9148-cb99ea01b6c8
2007-09-10 16:06:01 +00:00
Abdelrazak Younes
c3e3534148 * TextMetrics::draw(): withdraw first row ascent before drawing because the convention is that the baseline of a multirow text is the baseline of the first row.
All other files: adapt to above change.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@20177 a592a061-630c-0410-9148-cb99ea01b6c8
2007-09-09 20:21:43 +00:00
Abdelrazak Younes
d1813ca269 * TextMetrics::draw(): get rid of the first par ascent offset.
* BufferView::draw(): adapt to above change.

* InsetCollapsable::draw(): ditto -> get rid of textdim_ member.



git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@20068 a592a061-630c-0410-9148-cb99ea01b6c8
2007-09-05 13:45:58 +00:00
Abdelrazak Younes
762d087396 fix warning.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@20067 a592a061-630c-0410-9148-cb99ea01b6c8
2007-09-05 13:29:31 +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
bc6304d760 Don't save background color in Text. Hand it down at drawing time.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@20002 a592a061-630c-0410-9148-cb99ea01b6c8
2007-09-02 14:34:15 +00:00
Abdelrazak Younes
af06ed5ff1 Transfer current_font and real_current_font from Text to Cursor.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@19999 a592a061-630c-0410-9148-cb99ea01b6c8
2007-09-02 13:35:48 +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
4ed011dbd1 Improve painting debug info.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@19970 a592a061-630c-0410-9148-cb99ea01b6c8
2007-09-01 09:33:57 +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
b45bc7944d Fix DEPM crash within inset.
* BufferView::updateMetrics(): always clear the full text_metrics_ when doing a full update.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@19919 a592a061-630c-0410-9148-cb99ea01b6c8
2007-08-30 16:48:47 +00:00
Abdelrazak Younes
a088c6754a Finally enable single row repainting within insets! The inset width needs to stay fixed of course.
* BufferView::draw(): makes use of PainterInfo::full_repaint
* TextMetrics::drawParagraph(): ditto.
* InsetText::drawSelection(): don't fillRectangle() if there's no selection.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@19918 a592a061-630c-0410-9148-cb99ea01b6c8
2007-08-30 15:17:38 +00:00
Abdelrazak Younes
4590960f02 header cleanup.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@19855 a592a061-630c-0410-9148-cb99ea01b6c8
2007-08-28 15:32:39 +00:00
Abdelrazak Younes
971c543b34 - Transfer rowpainter.cpp:paintPar() to TextMetrics::drawParagraph()
- move RowPainter class out of the anonymous namespace so that it can be used by TextMetrics::drawParagraph().


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@19848 a592a061-630c-0410-9148-cb99ea01b6c8
2007-08-28 08:57:13 +00:00
Abdelrazak Younes
a43e822c98 Transfer rowpainter.cpp:paintText() to BufferView::draw()
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@19843 a592a061-630c-0410-9148-cb99ea01b6c8
2007-08-27 22:53:16 +00:00
Abdelrazak Younes
91f8cbe204 * BufferView::workAreaResize(): renamed to resize.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@19766 a592a061-630c-0410-9148-cb99ea01b6c8
2007-08-24 07:05:19 +00:00
Richard Heck
6e93e77f22 This is one of a series of patches that will merge the layout modules development in personal/branches/rgheck back into the tree.
Design goal: Allow the use of layout "modules", which are to LaTeX packages as layout files are to LaTeX document classes. Thus, one could have a module that defined certain character styles, environments, commands, or what have you, and include it in various documents, each of which uses a different document class, without having to modify the layout files themselves. For example, a theorems.module could be used with article.layout to provide support for theorem-type environments, without having to modify article.layout itself, and the same module could be used with book.layout, etc.

This first patch does some reworking of the infrastructrue. We need to distinguish between the TextClass that a particular document is using and the layout of that document, since modules, in particular, can modify the layout. The solution adopted here is to add a TextClass pointer to BufferParams, which will hold the layout. The layout itself is then constructed from the TextClass the document is using. At present, this is completely trivial, but that will change when modules are added.

The pointer in question is a boost::shared_ptr. This is needed because CutAndPaste saves a copy of the layout with each cut or copied selection. We cannot assume the selection vanishes when the document is closed, so there are two options: (i) keep a list of all the layouts that have ever been used by any document; (ii) used some kind of smart pointer. The latter seems preferable, as the former would waste memory. More importantly, the use of a smart pointer allows modules to be modified on disk and then reloaded while LyX is running, and it will eventually allow the same for layout files.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@19756 a592a061-630c-0410-9148-cb99ea01b6c8
2007-08-23 16:41:13 +00:00
Abdelrazak Younes
65e16cdb27 add comments and remove dead code from revision 19721.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@19726 a592a061-630c-0410-9148-cb99ea01b6c8
2007-08-22 14:44:34 +00:00
Abdelrazak Younes
7e6d5cb553 bug fix.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@19725 a592a061-630c-0410-9148-cb99ea01b6c8
2007-08-22 14:38:25 +00:00
Abdelrazak Younes
e809647c77 simplify BufferView::moveToPosition() use for the external use (in LyXView and LyXFunc).
* BufferView::moveToPosition()
- now only return success boolean
- now schedule a screen centering
- now set the current font to the new position.



git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@19722 a592a061-630c-0410-9148-cb99ea01b6c8
2007-08-22 14:25:51 +00:00
Abdelrazak Younes
5203c56db4 Fix bug 3427:
http://bugzilla.lyx.org/show_bug.cgi?id=3427

The problem was that offset_ref_ was calculated based on an empty metrics. The solution is delay the calculation up until the next metrics update.

* BufferView:
- center(): now just set the anchor_ref and program a new screen recentering.
- updateOffsetRef(): update the offset_ref_


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@19721 a592a061-630c-0410-9148-cb99ea01b6c8
2007-08-22 14:14:52 +00:00
Abdelrazak Younes
8202f63160 transfer cursor position saving (in the session) from ~WorkArea to ~BufferView.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@19719 a592a061-630c-0410-9148-cb99ea01b6c8
2007-08-22 09:06:13 +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
Abdelrazak Younes
1356543c45 The BufferView/WorkArea/LyXView reorg a.k.a Multiple WorkAreas:
* Buffer:
- get rid of cursor_ and anchor_
- ~Buffer(): update the labels of its master buffer before closing
- closing(): pass the Buffer address.

* BufferView():
- BufferView(): needs a valid Buffer (should be const in the future.
- most of the change is about removing all test of buffer_ nullity.
- resize(): deleted.
- setBuffer(): deleted.

* Application:
- newLyXView(): simplification
- updated design description in Application.h

* Gui/GuiImplementation: remove all WorkAreas and BufferView creation/Deletion. Workareas are directly handled by  LyXView/GuiView and BufferView is created/delete by WorkArea.

* LyXView/GuiView: implement the new design

What is not working yet:
- the close tab button: it is implemented but does not show up.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@19686 a592a061-630c-0410-9148-cb99ea01b6c8
2007-08-21 07:33:46 +00:00
Jean-Marc Lasgouttes
35fa399edd Syncronize with 1.5. This stuff was uncommitted in y tree actually.
* src/BufferView.cpp (workAreaDispatch): set selection status here

	* src/Text3.cpp (dispatch):
	* src/InsetTabular.cpp (doDispatch): and not here


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@19396 a592a061-630c-0410-9148-cb99ea01b6c8
2007-08-10 10:21:09 +00:00
Richard Heck
eacbcb3f3a Fix bug 4096. Don't disconnect the buffer until we're ready to connect again.
Also, clean up the code a little.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@19287 a592a061-630c-0410-9148-cb99ea01b6c8
2007-08-03 14:07:39 +00:00
Abdelrazak Younes
ada0bd00f0 more std declaration fixes.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@19103 a592a061-630c-0410-9148-cb99ea01b6c8
2007-07-17 17:40:44 +00:00
Abdelrazak Younes
0b555eba87 * BufferView::setCursorFromRow(): reset the Cursor to the main InsetText because that is what is expected afterwards.
This fixes this crash reported by Bennett:

I'm using pdfsync via lyxpipe to have LyX jump to where I click in the .pdf file of an open LyX document. Recently I've been getting crashes. Here's the console output:

Assertion triggered in void lyx::Text::setCursorIntern(lyx::Cursor&, lyx::pit_type, lyx::pos_type, bool, bool) by failing check "this == cur.text()" in file Text2.cpp:746


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@19093 a592a061-630c-0410-9148-cb99ea01b6c8
2007-07-17 08:37:47 +00:00
Jean-Marc Lasgouttes
1d51120eb4 Restore the persistent selection feature (disabled because of bug 3877)
See also http://www.lyx.org/trac/changeset/19003

	* BufferView.cpp (setBuffer): save selection before switching buffer
	(mouseSetCursor): save selection before resetting it
	(putSelectionAt): no need to save selection

	* Cursor.cpp (selHandle): save selection before resetting it

	* CutAndPaste.cpp (cutSelection, eraseSelection): save selection before
	deleting it.



git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@19026 a592a061-630c-0410-9148-cb99ea01b6c8
2007-07-10 12:44:19 +00:00
Alfredo Braunstein
2932434aaa * Fix to Bug 3903
When moving the cursor with a mouse click, notify all left insets, not 
just the top one


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@18850 a592a061-630c-0410-9148-cb99ea01b6c8
2007-06-21 21:56:43 +00:00
Stefan Schimanski
557521034f * Clear the paragraph metrics cache as well on redraw:
On fullscreen redraw the metrics of all visible paragraphs are
  recreated and stored in the TextMetrics object. If the number of
  paragraphs on screen does not change everything is fine because the
  paragraph metrics cache is just updated. But if the number decreases
  it can happen that old paragraph metrics remain in the cache. If this
  happened because e.g. a paragraph was deleted, it's possible that the
  cached paragraph is longer than the one which is actually at the
  position now. Using the Row objects from the cached paragraphs then
  can trigger accesses to positions which would have been valid in the
  old paragraph, but go over the end of the paragraph which is there
  now. 


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@18841 a592a061-630c-0410-9148-cb99ea01b6c8
2007-06-21 06:41:55 +00:00
Michael Schmitt
7067c91137 * src/BufferView.cpp:
* src/lyxfind.cpp:
	* src/lyxfind.h: do not allow to replace texts that are
	marked as deleted (fix by Jürgen Spitzmüller)


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@18836 a592a061-630c-0410-9148-cb99ea01b6c8
2007-06-19 21:48:04 +00:00
Abdelrazak Younes
608603a31d Fix bug 3171: switching document jumps always back to last saved bookmark
http://bugzilla.lyx.org/show_bug.cgi?id=3171

* LyXFunc::closeBuffer(): remove code that is already done on Buffer deletion thanks to the Buffer::closing() signal connection to LyXView. Setting the Buffer twice was part of the reason of the bug.

* BufferView::setBuffer(): properly update the metrics if we move to a saved cursor position.



git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@18830 a592a061-630c-0410-9148-cb99ea01b6c8
2007-06-19 17:57:40 +00:00
Abdelrazak Younes
144e721b65 Polish revision 18825 and fix some remaining issues with child documents. The diff is bigger than it should because of white space issues.
* buffer_funcs.{h,cpp}: new checkAndLoadLyXFile() transferred from BufferView::loadLyXFile().

* BufferView::loadLyXFile(): deleted.

* LyXView::loadLyXFile(): simplify logic and fix some issues:
  - buggy child document leads to crash due to error list dialog.
  - ensure that we switch to buffer if there's some errors.
  - use LyXView::setBuffer() instead of repeating code.



git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@18828 a592a061-630c-0410-9148-cb99ea01b6c8
2007-06-19 16:03:47 +00:00
Richard Heck
88f3b206ed Trivial whitespace fix.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@18826 a592a061-630c-0410-9148-cb99ea01b6c8
2007-06-19 14:59:34 +00:00
Richard Heck
d3003c1022 Polish the Toc and labels updating when loading a child document.
Fix Bug 3860: Toc crash when loading a child documents.

* BufferView::loadLyXFile(): simplify, transfer last part to
  LyXView::loadLyXFile().
  Change return value to Buffer created by load (or 0 if none).
  Ultimately, this should all be moved to buffer_funcs.cpp, as it is no
  longer needed here.

* Buffer::setParentName(): small fix to avoid recursive includes.

* LyXView:
- setBuffer(): properly update the labels and the Toc if this is [LOAD Child
  Document] command. Move buffer connection and disconnection, simplifying
  earlier code.
- loadLyXFile(): get some code from BufferView::loadLyXFile() and from
  LyXFunc::LFUN_BUFFER_CHILD_OPEN, properly handle the child document case.
  There's a lot of overlap with setBuffer() here. This needs cleaning.

* LyXFunc: add optional argument to LFUN_BUFFER_CHILD_OPEN to indicate if
  the document is being opened by LyX itself rather than the user (as on 
  View>DVI, for example).

* LyX: adapt to loadLyXFile() API changes.

* insets/InsetInclude: use LFUN_BUFFER_CHILD_OPEN rather than calling
  loadLyXFile() directly. Make use of new optional argument.

With this in place, the only thing missing for proper multipart document support is to automatically update the parent Buffer when switching from the parent Buffer. This would be very useful when you work with multiple document sharing the same child documents (as I often do).



git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@18825 a592a061-630c-0410-9148-cb99ea01b6c8
2007-06-19 14:56:52 +00:00
Stefan Schimanski
fd44c4ffdf * Dov's patch to make typing possible again if RTL support is disabled.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@18761 a592a061-630c-0410-9148-cb99ea01b6c8
2007-06-13 06:27:33 +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