Commit Graph

47 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
Georg Baum
04986c096a Fix bug 2404
* src/lyx_cb.C
	(newFile): Only set the new buffer if it is valid

	* src/BufferView_pimpl.C
	(BufferView::Pimpl::loadLyXFile): Test whether newFile succeeded

	* src/lyxfunc.C
	(LyXFunc::menuNew): Only set the new buffer if it is valid
	(LyXFunc::open): ditto

	* src/importer.C
	(Importer::Import): ditto

	* src/lyx_main.C
	(LyX::exec2): Only use the new buffer if newFile succeeded

	* src/buffer_funcs.C
	(newFile): discard the buffer and return 0 if the template is invalid


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@14474 a592a061-630c-0410-9148-cb99ea01b6c8
2006-07-17 15:13:49 +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
8c0bd3a77b * TocBackend.[Ch]: new files defining class TocBackend. This class contains adapted code from former toc.C
* toc.[Ch]:
    - rewritten to take advantage of new TocBackend class. The toc
    cache is implemented as a static variable:
    static map<Buffer const *, lyx::TocBackend> toc_backend_;

* buffer_funcs.C:
    updateLabels(Buffer const & buf) now calls
    "lyx::toc::updateToc(buf);"

* pariterator.h: added default constructor
    ParConstIterator(): DocIterator() {}

* insetfloat.C: added pit parameter to TocItem construction

* insetwrap.C: added pit parameter to TocItem construction

* MenuBackend.C: use a const ref instead of a copy of TocList

* ControlToc.[Ch]: optimisation of the API by using const reference instead of copy.

* qt4/TocPanel.[Ch]:
    - optimisation of the API by using const reference instead of
    copy
    - directly use of TocBackend::TocIterator instead of identification by paragraph contents.

* qt4/QToc.C:
    - optimisation of the API by using const reference instead of
    copy
    - makes use of TocBackend::Item::uid()

* qt2/QToc.C:
    - use TocItem::depth() and TocItem::str() instead of public member access.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@13713 a592a061-630c-0410-9148-cb99ea01b6c8
2006-04-22 18:48:28 +00:00
Abdelrazak Younes
f6bcac7285 * src/buffer_funcs.[Ch]
- updateCounters renamed to updateLabels
 - void updateLabels(Buffer const & buf,
   ParIterator & it): new convenience function
 - void updateLabels(Buffer const & buf,
   ParIterator & from, ParIterator & to): new convenience function
 - setCounter renamed to setLabel
 - bool tryToUpdateCurrentLabel(Buffer const & buf,
   ParIterator & it): new method
 - needsUpdateCounters: deleted

* src/BufferView_pimpl.C
* src/CutAndPaste.C
* src/frontends/controllers/ControlDocument.C
* src/lyxfunc.C
* src/text.C
* src/text2.C
* src/text3.C
 - fixed the calls to updateLabels


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@13689 a592a061-630c-0410-9148-cb99ea01b6c8
2006-04-16 14:19:25 +00:00
Georg Baum
cc0a9f811c * src/buffer_funcs.C (setCounter): Ignore the layout label string in
paragraphs without label


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@13633 a592a061-630c-0410-9148-cb99ea01b6c8
2006-04-11 08:24:15 +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
8c93f63b48 * filetools.[Ch]: Make functions that start with a capital
letter start with a lower letter.
	* All other .C and .h in the cs: adjust for above change


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@13603 a592a061-630c-0410-9148-cb99ea01b6c8
2006-04-08 22:31:11 +00:00
Abdelrazak Younes
4b0a5549b1 * buffer_funcs.[Ch]: new needsUpdateCounters function
* text.C:
 - LyXText::breakParagraph(): test if needsUpdateCounters() is enough before a full updateCounter
 - LyXText::backspacePos0(): ditto

* text2.C:
 - LyXText::deleteEmptyParagraphMechanism(): ditto


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@13593 a592a061-630c-0410-9148-cb99ea01b6c8
2006-04-07 22:16:09 +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
Martin Vermeer
e2cd4d4c44 Helge's infamous brackets bug
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@10768 a592a061-630c-0410-9148-cb99ea01b6c8
2006-01-23 10:56:47 +00:00
Georg Baum
238411b596 prevent endless loop (bug 2121)
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@10630 a592a061-630c-0410-9148-cb99ea01b6c8
2005-11-29 13:39:03 +00:00
Jean-Marc Lasgouttes
120b55bc7c fix linking of tex2lyx by moving code out of Counters class
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@10433 a592a061-630c-0410-9148-cb99ea01b6c8
2005-09-09 14:52:55 +00:00
Martin Vermeer
6c3d48c0c6 Fix and simplify Hebrew (generally: locale non-standard) counters
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@10430 a592a061-630c-0410-9148-cb99ea01b6c8
2005-09-08 16:57:13 +00:00
Jean-Marc Lasgouttes
0424e3b04a display of counters in various situations (in particular bug 465)
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@10387 a592a061-630c-0410-9148-cb99ea01b6c8
2005-08-03 20:21:11 +00:00
Angus Leeming
70572847e2 Whitespace, only whitespace. s/ +$//
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@10024 a592a061-630c-0410-9148-cb99ea01b6c8
2005-06-09 09:58:08 +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
971d9986b7 fix bug 1807: New on-screen translations do not work
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@9960 a592a061-630c-0410-9148-cb99ea01b6c8
2005-05-20 09:13:42 +00:00
Jean-Marc Lasgouttes
2b6b957d3e various toc-related fixes
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@9938 a592a061-630c-0410-9148-cb99ea01b6c8
2005-05-12 10:16:04 +00:00
Martin Vermeer
3956781c54 Ungoose (degoose?) bibliography
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@9909 a592a061-630c-0410-9148-cb99ea01b6c8
2005-05-05 18:33:50 +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
Jean-Marc Lasgouttes
887137a87a honor secnumdepth for section headers; avoid multiple labels for environments; update counters when switching class
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@9831 a592a061-630c-0410-9148-cb99ea01b6c8
2005-04-19 09:04:25 +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
Lars Gullik Bjønnes
b6e6f87f71 ditch FileInfo -> use boost.filesystem
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@9547 a592a061-630c-0410-9148-cb99ea01b6c8
2005-01-31 10:42:26 +00:00
Lars Gullik Bjønnes
46756fd9e4 the const patch
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@9443 a592a061-630c-0410-9148-cb99ea01b6c8
2005-01-05 20:21:27 +00:00
Jean-Marc Lasgouttes
a839021d22 implement Word counting (bug 728)
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@9402 a592a061-630c-0410-9148-cb99ea01b6c8
2004-12-27 16:30:27 +00:00
Lars Gullik Bjønnes
13c24dd556 * lyxfunctional.h: delete back_inserter_fun functions and helper
classes.
* lyx_gui.C (start): use for_each instead of explicit for loop
* cursor.C (insert): use for_each instead of explicit for loop

* bufferlist.C (getFileNames): use std::transform and
std::back_inserter instead of std::copy and lyx::back_inserter_fun.

* buffer_funcs.C (bufferErrors): use for_each instead of explicit
for loop

* buffer.C (changeLanguage): use for_each instead of explicit for
loop
(hasParWithID): implement using getParFromID

* LaTeXFeatures.C: ws change only

* CutAndPaste.C (replaceSelectionWithString): Use a temporary var
to cleanup a bit.

* BufferView_pimpl.C (trackChanges): use for_each instead of
expilicit for loop


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@9182 a592a061-630c-0410-9148-cb99ea01b6c8
2004-11-06 15:23:12 +00:00
Alfredo Braunstein
9590084489 add a 'cancel' button to the two alert dialogs triggered in File->Open
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@8534 a592a061-630c-0410-9148-cb99ea01b6c8
2004-03-26 17:49:08 +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
Angus Leeming
78d3fbdac3 Set 'fully_loaded' when starting a new file too...
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@7954 a592a061-630c-0410-9148-cb99ea01b6c8
2003-10-22 14:40:24 +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
57a24ea912 Replace 'using namespace abc;' with 'using abc::xyz;'
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@7725 a592a061-630c-0410-9148-cb99ea01b6c8
2003-09-09 22:13:45 +00:00
Angus Leeming
e835c9477b Pimpl Buffer.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@7719 a592a061-630c-0410-9148-cb99ea01b6c8
2003-09-09 11:24:33 +00:00
Angus Leeming
fd36f5ad76 Make buffer's member variables private; use accessor functions.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@7717 a592a061-630c-0410-9148-cb99ea01b6c8
2003-09-09 09:47:59 +00:00
Angus Leeming
462eca7d1a Remove a couple of #includes from buffer.h
Reorder #includes in lots of files into some semblence of a coherent order.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@7695 a592a061-630c-0410-9148-cb99ea01b6c8
2003-09-06 18:38:02 +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
91de22ef34 Strip 320 #includes from the files in src.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@7684 a592a061-630c-0410-9148-cb99ea01b6c8
2003-09-05 16:31:30 +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
Alfredo Braunstein
5fb7795b10 Fix to Bug 1287 and Bug 1297
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@7443 a592a061-630c-0410-9148-cb99ea01b6c8
2003-07-29 16:40:26 +00:00
Lars Gullik Bjønnes
8721e76079 more compress support
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@7419 a592a061-630c-0410-9148-cb99ea01b6c8
2003-07-28 14:40:29 +00:00
Alfredo Braunstein
e3fc822783 Added new signals to Buffer, connect/disconnect to them in BufferView, added BufferView::newFile
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@7242 a592a061-630c-0410-9148-cb99ea01b6c8
2003-07-07 08:37:02 +00:00
Lars Gullik Bjønnes
92d522b7f1 introduce namespace lyx::support
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@7224 a592a061-630c-0410-9148-cb99ea01b6c8
2003-06-30 23:56:22 +00:00
Alfredo Braunstein
3508b30871 More errorlist adjustements.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@7209 a592a061-630c-0410-9148-cb99ea01b6c8
2003-06-24 20:42:15 +00:00
Alfredo Braunstein
2d8eb4b9d4 take several functions out of BufferList, and split functionality
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@7195 a592a061-630c-0410-9148-cb99ea01b6c8
2003-06-20 12:46:28 +00:00