Commit Graph

32 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
André Pönitz
da65e2b7fb rename LFUN enum values according to their command (as used in th minibuffer/bind files
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@13801 a592a061-630c-0410-9148-cb99ea01b6c8
2006-05-05 20:23:12 +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
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
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
Lars Gullik Bjønnes
cd03e2b7db Get rid of lyxstring, remove usage of STRCONV.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@7751 a592a061-630c-0410-9148-cb99ea01b6c8
2003-09-15 11:00:00 +00:00
Lars Gullik Bjønnes
fcdb71906b Change Assert to BOOST_ASSERT.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@7722 a592a061-630c-0410-9148-cb99ea01b6c8
2003-09-09 17:25:35 +00:00
Angus Leeming
2e1eeac0b9 Replace ParagraphList.h with ParagraphList_fwd.h.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@7693 a592a061-630c-0410-9148-cb99ea01b6c8
2003-09-06 12:36:58 +00:00
Angus Leeming
f239801ae3 Changes due to the removal of using directives from support/std_sstream.h.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@7686 a592a061-630c-0410-9148-cb99ea01b6c8
2003-09-05 18:02:24 +00:00
Angus Leeming
236ea81bc5 Replace LString.h with support/std_string.h,
Lsstream.h with support/std_sstream.h,
support/LIstream.h with support/std_istream.h,
support/LOstream.h with support/std_ostream.h.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@7685 a592a061-630c-0410-9148-cb99ea01b6c8
2003-09-05 17:23:11 +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
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
André Pönitz
0e9bd2e87d STRCONV() all over the place
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@6956 a592a061-630c-0410-9148-cb99ea01b6c8
2003-05-13 16:24:49 +00:00
John Levon
561bf82e7a fix so it works on show. Angus, please check.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@6531 a592a061-630c-0410-9148-cb99ea01b6c8
2003-03-18 21:26:52 +00:00
Angus Leeming
0de182f257 * Give Dialog::Controller::initialiseParams a bool return type.
* Constify many ButtonController/View methods.
* Try and document the code ;-)


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@6495 a592a061-630c-0410-9148-cb99ea01b6c8
2003-03-14 00:20:42 +00:00
Angus Leeming
bb8ce22e78 You've had enough time for that ol' review and I've made sure that things
work _despite_ of LyXLex so...
here is the Paragraph dialog reworked.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@6487 a592a061-630c-0410-9148-cb99ea01b6c8
2003-03-13 13:56:25 +00:00
Angus Leeming
ba9cdda813 Flatten the ButtonController tree by splitting it into a Controller and
a View.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@6410 a592a061-630c-0410-9148-cb99ea01b6c8
2003-03-10 03:13:28 +00:00
Lars Gullik Bjønnes
99d1627a47 dont use pragma impementation and interface anymore
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@6138 a592a061-630c-0410-9148-cb99ea01b6c8
2003-02-13 16:53:15 +00:00
Angus Leeming
aeafc7d616 (Rob Lahaye): changes to the xforms paragraph dialog.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@5554 a592a061-630c-0410-9148-cb99ea01b6c8
2002-10-30 13:57:01 +00:00
Lars Gullik Bjønnes
ce708d095c ws fixes, formatting and some other small changes
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@5463 a592a061-630c-0410-9148-cb99ea01b6c8
2002-10-21 17:38:09 +00:00
Lars Gullik Bjønnes
814b819451 the qtclean-2 patch with some very small changes
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@5447 a592a061-630c-0410-9148-cb99ea01b6c8
2002-10-20 01:48:28 +00:00
Angus Leeming
1eb8155fa0 This file is part of LyX, the document processor.
Licence details can be found in the file COPYING.

and thank God for sed.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@5211 a592a061-630c-0410-9148-cb99ea01b6c8
2002-09-05 15:14:23 +00:00
Angus Leeming
6fac1dc980 Really dull and boring header shit
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@5210 a592a061-630c-0410-9148-cb99ea01b6c8
2002-09-05 14:10:50 +00:00
Angus Leeming
0cfafddc7d The dialogs/guiapi re-working.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@5003 a592a061-630c-0410-9148-cb99ea01b6c8
2002-08-15 17:48:53 +00:00
Angus Leeming
ca26056e2a * Throw out DialogBase.h
* Only #include what's needed.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@4979 a592a061-630c-0410-9148-cb99ea01b6c8
2002-08-14 19:19:47 +00:00
Angus Leeming
9681e21dae * Constify Buffer::getLabelList.
* reduce file dependencies of the controllers on the core.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@4947 a592a061-630c-0410-9148-cb99ea01b6c8
2002-08-12 20:17:41 +00:00
Angus Leeming
3d137bfe77 Edwin's updateParagraph patch.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@4837 a592a061-630c-0410-9148-cb99ea01b6c8
2002-08-02 12:28:59 +00:00
Angus Leeming
eed7fcfdf4 LyXView::view() now returns boost::shared_ptr<BufferView> const &.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@4836 a592a061-630c-0410-9148-cb99ea01b6c8
2002-08-02 09:21:50 +00:00
Lars Gullik Bjønnes
65d4b13616 layout as layout
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@4471 a592a061-630c-0410-9148-cb99ea01b6c8
2002-06-24 20:28:12 +00:00
Lars Gullik Bjønnes
f1c24d1009 *duck*
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@4417 a592a061-630c-0410-9148-cb99ea01b6c8
2002-06-18 15:44:30 +00:00
Angus Leeming
4bd1dd129c Forward declare ParagraphParameters in ControlParagraph.h.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@4383 a592a061-630c-0410-9148-cb99ea01b6c8
2002-06-12 14:27:30 +00:00
John Levon
760e4f4ce6 Edwin's Para MVC. Sorry for the delay !
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@4365 a592a061-630c-0410-9148-cb99ea01b6c8
2002-06-11 16:40:18 +00:00