Commit Graph

140 Commits

Author SHA1 Message Date
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
Michael Schmitt
9095690af0 * src/paragraph_funcs.C: remove FIXMEs for change tracking
(everything was fine); output lyxerr debug message


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16060 a592a061-630c-0410-9148-cb99ea01b6c8
2006-11-26 13:35:11 +00:00
Michael Schmitt
db1bbb4a98 * src/paragraph_funcs.C: fix end-of-par handling in
breakParagraph(); remove ancient comment on user-friendly
	layout handling


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16057 a592a061-630c-0410-9148-cb99ea01b6c8
2006-11-26 11:14:16 +00:00
Michael Schmitt
3e2629c931 * src/paragraph_funcs.C: moveItem() now really moves
items (instead of corrupting the source); adjust
	calls to moveItem(); clean up breakParagraphConservative()
	with regards to change tracking


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16047 a592a061-630c-0410-9148-cb99ea01b6c8
2006-11-25 23:02:10 +00:00
Michael Schmitt
30748f1b03 change tracking:
* src/paragraph_funcs.C: fix end-of-par handling;
	fix various CT-related comments


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15757 a592a061-630c-0410-9148-cb99ea01b6c8
2006-11-05 19:00:53 +00:00
Michael Schmitt
c15a94ccf0 change tracking:
* paragraph_funcs.C: moveItem(): rename and
	reorder parameters to make the function better understandable;
	do not pass a Change parameter, because the function is able to
	retrieve the right change by itself; adjust all function calls;
	simplify the CT code and remove 3 FIXMEs at the same time


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15756 a592a061-630c-0410-9148-cb99ea01b6c8
2006-11-05 18:39:03 +00:00
Asger Ottar Alstrup
51ed92d70c - Fix erase selections broken by "changeTracking" it
seems. ChangeTracking responsible please verify all 
  erase/eraseChar where we added false or where it is 
  called without changetracking bool (jug).


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15456 a592a061-630c-0410-9148-cb99ea01b6c8
2006-10-21 17:05:20 +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
Michael Schmitt
6559e4b4db change tracking:
src/paragraph_funcs.C: add FIXME (and check later)


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15381 a592a061-630c-0410-9148-cb99ea01b6c8
2006-10-19 18:18:10 +00:00
Michael Schmitt
9acb432b0c change tracking:
* src/paragraph.h: remove eraseIntern(); pass trackChanges to
        erase(...) (2 methods)
        * src/paragraph_pimpl.h: rename eraseIntern() to erase();
        pass trackChanges to other erase(...) (2 methods)
        * src/insets/insettext.C:
        * src/*.C: adjust properly


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15380 a592a061-630c-0410-9148-cb99ea01b6c8
2006-10-19 17:46:50 +00:00
Michael Schmitt
1b5f5e58ed Change tracking:
* src/paragraph.h: remove enum ChangeTracking;
	remove default parameters for insertChar and insertInset
	* src/BufferView.h: constify getCurrentChange()
	* src/changes.h: make Change constructor explicit
	* src/insets/*.C: 
	* src/*.C: adjust accordingly; add FIXMEs


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15302 a592a061-630c-0410-9148-cb99ea01b6c8
2006-10-11 20:01:32 +00:00
Georg Baum
86c320d9ba Remove unused stuff. To anybody who moves functions around:
Please don't forget to clean up includes and using directives.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15300 a592a061-630c-0410-9148-cb99ea01b6c8
2006-10-11 18:54:47 +00:00
Michael Schmitt
238b880c22 Change tracking:
Remove methods
   * trackChanges(...)
   * untrackChanges(...)
   * cleanChanges(...)


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15262 a592a061-630c-0410-9148-cb99ea01b6c8
2006-10-06 19:59:41 +00:00
Michael Schmitt
eb11f2c542 Change tracking:
* rename output_changes to outputChanges
 * rename tracking_changes to trackChanges
 * add FIXMEs for later revision
 * remove trackChanges(); the CT data structure will always be set up
 * decouple LFUNs changes-output/change-accept/change-reject/
   all-changes-accept/all-changes-reject from LFUN changes-track



git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15261 a592a061-630c-0410-9148-cb99ea01b6c8
2006-10-06 18:53:35 +00:00
Jean-Marc Lasgouttes
349aac558e * paragraph_funcs.C (breakParagraph): make sure to respect nesting
when depth > 0 (bug 2445)/



git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15002 a592a061-630c-0410-9148-cb99ea01b6c8
2006-09-15 09:38:40 +00:00
Michael Schmitt
10c8081a54 src/paragraph.h:
remove lookupChangeType;
  rename setChange to setChangeType;
  rename setChangeFull to setChange

src/paragraph_pimpl.h:
  remove lookupChange;
  rename lookupChangeFull to lookupChange;
  rename setChange to setChangeType;
  rename setChangeFull to setChange

src/changes.h: remove lookup;
  rename lookupFull to lookup;
  rename loose_contains to containsOrPrecedes;

adjust the other files accordingly


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@13812 a592a061-630c-0410-9148-cb99ea01b6c8
2006-05-08 20:30:52 +00:00
Michael Schmitt
d7bcff50a9 src/paragraph.h:
src/BufferView_pimpl.C:
	src/lyxfunc.C:
	src/paragraph_funcs.C:
	src/lyxfind.C:
	src/bufferparams.h:
	src/rowpainter.C:
	src/paragraph.C:
	src/text.C: rename methods: lookupChange => lookupChangeType,
	lookupChangeFull => lookupChange


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@13802 a592a061-630c-0410-9148-cb99ea01b6c8
2006-05-05 23:11: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
Martin Vermeer
c4caed1283 * paragraph_funcs.C
(breakParagraph): fix bug 2445 (I think)



git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@13548 a592a061-630c-0410-9148-cb99ea01b6c8
2006-04-03 18:28:13 +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
Martin Vermeer
f42db3f4b2 Change tracking -related bug fixes (reported by Juergen) and some
documentation work



git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@13385 a592a061-630c-0410-9148-cb99ea01b6c8
2006-03-16 06:54:08 +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
André Pönitz
627b8df878 remove unneeded function Paragraph::checkInsertChar, fix small bug in boundary handling
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@10240 a592a061-630c-0410-9148-cb99ea01b6c8
2005-07-16 12:02:31 +00:00
Lars Gullik Bjønnes
aa97bf0866 bug 313 dont reset the layout on keepEmpty paragraphs
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@10208 a592a061-630c-0410-9148-cb99ea01b6c8
2005-07-15 13:51:41 +00:00
Angus Leeming
fb70c52b05 Whitespace, only whitespace.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@9877 a592a061-630c-0410-9148-cb99ea01b6c8
2005-04-26 11:12:20 +00:00
Jürgen Spitzmüller
2849fbae2a (Johnathan Burchill): change tracker fixes (bug 1827)
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@9685 a592a061-630c-0410-9148-cb99ea01b6c8
2005-02-28 07:43:12 +00:00
Jürgen Spitzmüller
0ad4181361 (Johnathan Burchill:) fix crash when pasting insets in change tracking mode [bug 1277]
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@9678 a592a061-630c-0410-9148-cb99ea01b6c8
2005-02-24 13:17:45 +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
Angus Leeming
68b0cca2e7 Whitespace, only whitespace.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@9314 a592a061-630c-0410-9148-cb99ea01b6c8
2004-11-26 14:52:54 +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
Jean-Marc Lasgouttes
6ae4dc23f4 allow more than one optional inset
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@9272 a592a061-630c-0410-9148-cb99ea01b6c8
2004-11-19 16:17:52 +00:00
Lars Gullik Bjønnes
ee2f79a479 remove usused using
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@9199 a592a061-630c-0410-9148-cb99ea01b6c8
2004-11-07 13:30:53 +00:00
Jean-Marc Lasgouttes
d194cfffa5 get rid of ownerPar(), which was super slow; fix tabular crash due to recently introduced BOOST_ASSERTs
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@8951 a592a061-630c-0410-9148-cb99ea01b6c8
2004-08-16 00:32:04 +00:00
Lars Gullik Bjønnes
a4ea144c32 bug 1305
Make sure that we keep the language over a rebreak.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@8911 a592a061-630c-0410-9148-cb99ea01b6c8
2004-08-13 20:26:26 +00:00
Lars Gullik Bjønnes
7c15014ec2 change "support/std_sstream.h" to <sstream>
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@8849 a592a061-630c-0410-9148-cb99ea01b6c8
2004-07-24 10:55:30 +00:00
Georg Baum
db707dab04 remove now unnecessary const casts
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@8757 a592a061-630c-0410-9148-cb99ea01b6c8
2004-05-17 11:28:31 +00:00
Lars Gullik Bjønnes
68b7ef25fb simple ws changes only
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@8594 a592a061-630c-0410-9148-cb99ea01b6c8
2004-04-03 08:37:12 +00:00
Alfredo Braunstein
3e80b0b318 the pariterator stuff
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@8554 a592a061-630c-0410-9148-cb99ea01b6c8
2004-03-28 22:00:22 +00:00
Alfredo Braunstein
979a4d8ecf fixes 3 c&p crashes, and a vanishing insets bug fix
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@8553 a592a061-630c-0410-9148-cb99ea01b6c8
2004-03-28 19:13:11 +00:00
Angus Leeming
3f70e153ee Ensure that insetlist always contains non-null pointers to insets.
Fix a couple of possible memory leaks.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@8546 a592a061-630c-0410-9148-cb99ea01b6c8
2004-03-27 13:24:16 +00:00
Angus Leeming
b11b6f78b1 Squash a bunch of compiler warnings.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@8538 a592a061-630c-0410-9148-cb99ea01b6c8
2004-03-27 01:18:51 +00:00
André Pönitz
0d43ba149a the stuff from the sneak preview:
For one, it still contains a few things that are already in CVS (the
'brown paperbag' changes).

Secondly, this changes the ParagraphList to a std::vector but does not
yet take full advantage of it except removing LyXText::parOffset() and
similar.

I had an extensive talk with my profiler and we are happy nevertheless.

This also moves almost all Cut&Paste specific stuff from text.C to
CutAndPaste.C. Much smaller interface now... Namespace CutAndPaste is
now  lyx::cap::. Was inconsistent with the rest....

Make ParagraphList a proper class. We'll need this later for a
specialized erase/insert.

Remove some unneeded prototypes and function declarations

Use ParameterStruct directly instead of ShareContainer<ParameterStruct>

Inline a few accesses to CursorSlice members as suggested by the profiler.

Fix commandline conversion crash reported by Kayvan.

Replace PosIterator by DocumentIterator. The latter can also iterate
through math and nested text in math...

Remove math specific hack from Documentiterator

Derive InsetCollapsable from InsetText instead of using an InsetText
member. This give us the opportunity to get rid of the InsetOld::owner_
backpointer.

Cosmetics in CutAndPaste.C and cursor.C. Fix nasty crash (popping slices
off an empty selection anchor). Add a few asserts.

Remove all 'manual' update calls. We do now one per user interaction which
is completely sufficient.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@8527 a592a061-630c-0410-9148-cb99ea01b6c8
2004-03-25 09:16:36 +00:00
André Pönitz
5198e1d9a3 The Buffer::LyXText -> Buffer::InsetText patch
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@8498 a592a061-630c-0410-9148-cb99ea01b6c8
2004-03-18 12:53:43 +00:00
André Pönitz
ec4ab8ce18 revert Buffer LyxText->InsetText commit
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@8489 a592a061-630c-0410-9148-cb99ea01b6c8
2004-03-11 17:16:38 +00:00
André Pönitz
1b3f5ee46f the Buffer::text -> inset change
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@8488 a592a061-630c-0410-9148-cb99ea01b6c8
2004-03-11 16:09:42 +00:00
André Pönitz
99aacdad5c more IU
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@8376 a592a061-630c-0410-9148-cb99ea01b6c8
2004-01-30 11:41:12 +00:00
André Pönitz
1eaa3eb913 more IU
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@8371 a592a061-630c-0410-9148-cb99ea01b6c8
2004-01-26 10:13:15 +00:00
André Pönitz
8fa8cfb4a3 remove Inset::getParagraphs()
cache 'outermost' inset font


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@8192 a592a061-630c-0410-9148-cb99ea01b6c8
2003-12-03 18:17:20 +00:00
André Pönitz
550785b004 patch sent to the list yesteday
* buffer.[Ch]:
	* lyxtext.h:
	* paragraph_funcs.[Ch]: consolidate parts of Buffer::read() and
	InsetText::read() as LyXText::read()


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@8190 a592a061-630c-0410-9148-cb99ea01b6c8
2003-12-03 15:27:16 +00:00