Commit Graph

741 Commits

Author SHA1 Message Date
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
Abdelrazak Younes
eb651c3d61 Move BufferView cached pointer out of LyXText:
* LyXText
  - bv(), bv_owner, : deleted.
  - These methods now need a (Buffer const &) argument: getFont(), applyOuterFont(), getLayoutFont(), getLabelFont(), setCharFont(), setLayout(), singleWidth(), leftMargin(), rightMargin(), computeRowMetrics(), isMainText(), spacing(), isRTL(), cursorX(), rowBreakPoint(), setRowWidth(), labelFill(), labelEnd().
  - These methods now need a (BufferView const &) argument and are propably candidates for future removal when 1.6 is opened for development: redoParagraph(), x2pos(), getRowNearY(), getColumnNearX(), checkInsetHit(), setHeightOfRow().
  - recUndo(): now need a LCursor argument.
 
* CoordCache::get(LyXText const *, pit_type):
  - now const.
  - use const_iterator instead of iterator.

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

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

* InsetText::setViewCache(): deleted

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



 
  

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15618 a592a061-630c-0410-9148-cb99ea01b6c8
2006-10-30 12:45:33 +00:00
Michael Schmitt
ae1346990b change tracking:
Better change time handling. Quote from Changes.C:

  Class Change has a changetime field that specifies the exact time at which
  a specific change was made. The change time is used as a guidance for the
  user while editing his document. Presently, it is not considered for LaTeX
  export. To avoid that every keystroke results in a separate change, a
  tolerance interval of 5 minutes is used. That means if there are two adjacent
  changes that only differ in their change time with abs(ct1 - ct2) < 300 sec,
  they will be merged (and the later change time is preserved).
  Technically, the check for equality (or similarity) is made in
  operator==(...). The merging of similar changes happens in method merge().

Resolve FIXMEs for LyX & LaTeX output.



git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15569 a592a061-630c-0410-9148-cb99ea01b6c8
2006-10-26 19:00:28 +00:00
Michael Schmitt
d53d4a5c35 change tracking:
* src/*.C:
	* src/insets/*.C: implement rejectChanges() in analogy to
	acceptChanges();
	
	* src/paragraph_pimpl.C: add assertions for pos, start, and 
	end parameters


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15542 a592a061-630c-0410-9148-cb99ea01b6c8
2006-10-24 21:38:47 +00:00
Michael Schmitt
00ffa3ca7c change tracking:
* src/paragraph.h: rename acceptChange() to acceptChanges()
        * src/insets/insetbase.h:
        * src/insets/insettext.h:
        * src/insets/insettabular.h: add acceptChanges()
        * src/*.C: fix acceptChanges() (& also accept changes in nested
        insets)


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15520 a592a061-630c-0410-9148-cb99ea01b6c8
2006-10-24 06:11:45 +00:00