Commit Graph

359 Commits

Author SHA1 Message Date
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
3c348b6486 * src/lyxtext.h: the use of backspacePos0 is dangerous as it
does not honour change tracking => make it a private method;
	clarify the description of backspacePos0 (it does not always
	merge paragraphs)


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16033 a592a061-630c-0410-9148-cb99ea01b6c8
2006-11-24 22:26:22 +00:00
Abdelrazak Younes
34600f5055 * Status.15x: updates.
* buffer.h: changed() signal do not have an argument now.

* BufferView.C:
  - setBuffer(): changed update() call to updateMetrics().
  - update(): sanitize how the flags are used.
  - scrollDocView():  add a call to updateMetrics() at the end.

* LyXFunc::dispatch(): adjust changed() signal emission.

* LyXText/text3.C:
  - cursorPrevious(): delete BufferView::update call; adjust cursor flag.
  - cursorNext(): ditto.

* frontends/LyXView.C: adjust Buffer::changed() signal connection.

* frontends/WorkArea.[Ch]:
  - redraw(): no need to re-update the metrics if we don't change views.
  

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15997 a592a061-630c-0410-9148-cb99ea01b6c8
2006-11-20 14:42:18 +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
Georg Baum
7e7d28a0ca Make it possible to uses non-ascii labelstring, endlabelstring and
labelstring_appendix in layout files

	* src/text2.C
	(LyXText::setLayout): Translate labelwidthstring for paragraph
	(LyXText::getStringToIndex): labelwidthstring is now a docstring

	* src/buffer.[Ch]
	(Buffer::translateLabel): New method for translating a label if it
	is not already translated by the user in the layout file

	* src/lyxtext.h
	(setParagraph): labelwidthstring is now a docstring

	* src/support/lstrings.[Ch]
	(bool isAscii): New utility function: Determine whether a docstring
	contains only pure ascii

	* src/text3.C
	(LyXText::dispatch): setParagraph() now takes a docstring

	* src/lyxlayout.C
	(LyXLayout::read): Don't use from_ascii when reading labelstring_,
	endlabelstring_ and labelstring_appendix_

	* src/buffer_funcs.C
	(setLabel): labelwidthstring is now a docstring
	(setLabel): Use Buffer::translateLabel instead of Buffer::B_ to
	translate labels
	(expandLabel): ditto


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15855 a592a061-630c-0410-9148-cb99ea01b6c8
2006-11-11 12:00:34 +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
Georg Baum
d06475855c Tiny unicode optimization: avoid ucs4->utf8->ucs4 roundtrip
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15735 a592a061-630c-0410-9148-cb99ea01b6c8
2006-11-04 14:40:59 +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
André Pönitz
6c300f72a2 move everything into namespace lyx
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15422 a592a061-630c-0410-9148-cb99ea01b6c8
2006-10-21 00:16:43 +00:00
Jean-Marc Lasgouttes
fe8d08d72f Improve Inset dissolve capability (bug 2201).
* src/insets/insettabular.C (getStatus):
	* src/insets/insettext.C (doDispatch,getStatus): remove special code
	for LFUN_INSET_DISSOLVE.

	* src/text.C (dissolveInset): new method.
	(erase, backspace): use dissolveInset. 

	* src/text3.C (dispatch): use dissolveInset for LFUN_INSET_DISSOLVE.
	(getStatus): disable LFUN_INSET_DISSOLVE if the inset has more than one 	cell.


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

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

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


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


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@14661 a592a061-630c-0410-9148-cb99ea01b6c8
2006-08-13 22:54:59 +00:00
Abdelrazak Younes
c5a4f61f33 This commit creates a error_lists map member inside the Buffer class.
I had no choice but to use string for the map key. This is
because the only information that could be passed to the controller is a
string.

With this new architecture, persistent error lists are now possible.

* Buffer
  - errorList_, addError(),  : deleted
  - std::map<std::string, ErrorList> errorLists_ : new member
  - errorList(std::string const & type): associated accessors

* buffer_funcs.C
  - bufferErrors(Buffer const & buf, TeXErrors const & terr): now needs a third errorList argument
  - bufferErrors(Buffer const & buf, ErrorList const & el): deleted.

* Converter
  - convert(): now needs an ErrorList argument instead of filling the Buffer errorList member directly.
  - runLaTeX(): ditto
  - scanLog(): ditto

* CutAndPaste.C
  - pasteParagraphList(): ditto
  - pasteSelection(): ditto

* lyxtext.h/text.C
  - readParagraph(): ditto
  - LyXText::read(): ditto

* importer:
  - Importer::Import(): ditto

* BufferView_pimpl.C
  - loadLyXFile(): send the Buffer::errors() signal instead of calling LyXView::showErrorList() directly.

* exporter.C
  - Export(): send the Buffer::errors() signal instead of calling LyXView::showErrorList() directly in lyxfunc.C

* ControlErrorList.C
  - initialiseParams(): translation operation transfered here from LyXView::showErrorList().

* LyXView.C
  - LoadLyXFile(): add a showErrorList("Parse") call.
  - showErrorList(): simplified due to code transferred to the ControlErrorList.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@14652 a592a061-630c-0410-9148-cb99ea01b6c8
2006-08-13 16:16:43 +00:00
Abdelrazak Younes
d8ae51dbe1 This is the merging of the GUI API cleanup branch that was developed in svn+ssh://svn.lyx.org/lyx/lyx-devel/branches/personal/younes.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@14152 a592a061-630c-0410-9148-cb99ea01b6c8
2006-06-20 08:39:16 +00:00
Lars Gullik Bjønnes
618ca28af6 * support/types.h: introduce the char_type type
* paragraph.h: make value_type point at char_type
* other files: change some bald 'char' to 'char_type'


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@13609 a592a061-630c-0410-9148-cb99ea01b6c8
2006-04-09 02:30:40 +00:00
Lars Gullik Bjønnes
cf4293824f * Change several freestanding and class methods with first letter
capitalized to have first letter lowercased.
* Adjust all affected files.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@13605 a592a061-630c-0410-9148-cb99ea01b6c8
2006-04-09 00:26:19 +00:00
Lars Gullik Bjønnes
3b9338a3a8 Whitespace cleanup.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@13565 a592a061-630c-0410-9148-cb99ea01b6c8
2006-04-05 23:56:29 +00:00
Lars Gullik Bjønnes
9d6cad3fe6 * output_latex.h:
* buffer.h:
        * CutAndPaste.h:
        * pariterator.h:
        * paragraph_funcs.h:
        * output_linuxdoc.h:
        * output_docbook.h:
        * insets/insettext.h: get forward declaration of ParagraphList

        * output_plaintext.C:
        * bufferlist.C:
        * undo.C:
        * lyxtext.h:
        * undo.h:
        * buffer_funcs.C:
        * insets/insetbibitem.C: get proper ParagraphList decls

        * output_linuxdoc.C (linuxdocParagraphs):
        * output_latex.C (TeXOnePar):
        * insets/insettext.C (appendParagraphs):
        * insets/insetcharstyle.C (docbook): use std::distance

        * CutAndPaste.C (pasteSelectionHelper, copySelectionHelper):
        * paragraph_funcs.C (breakParagraph,
        breakParagraphConservative, mergeParagraph):
        * text.C (acceptChange, rejectChange):
        * text2.C (deleteEmptyParagraphMechanism): use boost::next

        * output_docbook.C (several places): use boost::next and
        std::distance

        * ParagraphList_fwd.h: modify to provid a forward declaratoin
        of the new ParagraphList.

        * RandomAccessList.h: New container for Paragraphs from
        Abdelrazak Younes

        * ParagraphList.h: new file, setup user of RandomAccessList

        * paragraph.C: remove ParagraphList constructor from this file



git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@13467 a592a061-630c-0410-9148-cb99ea01b6c8
2006-03-23 20:11:06 +00:00
Jean-Marc Lasgouttes
08604e3519 bug 2298: cursorTop/Bottom/Home/End does not redraw after dEPM
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@13395 a592a061-630c-0410-9148-cb99ea01b6c8
2006-03-16 14:24:53 +00:00
Martin Vermeer
0887662683 doxygen documentation fix
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@13344 a592a061-630c-0410-9148-cb99ea01b6c8
2006-03-12 10:06:59 +00:00
Martin Vermeer
bcf1a16e10 Fix bug 880, or the multi-paragraph change tracking patch
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@13339 a592a061-630c-0410-9148-cb99ea01b6c8
2006-03-11 13:31:41 +00:00
Martin Vermeer
6688a55908 Fix bug 2115 ("blueline bug")
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@10808 a592a061-630c-0410-9148-cb99ea01b6c8
2006-02-05 13:20:16 +00:00
Lars Gullik Bjønnes
cfcb59904b fix some syntax errors
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@10695 a592a061-630c-0410-9148-cb99ea01b6c8
2006-01-01 20:28:05 +00:00
Martin Vermeer
5846f51332 Force update on paragraph merge
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@10673 a592a061-630c-0410-9148-cb99ea01b6c8
2005-12-19 12:30:34 +00:00
Jean-Marc Lasgouttes
d0cb16c256 fix bug 2146
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@10645 a592a061-630c-0410-9148-cb99ea01b6c8
2005-12-06 14:54:23 +00:00
Jean-Marc Lasgouttes
3246cc9a4a bug 2109: trigger dEPM when moving cursor with mouse
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@10637 a592a061-630c-0410-9148-cb99ea01b6c8
2005-12-01 10:28:50 +00:00
Georg Baum
dd6c706cef restore 1.3 behaviour when changing tabular columns to variable width
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@10625 a592a061-630c-0410-9148-cb99ea01b6c8
2005-11-28 11:52:03 +00:00
Jean-Marc Lasgouttes
8679982264 fix crash with DEPM when the cursor goes in a deeper inset
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@10573 a592a061-630c-0410-9148-cb99ea01b6c8
2005-10-25 09:14:11 +00:00
Jean-Marc Lasgouttes
20af9e8555 fix two crashes related to dEPM. Some crashes remain
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@10551 a592a061-630c-0410-9148-cb99ea01b6c8
2005-10-13 14:48:27 +00:00
Jean-Marc Lasgouttes
81efcd9cf6 fix compiler warnings (bug 1927)
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@10465 a592a061-630c-0410-9148-cb99ea01b6c8
2005-09-20 08:31:37 +00:00
André Pönitz
af5acb6dc7 ~4% speedup by inlining a few one-line accessors
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@10320 a592a061-630c-0410-9148-cb99ea01b6c8
2005-07-18 11:00:15 +00:00
André Pönitz
41ecabf519 make boundary property an iterator property instead of a CursorSlice property
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@10214 a592a061-630c-0410-9148-cb99ea01b6c8
2005-07-15 15:49:40 +00:00
André Pönitz
1a9992c796 partial fix for bug 622, cosmetic rest remains open
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@10195 a592a061-630c-0410-9148-cb99ea01b6c8
2005-07-15 00:39:44 +00:00
Martin Vermeer
a683500118 Axe processEvents, fix cursor draw artifacts, put update flags into an enum,
allow single-paragraph update


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@9986 a592a061-630c-0410-9148-cb99ea01b6c8
2005-05-31 14:40:30 +00:00
Jean-Marc Lasgouttes
61c245ca32 fix bug 1892 (cursor moves when inserting index or tabular)
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@9984 a592a061-630c-0410-9148-cb99ea01b6c8
2005-05-30 15:35:11 +00:00
Martin Vermeer
f2ae756062 Fix the metric bug left after fixing the inset font bug
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@9810 a592a061-630c-0410-9148-cb99ea01b6c8
2005-04-12 18:42:27 +00:00
Jean-Marc Lasgouttes
1e7112db43 fix counters updating mechanism
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@9682 a592a061-630c-0410-9148-cb99ea01b6c8
2005-02-25 11:55:36 +00:00
Jean-Marc Lasgouttes
3f4d173edf fix several GOTO lfuns (bug 1787, bug 616, bug 781 and bug 835)
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@9663 a592a061-630c-0410-9148-cb99ea01b6c8
2005-02-22 11:41:22 +00:00
Lars Gullik Bjønnes
8d88a0b2c9 the depm patch
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@9599 a592a061-630c-0410-9148-cb99ea01b6c8
2005-02-08 02:06:39 +00:00
Angus Leeming
e22c5f4d97 Asger's commentary, const-correct and bug-squashing little beauty.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@9558 a592a061-630c-0410-9148-cb99ea01b6c8
2005-01-31 16:29:48 +00:00
Alfredo Braunstein
70bcd97d45 remove paragraph::autoBreakRows
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@9397 a592a061-630c-0410-9148-cb99ea01b6c8
2004-12-17 16:27:12 +00:00
Alfredo Braunstein
a2cd656e25 CoordBranch merge
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@9325 a592a061-630c-0410-9148-cb99ea01b6c8
2004-11-30 01:59:49 +00:00
Lars Gullik Bjønnes
686f1e276f InsetOld -> InsetBase renaming
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@9310 a592a061-630c-0410-9148-cb99ea01b6c8
2004-11-25 19:13:07 +00:00
Alfredo Braunstein
ed064bdee6 par->pit renaming
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@9300 a592a061-630c-0410-9148-cb99ea01b6c8
2004-11-24 21:53:46 +00:00
André Pönitz
c7c1ec103f prepare for fat changes...
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@8949 a592a061-630c-0410-9148-cb99ea01b6c8
2004-08-15 21:59:29 +00:00
André Pönitz
93430a89da change a few par_type args in LyXText::* to Paragrpah & to speed things
up


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@8940 a592a061-630c-0410-9148-cb99ea01b6c8
2004-08-15 00:01:45 +00:00
Jean-Marc Lasgouttes
9e20808369 constify the various incarnations of editXY
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@8907 a592a061-630c-0410-9148-cb99ea01b6c8
2004-08-13 19:14:17 +00:00