Commit Graph

745 Commits

Author SHA1 Message Date
Michael Schmitt
2e09a925a5 * src/lyxtext.h:
* src/BufferView.C:
* src/text3.C:
* src/text.C: merge methods acceptChange() and rejectChange() to acceptOrRejectChange() because they share a lot of tricky code

* src/text.C: yet another revision of acceptOrRejectChange()

* src/paragraph.C:
* src/paragraph.h:
* src/paragraph_pimpl.C:
* src/paragraph_pimpl.h:
* src/insets/insettabular.C:
* src/insets/insettabular.h:
* src/insets/insettext.C:
* src/insets/insettext.h:
* src/insets/insetbase.h: pass BufferParams to acceptChanges() and rejectChanges() (needed for paragraph merging)

* src/insets/insettext.C: handle end-of-par in acceptChanges() and rejectChanges()

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16830 a592a061-630c-0410-9148-cb99ea01b6c8
2007-01-23 21:53:16 +00:00
Michael Schmitt
76ad6628fd * src/text.C: implement rejectChange() as the inverse of acceptChange()
(requires some further testing)


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16825 a592a061-630c-0410-9148-cb99ea01b6c8
2007-01-23 13:25:50 +00:00
Georg Baum
dbfda45b19 Compile fix.
Michael, I guess that you need to retest this code, since the old one did
obviously not do what you intended.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16801 a592a061-630c-0410-9148-cb99ea01b6c8
2007-01-21 21:52:01 +00:00
Michael Schmitt
c4a10a953c * src/text.C: acceptChange(): complete rewrite; there should be no crashes any more
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16799 a592a061-630c-0410-9148-cb99ea01b6c8
2007-01-21 21:20:51 +00:00
Michael Schmitt
fb84e1ca52 * src/text.C: move forward when logically deleting character
(previously broken; the cursor was even moved forward if
	the character was physically removed and the next character was
	marked as deleted)


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16783 a592a061-630c-0410-9148-cb99ea01b6c8
2007-01-20 16:59:13 +00:00
Abdelrazak Younes
31cbae750d fix cursor movements.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16638 a592a061-630c-0410-9148-cb99ea01b6c8
2007-01-10 10:59:18 +00:00
Michael Schmitt
a501ea2ace * src/text.C: replace "[C]" by the more meaningful "[Change tracking]" and support localization
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16617 a592a061-630c-0410-9148-cb99ea01b6c8
2007-01-08 22:38:49 +00:00
Georg Baum
fed31122c4 Tell X the selection status also after it is changed by the keyboard, since
we got a consensus on this on the list.
Some calls of haveSelection are still missing, but we need to decide the
"persistent selection" question before those can be implemented properly.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16572 a592a061-630c-0410-9148-cb99ea01b6c8
2007-01-07 14:44:44 +00:00
Michael Schmitt
ada361536f * src/text.C: fix endless loop in breakParagraph()
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16568 a592a061-630c-0410-9148-cb99ea01b6c8
2007-01-07 12:01:26 +00:00
Michael Schmitt
1cdbdc1bdc * src/text.C: check end-of-par BEFORE you accept/reject the rest of the par (I fear this code has to rewritten later)
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16521 a592a061-630c-0410-9148-cb99ea01b6c8
2007-01-04 23:10:51 +00:00
Michael Schmitt
895416b103 * src/text.C: first step to sanitize accept/rejectChange
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16520 a592a061-630c-0410-9148-cb99ea01b6c8
2007-01-04 23:02:37 +00:00
Michael Schmitt
04b4634213 * src/frontends/qt4/QMathMatrixDialog.C:
* src/kbmap.C:
* src/LaTeXFeatures.C:
* src/text.C: remove superfluous "return" statements

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16483 a592a061-630c-0410-9148-cb99ea01b6c8
2007-01-03 21:51:10 +00:00
Abdelrazak Younes
a64d5ba362 Transfer x2pos() and pos2x from LyXText to TextMetrics.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16458 a592a061-630c-0410-9148-cb99ea01b6c8
2007-01-01 11:36:30 +00:00
Abdelrazak Younes
3f9aa10f6a delete unused variable.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16457 a592a061-630c-0410-9148-cb99ea01b6c8
2007-01-01 10:53:10 +00:00
Abdelrazak Younes
f1d90e17d8 Transfer getColumnNearX from LyXText to TextMetrics.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16454 a592a061-630c-0410-9148-cb99ea01b6c8
2007-01-01 10:33:37 +00:00
Abdelrazak Younes
97a59984b1 Transfer these methods from LyXText to TextMetrics:
- labelEnd()
- rowBreakPoint()
- setRowWidth()
- setHeightOfRow()


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16451 a592a061-630c-0410-9148-cb99ea01b6c8
2007-01-01 09:36:55 +00:00
Abdelrazak Younes
ad84c0ce5d delete unused variables.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16443 a592a061-630c-0410-9148-cb99ea01b6c8
2006-12-30 15:53:19 +00:00
Edwin Leuven
8005e8a6f6 remove unused vars
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16439 a592a061-630c-0410-9148-cb99ea01b6c8
2006-12-30 12:39:41 +00:00
Abdelrazak Younes
53ce526058 remove duplicate methods moved to TextMetrics.C.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16438 a592a061-630c-0410-9148-cb99ea01b6c8
2006-12-30 11:50:39 +00:00
Abdelrazak Younes
b2126408cf This commit do the Model/View separation of the LyXText and Paragraph classes. The separation is mostly complete for the Paragraph class but some more transfer should occur for the LyXText class.
* ParagraphMetrics.[Ch]: new files

* TextMetrics.[Ch]: new files.

* lyxtext.h/text2.C/text3.C: some code transferred to the TextMetrics class.

* paragraph.[Ch]: all screen oriented code transfered to ParagraphMetrics class.

* BufferView:
 - text_metrics_: new TextMetrics cache private member.
 - textMetrics(): new access method.
 - parMetrics(): ditto.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16433 a592a061-630c-0410-9148-cb99ea01b6c8
2006-12-29 23:54:48 +00:00
Georg Baum
ea81b496be remove useless in_ert variable
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16411 a592a061-630c-0410-9148-cb99ea01b6c8
2006-12-28 10:24:45 +00:00
Georg Baum
1189f55eae convert LyXFont::stateText and LColor::getGUIName to docstring,
saving again some utf8 conversions


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16365 a592a061-630c-0410-9148-cb99ea01b6c8
2006-12-21 14:31:19 +00:00
Georg Baum
c6f0c8d0b6 convert author names and status messages to docstring
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16363 a592a061-630c-0410-9148-cb99ea01b6c8
2006-12-21 13:58:28 +00:00
Abdelrazak Younes
ceda236931 add an assertion.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16347 a592a061-630c-0410-9148-cb99ea01b6c8
2006-12-20 14:15:26 +00:00
Abdelrazak Younes
e24bf64c68 * dimension.h: new operator!=() and operator=()
* InsetBase and all derivates:
  - metrics(MetricsInfo & mi, Dimension & dim) now returns a bool (true if metrics changed).

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

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

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


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16091 a592a061-630c-0410-9148-cb99ea01b6c8
2006-11-28 15:15:49 +00:00
Michael Schmitt
6994ba59c0 * src/text.C: partial fixes to acceptChange() and
rejectChange(); end-of-par characters are not considered
	for the time being


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16064 a592a061-630c-0410-9148-cb99ea01b6c8
2006-11-26 14:49:35 +00:00
Michael Schmitt
e3f01ff2f0 * src/text.C: remove empty namespace; fix change tracking
in breakParagraph()


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16059 a592a061-630c-0410-9148-cb99ea01b6c8
2006-11-26 11:53:33 +00:00
Michael Schmitt
7913b8c652 * src/text.C: fix dissolve-inset when pressing
erase at the end of the inset


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16050 a592a061-630c-0410-9148-cb99ea01b6c8
2006-11-26 00:04:25 +00:00
Michael Schmitt
d4ba38a59c * src/text.C: remove FIXME because inset-dissolve works!
use const_iterator to access paragraph insetlist; add
	FIXME in accept/rejectChange


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16049 a592a061-630c-0410-9148-cb99ea01b6c8
2006-11-25 23:30:58 +00:00
Bo Peng
7b031e5d86 Add inset clearpage and cleardoublepage, from Urgas
* src/insets/insetert.C
	* src/text3.C
	* src/lfuns.h
	* src/factory.C
	* src/tex2lyx/text.C
	* src/text.C
	* src/LyXAction.C: add and handle LFUN_CLEARPAGE_INSET and LFUN_CLEARDOUBLEPAGE_INSET
	* src/insets/insetpagebreak.h/C: extend InsetPageBreak
	* lib/lyx2lyx/lyx_1_5.py: file format change
	* lib/ui/stdmenus.ui: add menu items


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16037 a592a061-630c-0410-9148-cb99ea01b6c8
2006-11-25 15:09:01 +00:00
Michael Schmitt
d7d9af5fa0 * src/text.C: fix change tracking for backspace
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16035 a592a061-630c-0410-9148-cb99ea01b6c8
2006-11-25 00:31:44 +00:00
Michael Schmitt
a895406082 * src/text.C: fix end-of-par handling (change tracking);
remove blank lines; add {} around else branch


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16031 a592a061-630c-0410-9148-cb99ea01b6c8
2006-11-24 22:12:04 +00:00
Michael Schmitt
3770e1a342 * src/text.C: remove change tracking FIXME
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16020 a592a061-630c-0410-9148-cb99ea01b6c8
2006-11-23 22:37:09 +00:00
Georg Baum
e0e00a92fc avoid one string copy by s/from_utf8(lex.getString())/lex.getDocString()/
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16009 a592a061-630c-0410-9148-cb99ea01b6c8
2006-11-22 09:15:38 +00:00
Jean-Marc Lasgouttes
7c1b006288 * text.C (erase): when deleting a text inset in change-tracking
mode, make the cursor jump over it; avoid crash in setCursorIntern
	by using the right LyXText.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16001 a592a061-630c-0410-9148-cb99ea01b6c8
2006-11-20 18:47:27 +00:00
Abdelrazak Younes
c66d2f1ee5 Optimize drawing.
* BufferView:
  - update(): returns a pair of bools in order to inform for singlePar cases.
  - workAreaDispatch(): ditto and simplify the logic by using cursor update flags.

* text.C
  - breakParagraph(): change the cursor update flag as needed.
  - insertChar(): ditto.
  - erase(): ditto
  - redoParagraph(): now returns true if there is a height change.

* text3.C: dispatch():
  - initialize the cursor flag at the beginning
  - LFUN_MOUSE_PRESS: no need to update.
  - LFUN_MOUSE_RELEASE: ditto.
  - add some FIXMEs and comments.

* LyXFunc::dispatch(): simplify the BufferView update.

* insets/insetcollapsable.C: clarify and simplify the logic in doDispatch().

* WorkArea::dispatch(): redraw only if needed.



git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15958 a592a061-630c-0410-9148-cb99ea01b6c8
2006-11-17 17:42:52 +00:00
Georg Baum
1c3755244f Fix bug 2393 (from Dov Feldstern)
* src/lyxtext.h
	* src/text.C
	(LyXText::charsTranspose): New method for transposing characters

	* src/text.C
	(LyXText::dispatch): Call charsTranspose for LFUN_CHARS_TRANSPOSE


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15951 a592a061-630c-0410-9148-cb99ea01b6c8
2006-11-17 09:03:30 +00:00
Abdelrazak Younes
03522cf7ca * LyXText::erase(): make sure the paragraph breaking is up to date. This might be not needed with current svn but will be needed for the future optimize-drawing patch.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15905 a592a061-630c-0410-9148-cb99ea01b6c8
2006-11-13 16:59:10 +00:00
Georg Baum
92d47b0246 Fix bug 2978 (inset-dissolve does not reset latex language)
* src/text.C
	(LyXText::dissolveInset): Reset language to buffer language if the
	dissolved inset is an ERT inset.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15888 a592a061-630c-0410-9148-cb99ea01b6c8
2006-11-12 16:11:51 +00:00
Abdelrazak Younes
cf7084771c Fix comments.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15885 a592a061-630c-0410-9148-cb99ea01b6c8
2006-11-12 14:59:35 +00:00
Abdelrazak Younes
1fc6b32689 * text.C:
- LyXText::breakParagraph(): Redo paragraphs before setCursor()
  - LyXText::insertChar(): ditto

* lyxfunc.C: take into account BufferView::update() returned value for WorkArea redrawing.

* BufferView::update(): we also need a second step in singlePar mode.

* WorkArea.C
  - startBlinkingCursor(): also show the cursor
  - stopBlinkingCursor(): also remove the visible cursor
  - processKeySym(): stop and start the cursor blinking instead of merely hide and show it.



git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15884 a592a061-630c-0410-9148-cb99ea01b6c8
2006-11-12 14:47:20 +00:00
Abdelrazak Younes
df2aea27c6 * LyXText::backspace(): redo paragraph rows. This is needed now because we don't do this automatically at each setCursor() call. More of this kind of fixes will probably come.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15882 a592a061-630c-0410-9148-cb99ea01b6c8
2006-11-12 13:12:59 +00:00
Georg Baum
1354f4b6d6 Unicode: Avoid another from_utf8(to_utf8()) roundtrip
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15854 a592a061-630c-0410-9148-cb99ea01b6c8
2006-11-11 11:27:47 +00:00
Abdelrazak Younes
12df886453 Micro-optimisation, avoid rightMargin() call in two loop.
* LyXText:
  - rowBreakPoint(): now requires the right margin value.
  - redoParagraph(): factorize rightMargin() call from two loops.
  - editXY(): add doxygen comments.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15802 a592a061-630c-0410-9148-cb99ea01b6c8
2006-11-08 11:27:06 +00:00
Michael Schmitt
4c765ba889 * src/text.C: (backspacePos0): rewrite to make it simple and allow
deleting empty paragraphs even when keepempty is true. Do not rely
	on dEPM, since this was silly (bugs 2587 and 2882)
	(Delete): simplify also and avoid calling backspace.
	(backspace): small tweak.
	(patch by Jean-Marc)


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15801 a592a061-630c-0410-9148-cb99ea01b6c8
2006-11-07 23:02:44 +00:00
Asger Ottar Alstrup
44b212878b - Avoid lyxerr[] like the plague. Use if (lyxerr.debugging( ... )) instead.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15792 a592a061-630c-0410-9148-cb99ea01b6c8
2006-11-07 21:31:33 +00:00
Abdelrazak Younes
06d51efd7c remove old duplicate LyXText::drawSelection() (from revision 9325 aka "CoordBranch merge")
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15782 a592a061-630c-0410-9148-cb99ea01b6c8
2006-11-07 16:47:01 +00:00
Michael Schmitt
822ef847ed * text.C: fix another change tracking FIXME
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15680 a592a061-630c-0410-9148-cb99ea01b6c8
2006-11-01 21:17:56 +00:00
Michael Schmitt
d2ac9566ff * text.C: remove FIXME for change tracking; the
code is fine as it is


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15678 a592a061-630c-0410-9148-cb99ea01b6c8
2006-11-01 18:53:06 +00:00
Abdelrazak Younes
27ef7c726f * LyXText::singleWidth(): remove unneeded Buffer argument.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15627 a592a061-630c-0410-9148-cb99ea01b6c8
2006-10-30 20:10:35 +00:00