Commit Graph

102 Commits

Author SHA1 Message Date
Abdelrazak Younes
4d5ae916ad Fix bug 3293 by Bernhard Roider:
This changes the semantics of isOK() and operator(), comments from Bernhard below:

With the old version of lyxlex it was _impossible_ to check whether reading an integer, float, ... succeeded or not. The current solution to check for is.bad() in some cases and in other cases use is.good() does not give the desired information. Moreover the result of is.bad() depends on the stl implementation and behaves different for linux and windows.

the bug was introduced by the patch that fixed the bug that crashed lyx when "inset-insert ert" was executed from the command buffer.
The lexer has the method isOK() which reflects the status of the stream is.
The operators void* and ! are not really well defined (they depend on the value of is.bad()). What is missing is a test if the last reading operation was successful and thus the returned value is valid.
That's what i implemented in this patch.

The new rule for using the lexer:

if you want to know if the lexer still has data to read (either from the stream or from the pushed token) then use "lex.isOK()".
If you want to test if the last reading operation was successful then use eg. "if (lex) {...}" or unsuccessful then use eg. "if (!lex) {...}"

an example:

int readParam(LyxLex &lex) {

    int param = 1; // default value
    if (lex.isOK()) { // the lexer has data to read
        int p;    // temporary variable
        lex >> p;
        if (lex) param = p; // only use the input if the reading operation was successful
    }
    return param;
}




git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17569 a592a061-630c-0410-9148-cb99ea01b6c8
2007-03-26 13:43:49 +00:00
Georg Baum
4f1d5e72ef Fix bug 3235
* src/insets/insetcaption.C
	(InsetCaption::latex): Copy back encoding to runparams_in

	* src/insets/insetfoot.C
	(InsetFoot::latex): ditto

	* src/insets/insetnote.C
	(InsetNote::latex): ditto

	* src/exporter.C
	(Exporter::Export): Create runparams with document encoding

	* src/converter.C
	(bool Converters::convert): ditto

	* src/buffer.C
	(Buffer::writeLaTeXSource): Copy back encoding to runparams_in
	(Buffer::runChktex): Create runparams with document encoding
	(Buffer::changeRefsIfUnique): ditto

	* src/outputparams.[Ch]
	(encoding): New member

	* src/lyxfont.C
	(LyXFont::latexWriteStartChanges): Don't switch the encoding anymore.
	This is now done in Paragraph::simpleTeXOnePar.
	(LyXFont::latexWriteEndChanges): Ditto

	* src/output_latex.C
	(TeXOnePar): Ditto

	* src/paragraph.C
	(Paragraph::simpleTeXOnePar): Switch the encoding between font
	changes if needed.

	* All other files: Adjust to the changes above


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17470 a592a061-630c-0410-9148-cb99ea01b6c8
2007-03-18 10:59:16 +00:00
Georg Baum
2d85046fd7 Fix crash after inset-insert ert, from Bernhard Roider
Extend this to some other cases by me.

	* src/insets/insetert.C
	(void InsetERTMailer::string2params): Test for lex.isOK rather than
	lex, since the latter is also true if there was nothing to read.

	* src/insets/insetvspace.C
	(InsetVSpace::read): ditto
	(InsetVSpaceMailer::string2params): ditto

	* src/insets/insetnote.C
	(InsetNoteParams::read): ditto


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17284 a592a061-630c-0410-9148-cb99ea01b6c8
2007-02-20 20:48:23 +00:00
Michael Schmitt
3157f17825 * inset*.C:
* insetbase.h: introduce new enum PLAINTEXT_NEWLINE and use
	it instead of runparams.linelen for plaintex() return values


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17275 a592a061-630c-0410-9148-cb99ea01b6c8
2007-02-20 17:52:41 +00:00
Michael Schmitt
2ca15c641a * src/insets/insetbox.[Ch]:
* src/insets/insetnote.[Ch]: fix plaintext()


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17207 a592a061-630c-0410-9148-cb99ea01b6c8
2007-02-15 22:59:06 +00:00
Georg Baum
07e76f0911 get rid of more utf8 conversions
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16376 a592a061-630c-0410-9148-cb99ea01b6c8
2006-12-22 09:23:10 +00:00
André Pönitz
de6418f377 use more unicode in math
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15462 a592a061-630c-0410-9148-cb99ea01b6c8
2006-10-22 10:15:23 +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
Lars Gullik Bjønnes
0d449056ef Output docbook as utf8. Probably quite a bit more work needed, but then help form a docbook person is needed.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15387 a592a061-630c-0410-9148-cb99ea01b6c8
2006-10-19 21:00:33 +00:00
Georg Baum
8b67659646 Use UTF8 for LaTeX export.
Known problems:
- No space is output after a \hfill. I probably broke this with the
  InsetCommand patch. I'll have a look later.
- Although the encoding is now UTF8 the arguments of the inputenc package
  are still the old ones, so LaTeX will not run.
- Labels and references with non-ASCII characters are broken. This needs to
  be fixed in lyx::support::escape(), but this is a file format change.
- Something seems to be wrong with index entries, but this is probably also
  due to the InsetCommand changes.

Have fun!


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15378 a592a061-630c-0410-9148-cb99ea01b6c8
2006-10-19 16:51:30 +00:00
Georg Baum
34b7650cbb Introduce wide streams. This fixes the remaining problems of plain text
export (e.g. the ToC) and the navigate menu.

	* src/insets/insetbase.h
	(InsetBase::plaintext): output to a docstream
	(InsetBase::textString): ditto

	* src/mathed/TextPainter.h
	(TextPainter::show): ditto

	* src/support/docstream.[Ch] New file and string streams for
	docstring. The file streams convert to UTF8 on the fly.

	* many more files: Adjust to the changes above


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15301 a592a061-630c-0410-9148-cb99ea01b6c8
2006-10-11 19:40:50 +00:00
Abdelrazak Younes
055b0390dc * insetCollapsable:
- setLabel(), getNewLabel(), floatName(): converted to unicode


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15273 a592a061-630c-0410-9148-cb99ea01b6c8
2006-10-08 09:36:16 +00:00
Georg Baum
9b5a63aaaf Fix return value of InsetText::plaintext
* src/insets/insetnote.C
	(InsetNote::plaintext): Move line counting code from here ...

	* src/insets/insettext.C
	(InsetText::plaintext): ... here.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@14957 a592a061-630c-0410-9148-cb99ea01b6c8
2006-09-10 08:41:39 +00:00
Lars Gullik Bjønnes
edd81011ce Change editMessage to return a docstring, change functions to not use to_utf8.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@14953 a592a061-630c-0410-9148-cb99ea01b6c8
2006-09-09 18:52:00 +00:00
Lars Gullik Bjønnes
43b77ba2d7 Change _() to return a docstring. Fixup callers with the help of lyx::to_utf8.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@14952 a592a061-630c-0410-9148-cb99ea01b6c8
2006-09-09 15:27:44 +00:00
Georg Baum
1fc0c01877 convert lfun arguments to docstring
* src/support/docstring.[Ch]
	(from_ascii): new conversion function
	(from_utf8): new conversion function
	(to_utf8): new conversion function
	(operator==) new, compare docstring and ASCII C string
	(operator!=) new, compare docstring and ASCII C string

	* src/support/Makefile.am: add new file docstring.C

	* development/scons/scons_manifest.py: ditto

	* src/funcrequest.[Ch]
	(argument): change name to argument_ and type to docstring,
	add an accessor
	(FuncRequest): Add two new constructors taking a docstring argument

	* all other files: adjust to the FuncRequest changes above


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@14861 a592a061-630c-0410-9148-cb99ea01b6c8
2006-09-01 15:41:38 +00:00
Michael Schmitt
609889cb35 drop linuxdoc support (part 2)
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@14817 a592a061-630c-0410-9148-cb99ea01b6c8
2006-08-23 10:47:11 +00:00
Bo Peng
6be47509b8 Fix bug 2768 (inset comment eats space after it)
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@14692 a592a061-630c-0410-9148-cb99ea01b6c8
2006-08-15 15:12:26 +00:00
Martin Vermeer
1a77233c5f Add support for framed.sty
* src/LaTeXFeatures.C: add framed.sty

	(const * simplefeatures[]: add framed.sty
	(const LaTeXFeatures::getPackages): define shadecolor

	* src/insets/insetnote.h

	* src/insets/insetnote.C
	(const init_notetranslator):
	(InsetNote::setButtonLabel): add Framed and Shaded
	(InsetNote::latex): add output
	(InsetNote::validate): require framed.sty

	* src/buffer.C
	(BufferList bufferlist): new LyX version 246

	* src/frontends/qt3/ui/QNoteDialogBase.ui: add

	* src/frontends/qt3/QNoteDialog.C: add

	* src/frontends/qt3/QNote.C
	(QNote::update_contents): add framed, shaded
	(QNote::apply): add framed, shaded

	* src/LColor.[Ch]: add background colour for shaded

	* lib/lyx2lyx/LyX.py: New version support

	* lib/lyx2lyx/lyx_1_5.py: convert/revert

	* lib/chkconfig.ltx: add framed.sty

	* src/frontends/xforms/FormNote.C
	(FormNote::build):
	(FormNote::update): add FIXME

	* src/frontends/gtk/GNote.C
	(GNote::doBuild):
	(GNote::update):
	(GNote::apply): add FIXME

	* development/FORMAT: document format increase



git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@13993 a592a061-630c-0410-9148-cb99ea01b6c8
2006-06-03 16:46:27 +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
Georg Baum
1d57338353 fix bug 2153
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@10718 a592a061-630c-0410-9148-cb99ea01b6c8
2006-01-09 21:00:24 +00:00
Georg Baum
92379230ff remove unneeded calls to BufferView::update() in insets
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@9925 a592a061-630c-0410-9148-cb99ea01b6c8
2005-05-09 17:29:22 +00:00
Georg Baum
323cafa18c implement missing getStatus methods
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@9853 a592a061-630c-0410-9148-cb99ea01b6c8
2005-04-22 08:57:22 +00:00
Martin Vermeer
2e801efc57 Fix error message positioning
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@9766 a592a061-630c-0410-9148-cb99ea01b6c8
2005-03-31 14:34:57 +00:00
Lars Gullik Bjønnes
183239b7de rename priv_dispatch to doDispatch
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@9301 a592a061-630c-0410-9148-cb99ea01b6c8
2004-11-24 21:58:42 +00:00
Lars Gullik Bjønnes
59413be9a0 clone NVI, other small stuff
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@9295 a592a061-630c-0410-9148-cb99ea01b6c8
2004-11-23 23:04:52 +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
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
357a3741c0 * insettabular.[Ch]: remove remains of the 'update' mechanism,
simplify cursor moving function,
	  re-enable horizontal scrolling for large tables

	* insetbase.C:
	* insetbase.[Ch]: remove explicit 'DispatchResult' return type and
	  implicitly assume 'DispatchResult(true, true) with exception of
	  InsetBase::priv_dispatch which does the equivalent of
	  'retrun DispatchResult(false)'

	* inset*.[Ch] (priv_dispatch): adjust


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@8435 a592a061-630c-0410-9148-cb99ea01b6c8
2004-02-16 11:58:51 +00:00
André Pönitz
ccc5d55764 Part of IU.
####################################################################

          1.4.0cvs is now NOT fit for any serious use

####################################################################


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@8363 a592a061-630c-0410-9148-cb99ea01b6c8
2004-01-20 14:25:24 +00:00
André Pönitz
70d0ba9001 the monster patch
mathed is completely broken, but it's difficult to imprevo with such a
big patch in the tree.

If things don't improve until tomorrow evening, I'll revert this.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@8357 a592a061-630c-0410-9148-cb99ea01b6c8
2004-01-15 17:34:44 +00:00
Jean-Marc Lasgouttes
30f1fd59ae status tag patch from Georg
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@8315 a592a061-630c-0410-9148-cb99ea01b6c8
2004-01-07 14:36:43 +00:00
Angus Leeming
fd355bbb2f Remove a whole heap of redundant functions from classes derived from
InsetCommand.
Clean-up many Mailer::string2params functions.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@8233 a592a061-630c-0410-9148-cb99ea01b6c8
2003-12-11 15:23:15 +00:00
Angus Leeming
c2d7777341 InsetNote clean-up.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@8226 a592a061-630c-0410-9148-cb99ea01b6c8
2003-12-10 17:28:14 +00:00
Angus Leeming
24ab0d6c05 Clean-up of the Note, Branch mailer interface.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@8223 a592a061-630c-0410-9148-cb99ea01b6c8
2003-12-10 14:49:51 +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
de49e02934 the update/updateInset merge
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@8069 a592a061-630c-0410-9148-cb99ea01b6c8
2003-11-10 13:23:14 +00:00
José Matox
cd424d7853 Rename ascii to plaintext and LatexRunParams to OutputParams.
Create new files for each output format.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@8046 a592a061-630c-0410-9148-cb99ea01b6c8
2003-11-05 12:06:20 +00:00
André Pönitz
db78dbfa04 cursor changes
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@8035 a592a061-630c-0410-9148-cb99ea01b6c8
2003-11-04 12:36:59 +00:00
Lars Gullik Bjønnes
c1319d2c67 Change DispatchResult semantics a bit.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@8021 a592a061-630c-0410-9148-cb99ea01b6c8
2003-11-03 19:52:47 +00:00
Lars Gullik Bjønnes
cc719fe0ce more dispatchresult changes
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@8013 a592a061-630c-0410-9148-cb99ea01b6c8
2003-11-01 15:45:19 +00:00
José Matox
15c913fe5a unify API for insets export
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@8008 a592a061-630c-0410-9148-cb99ea01b6c8
2003-10-31 18:45:43 +00:00
Lars Gullik Bjønnes
a7060da197 make dispatch_result_t ctor of DispatchResult explicit
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@8004 a592a061-630c-0410-9148-cb99ea01b6c8
2003-10-29 19:19:27 +00:00
Lars Gullik Bjønnes
b0eb70e869 dispatchresult -> DispatchResult
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@7998 a592a061-630c-0410-9148-cb99ea01b6c8
2003-10-29 10:47:21 +00:00
Lars Gullik Bjønnes
87ca6fbbeb the dispatch patch
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@7931 a592a061-630c-0410-9148-cb99ea01b6c8
2003-10-17 18:01:15 +00:00
André Pönitz
18ce60e3c6 undo per inset. still a few crashes...
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@7923 a592a061-630c-0410-9148-cb99ea01b6c8
2003-10-15 08:49:44 +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
Martin Vermeer
47428517e7 Small cleanup, removal of self-aggrandizing comment
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@7802 a592a061-630c-0410-9148-cb99ea01b6c8
2003-09-22 07:39:46 +00:00
Angus Leeming
35abda384d Make all of InsetCollapsable's member variables (save 'inset') private.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@7777 a592a061-630c-0410-9148-cb99ea01b6c8
2003-09-16 15:39:33 +00:00