Commit Graph

32 Commits

Author SHA1 Message Date
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
00c37e4781 This commit transfer the ErrorList handling from LyXView to Buffer. It also removes the need for the error signal and simplify the kerbel <-> frontend communication. I think it should speed-up _significantly_ the latex compilation for example in case of problematic files.
TODO 1: All occurrences of "LyXView::showErrorList()" in the "kernel" should be replaced by a boost signal emission (Buffer::errors()). This signal is already connected to this showErrorList() slot.

TODO 2: The ErrorList mechanism is used wrongly in a number of place, most notably in "Converter.C". Instead of replacing the ErrorList in the "Buffer" class, the "Converter" class should maintain its own list instead and connect directly to the LyXView::showErrorList() slot.

Buffer:
* errorList_: new private member and associated access methods.
* setErrorList(): new accessor method.
* addError(): apend an error to the errorList_.
* error(): deleted.
* errors(): new boost signal, unused for now. Shall be used instead of LyXView::showErrorList().

LyXView:
* getErrorList(), addError(), errorlist_, errorConnection_: deleted.
* errorsConnection_: new boost connection for the Buffer::errors() signal.

lyx_main.C:
* LyX::exec2(): manually print all errors.

BufferView.h: remove unneeded ErrorList forward declaration.

BufferView::pimpl::menuInsertLyXFile(): delete Buffer::error() connection and add a FIXME comment

text.C: Use Buffer::addError() instead of Buffer::error() signal emission.

ControlErrorList.C: get the ErrorList from the Buffer instead of LyXView


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@14467 a592a061-630c-0410-9148-cb99ea01b6c8
2006-07-15 22:43:37 +00:00
Abdelrazak Younes
a4032074c9 This commit continues the drastic diet operated on BufferView. It removes all boost signal connections from BufferView::pimpl and put them in LyXView. LyXView already inherits from boost::signals::trackable so this is not a big deal. If you look closely at the signal connections, it all makes sense IMO.
With this change, the only difference between BufferView.h and BufferView_pimpl.h is "cursor.h" so I think it is time to merge the two classes at last.

BufferView:
* showErrorList(), getErrorList(): transfered to LyXView.

BufferView::pimpl
* addError(), showReadonly(), connectBuffer(), disconnectBuffer(): transfered to LyXView.

CutAndPaste.C: adapted to API changes
frontends/controllers/ControlErrorList.C: ditto
lyxfunc.C: ditto 


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@14458 a592a061-630c-0410-9148-cb99ea01b6c8
2006-07-14 21:47:48 +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
Jean-Marc Lasgouttes
2688ee7626 improve warning
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@10634 a592a061-630c-0410-9148-cb99ea01b6c8
2005-11-30 10:51:02 +00:00
Jean-Marc Lasgouttes
4fb36820b2 improve selection of range when using the errorlist dialog
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@9994 a592a061-630c-0410-9148-cb99ea01b6c8
2005-06-03 08:48:04 +00:00
Jean-Marc Lasgouttes
06788449ec enable Goto error (bug 1760)
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@9464 a592a061-630c-0410-9148-cb99ea01b6c8
2005-01-11 13:22:42 +00:00
Lars Gullik Bjønnes
e34a1e90af obvious stuff
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@8851 a592a061-630c-0410-9148-cb99ea01b6c8
2004-07-25 00:04:42 +00:00
Angus Leeming
2a31934f38 Wrap most of the frontend code up inside namespace lyx::frontend.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@8766 a592a061-630c-0410-9148-cb99ea01b6c8
2004-05-19 15:11:37 +00:00
Angus Leeming
0424a53b20 Wrap all #warning calls inside #ifdef WITH_WARNINGS blocks.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@8598 a592a061-630c-0410-9148-cb99ea01b6c8
2004-04-05 09:36:28 +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
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
Angus Leeming
120e59bc97 64 bit compile fixes.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@8525 a592a061-630c-0410-9148-cb99ea01b6c8
2004-03-24 17:06:17 +00:00
Lars Gullik Bjønnes
c812bf5ba4 unpimplify ParIterator, move some functions around, remove some friends.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@8374 a592a061-630c-0410-9148-cb99ea01b6c8
2004-01-27 15:14:34 +00:00
André Pönitz
691594432d more shuffling...
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@8347 a592a061-630c-0410-9148-cb99ea01b6c8
2004-01-14 17:21:39 +00:00
Alfredo Braunstein
338b173b3c finer error handling
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@8054 a592a061-630c-0410-9148-cb99ea01b6c8
2003-11-06 10:52:15 +00:00
André Pönitz
dcd8fb0428 replace ParagraphList::iterator by lyx::paroffset_type to prevent cursor
invalidation if the paragraphlist is changed.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@7883 a592a061-630c-0410-9148-cb99ea01b6c8
2003-10-09 10:52:12 +00:00
Lars Gullik Bjønnes
44cd0fc9a1 The std::string mammoth path.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@7862 a592a061-630c-0410-9148-cb99ea01b6c8
2003-10-06 15:43:21 +00:00
Angus Leeming
f3bff9d5d8 Move depth_type to support/types.h.
Remove paragraph.h from buffer.h, paragraph_funcs.h.
Add paragraph.h to a heap of .C files.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@7694 a592a061-630c-0410-9148-cb99ea01b6c8
2003-09-06 17:23:08 +00:00
Angus Leeming
97035ea00a Another 49 #includes bite the dust.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@7681 a592a061-630c-0410-9148-cb99ea01b6c8
2003-09-05 15:31:19 +00:00
Angus Leeming
1dffc5cfe4 Move #includes out of header files.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@7659 a592a061-630c-0410-9148-cb99ea01b6c8
2003-09-04 03:54:04 +00:00
Lars Gullik Bjønnes
b881ed2d5a Use Buffer const reference in most placees possible.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@7623 a592a061-630c-0410-9148-cb99ea01b6c8
2003-08-28 07:41:31 +00:00
Angus Leeming
0be0fcfd59 If I ever see another licence blurb again, it'll be too soon...
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@7598 a592a061-630c-0410-9148-cb99ea01b6c8
2003-08-23 00:17:00 +00:00
André Pönitz
221f1be82d remove toggleSelection
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@7552 a592a061-630c-0410-9148-cb99ea01b6c8
2003-08-15 10:24:39 +00:00
André Pönitz
07bfd64255 replace "complicate" BufferView::update(...) calls with simpler ones.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@7491 a592a061-630c-0410-9148-cb99ea01b6c8
2003-08-04 09:06:35 +00:00
André Pönitz
596dec6592 return a Paragraph & from ParIterator::operator*()
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@7161 a592a061-630c-0410-9148-cb99ea01b6c8
2003-06-12 11:09:55 +00:00
André Pönitz
204a070130 return a ParIterator from getParFromID
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@6996 a592a061-630c-0410-9148-cb99ea01b6c8
2003-05-22 08:01:41 +00:00
Alfredo Braunstein
2a882902eb get rid of InsetError users
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@6986 a592a061-630c-0410-9148-cb99ea01b6c8
2003-05-20 16:51:31 +00:00
Alfredo Braunstein
447e92fe8e two small bugs in the errorlist
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@6963 a592a061-630c-0410-9148-cb99ea01b6c8
2003-05-14 09:36:52 +00:00
Lars Gullik Bjønnes
9a3ed31897 fix compile
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@6959 a592a061-630c-0410-9148-cb99ea01b6c8
2003-05-13 23:12:45 +00:00
Alfredo Braunstein
3e2abfdd78 the errorlist change
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@6958 a592a061-630c-0410-9148-cb99ea01b6c8
2003-05-13 21:15:48 +00:00