Add support for listings package. Two listings command \lstinline, \lstinputlisting and an environment \lstlisting are supported, along with preamble \lstset. \lstinputlisting is implemented through Include dialog, and the other two are implemented with a new inset listings, along with its dialog.
* src/LyXAction.cpp: listing-insert action
* src/insets/Inset.h,cpp: LISTINGS_CODE
* src/insets/InsetInclude.cpp: handle \lstinputlisting
* src/insets/InsetListings.h,cpp: new listings inset
* src/insets/InsetListingsParams.h,cpp: parameters from listings package
* src/insets/InsetCommandParams.h,cpp: handle lstinputlisting option
* src/Bidi.cpp: handle LISTINGS_CODE
* src/frontends/qt4/ui/TextLayoutUi.ui: update UI
* src/frontends/qt4/ui/ListingsUi.ui: new dialog
* src/frontends/qt4/ui/IncludeUi.ui: update UI
* src/frontends/qt4/QInclude.h,cpp: add lstinputlisting
* src/frontends/qt4/QDocument.h,cpp: add textedit for preamble listings_params
* src/frontends/qt4/QListings.h,cpp: new listings inset
* src/frontends/qt4/Dialogs.cpp: new listings dialog
* src/frontends/controllers/ControlInclude.h,cpp: add lstinputlisting
* src/frontends/controllers/ControlListings.h,cpp: new listings inset
* src/LyXFunc.cpp: handle LISTING_CODE
* src/Paragraph.cpp: handle LISTING_CODE
* src/factory.cpp: new listings inset
* src/CutAndPaste.cpp: handle LISTINGS_CODE
* src/LaTeXFeatures.cpp: require listings
* src/Text3.cpp: Handle LISTINGS_CODE
* src/lfuns.h: add LFUN_LISTING_INSERT
* src/Buffer.cpp: change lyx file format to 269
* src/BufferParams.h,cpp: add listings_params to preamble
* lib/lyx2lyx/LyX.py: lyx2lyx
* lib/lyx2lyx/lyx_1_5.py: lyx2lyx
* lib/ui/stdmenus.inc: new menu item (no shortcut!)
* src/insets/Makefile.am: update autotools
* src/frontends/controllers/Makefile.am
* src/frontends/qt4/Makefile.dialogs
* src/frontends/qt4/Makefile.am
* po/POTFILES.in: a few more translatable files.
* development/scons/scons_manifest.py: scons build system
* development/FORMAT: document format changes
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@18243 a592a061-630c-0410-9148-cb99ea01b6c8
2007-05-09 19:11:42 +00:00
|
|
|
/**
|
|
|
|
* \file InsetListingsParams.cpp
|
|
|
|
* This file is part of LyX, the document processor.
|
|
|
|
* Licence details can be found in the file COPYING.
|
|
|
|
*
|
|
|
|
* \author Bo Peng
|
|
|
|
*
|
|
|
|
* Full author contact details are available in file CREDITS.
|
|
|
|
*/
|
|
|
|
|
|
|
|
#include <config.h>
|
|
|
|
|
|
|
|
#include "InsetListingsParams.h"
|
|
|
|
|
2007-11-29 07:04:28 +00:00
|
|
|
#include "support/gettext.h"
|
Add support for listings package. Two listings command \lstinline, \lstinputlisting and an environment \lstlisting are supported, along with preamble \lstset. \lstinputlisting is implemented through Include dialog, and the other two are implemented with a new inset listings, along with its dialog.
* src/LyXAction.cpp: listing-insert action
* src/insets/Inset.h,cpp: LISTINGS_CODE
* src/insets/InsetInclude.cpp: handle \lstinputlisting
* src/insets/InsetListings.h,cpp: new listings inset
* src/insets/InsetListingsParams.h,cpp: parameters from listings package
* src/insets/InsetCommandParams.h,cpp: handle lstinputlisting option
* src/Bidi.cpp: handle LISTINGS_CODE
* src/frontends/qt4/ui/TextLayoutUi.ui: update UI
* src/frontends/qt4/ui/ListingsUi.ui: new dialog
* src/frontends/qt4/ui/IncludeUi.ui: update UI
* src/frontends/qt4/QInclude.h,cpp: add lstinputlisting
* src/frontends/qt4/QDocument.h,cpp: add textedit for preamble listings_params
* src/frontends/qt4/QListings.h,cpp: new listings inset
* src/frontends/qt4/Dialogs.cpp: new listings dialog
* src/frontends/controllers/ControlInclude.h,cpp: add lstinputlisting
* src/frontends/controllers/ControlListings.h,cpp: new listings inset
* src/LyXFunc.cpp: handle LISTING_CODE
* src/Paragraph.cpp: handle LISTING_CODE
* src/factory.cpp: new listings inset
* src/CutAndPaste.cpp: handle LISTINGS_CODE
* src/LaTeXFeatures.cpp: require listings
* src/Text3.cpp: Handle LISTINGS_CODE
* src/lfuns.h: add LFUN_LISTING_INSERT
* src/Buffer.cpp: change lyx file format to 269
* src/BufferParams.h,cpp: add listings_params to preamble
* lib/lyx2lyx/LyX.py: lyx2lyx
* lib/lyx2lyx/lyx_1_5.py: lyx2lyx
* lib/ui/stdmenus.inc: new menu item (no shortcut!)
* src/insets/Makefile.am: update autotools
* src/frontends/controllers/Makefile.am
* src/frontends/qt4/Makefile.dialogs
* src/frontends/qt4/Makefile.am
* po/POTFILES.in: a few more translatable files.
* development/scons/scons_manifest.py: scons build system
* development/FORMAT: document format changes
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@18243 a592a061-630c-0410-9148-cb99ea01b6c8
2007-05-09 19:11:42 +00:00
|
|
|
#include "Length.h"
|
2007-05-26 14:45:38 +00:00
|
|
|
#include "Lexer.h"
|
Add support for listings package. Two listings command \lstinline, \lstinputlisting and an environment \lstlisting are supported, along with preamble \lstset. \lstinputlisting is implemented through Include dialog, and the other two are implemented with a new inset listings, along with its dialog.
* src/LyXAction.cpp: listing-insert action
* src/insets/Inset.h,cpp: LISTINGS_CODE
* src/insets/InsetInclude.cpp: handle \lstinputlisting
* src/insets/InsetListings.h,cpp: new listings inset
* src/insets/InsetListingsParams.h,cpp: parameters from listings package
* src/insets/InsetCommandParams.h,cpp: handle lstinputlisting option
* src/Bidi.cpp: handle LISTINGS_CODE
* src/frontends/qt4/ui/TextLayoutUi.ui: update UI
* src/frontends/qt4/ui/ListingsUi.ui: new dialog
* src/frontends/qt4/ui/IncludeUi.ui: update UI
* src/frontends/qt4/QInclude.h,cpp: add lstinputlisting
* src/frontends/qt4/QDocument.h,cpp: add textedit for preamble listings_params
* src/frontends/qt4/QListings.h,cpp: new listings inset
* src/frontends/qt4/Dialogs.cpp: new listings dialog
* src/frontends/controllers/ControlInclude.h,cpp: add lstinputlisting
* src/frontends/controllers/ControlListings.h,cpp: new listings inset
* src/LyXFunc.cpp: handle LISTING_CODE
* src/Paragraph.cpp: handle LISTING_CODE
* src/factory.cpp: new listings inset
* src/CutAndPaste.cpp: handle LISTINGS_CODE
* src/LaTeXFeatures.cpp: require listings
* src/Text3.cpp: Handle LISTINGS_CODE
* src/lfuns.h: add LFUN_LISTING_INSERT
* src/Buffer.cpp: change lyx file format to 269
* src/BufferParams.h,cpp: add listings_params to preamble
* lib/lyx2lyx/LyX.py: lyx2lyx
* lib/lyx2lyx/lyx_1_5.py: lyx2lyx
* lib/ui/stdmenus.inc: new menu item (no shortcut!)
* src/insets/Makefile.am: update autotools
* src/frontends/controllers/Makefile.am
* src/frontends/qt4/Makefile.dialogs
* src/frontends/qt4/Makefile.am
* po/POTFILES.in: a few more translatable files.
* development/scons/scons_manifest.py: scons build system
* development/FORMAT: document format changes
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@18243 a592a061-630c-0410-9148-cb99ea01b6c8
2007-05-09 19:11:42 +00:00
|
|
|
|
|
|
|
#include "support/lstrings.h"
|
2007-05-24 22:19:58 +00:00
|
|
|
#include "support/textutils.h"
|
Add support for listings package. Two listings command \lstinline, \lstinputlisting and an environment \lstlisting are supported, along with preamble \lstset. \lstinputlisting is implemented through Include dialog, and the other two are implemented with a new inset listings, along with its dialog.
* src/LyXAction.cpp: listing-insert action
* src/insets/Inset.h,cpp: LISTINGS_CODE
* src/insets/InsetInclude.cpp: handle \lstinputlisting
* src/insets/InsetListings.h,cpp: new listings inset
* src/insets/InsetListingsParams.h,cpp: parameters from listings package
* src/insets/InsetCommandParams.h,cpp: handle lstinputlisting option
* src/Bidi.cpp: handle LISTINGS_CODE
* src/frontends/qt4/ui/TextLayoutUi.ui: update UI
* src/frontends/qt4/ui/ListingsUi.ui: new dialog
* src/frontends/qt4/ui/IncludeUi.ui: update UI
* src/frontends/qt4/QInclude.h,cpp: add lstinputlisting
* src/frontends/qt4/QDocument.h,cpp: add textedit for preamble listings_params
* src/frontends/qt4/QListings.h,cpp: new listings inset
* src/frontends/qt4/Dialogs.cpp: new listings dialog
* src/frontends/controllers/ControlInclude.h,cpp: add lstinputlisting
* src/frontends/controllers/ControlListings.h,cpp: new listings inset
* src/LyXFunc.cpp: handle LISTING_CODE
* src/Paragraph.cpp: handle LISTING_CODE
* src/factory.cpp: new listings inset
* src/CutAndPaste.cpp: handle LISTINGS_CODE
* src/LaTeXFeatures.cpp: require listings
* src/Text3.cpp: Handle LISTINGS_CODE
* src/lfuns.h: add LFUN_LISTING_INSERT
* src/Buffer.cpp: change lyx file format to 269
* src/BufferParams.h,cpp: add listings_params to preamble
* lib/lyx2lyx/LyX.py: lyx2lyx
* lib/lyx2lyx/lyx_1_5.py: lyx2lyx
* lib/ui/stdmenus.inc: new menu item (no shortcut!)
* src/insets/Makefile.am: update autotools
* src/frontends/controllers/Makefile.am
* src/frontends/qt4/Makefile.dialogs
* src/frontends/qt4/Makefile.am
* po/POTFILES.in: a few more translatable files.
* development/scons/scons_manifest.py: scons build system
* development/FORMAT: document format changes
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@18243 a592a061-630c-0410-9148-cb99ea01b6c8
2007-05-09 19:11:42 +00:00
|
|
|
#include "support/convert.h"
|
|
|
|
|
2007-05-26 14:45:38 +00:00
|
|
|
#include <boost/assert.hpp>
|
|
|
|
|
|
|
|
#include <sstream>
|
|
|
|
|
2007-12-12 10:16:00 +00:00
|
|
|
using namespace std;
|
2007-12-12 18:57:56 +00:00
|
|
|
using namespace lyx::support;
|
Add support for listings package. Two listings command \lstinline, \lstinputlisting and an environment \lstlisting are supported, along with preamble \lstset. \lstinputlisting is implemented through Include dialog, and the other two are implemented with a new inset listings, along with its dialog.
* src/LyXAction.cpp: listing-insert action
* src/insets/Inset.h,cpp: LISTINGS_CODE
* src/insets/InsetInclude.cpp: handle \lstinputlisting
* src/insets/InsetListings.h,cpp: new listings inset
* src/insets/InsetListingsParams.h,cpp: parameters from listings package
* src/insets/InsetCommandParams.h,cpp: handle lstinputlisting option
* src/Bidi.cpp: handle LISTINGS_CODE
* src/frontends/qt4/ui/TextLayoutUi.ui: update UI
* src/frontends/qt4/ui/ListingsUi.ui: new dialog
* src/frontends/qt4/ui/IncludeUi.ui: update UI
* src/frontends/qt4/QInclude.h,cpp: add lstinputlisting
* src/frontends/qt4/QDocument.h,cpp: add textedit for preamble listings_params
* src/frontends/qt4/QListings.h,cpp: new listings inset
* src/frontends/qt4/Dialogs.cpp: new listings dialog
* src/frontends/controllers/ControlInclude.h,cpp: add lstinputlisting
* src/frontends/controllers/ControlListings.h,cpp: new listings inset
* src/LyXFunc.cpp: handle LISTING_CODE
* src/Paragraph.cpp: handle LISTING_CODE
* src/factory.cpp: new listings inset
* src/CutAndPaste.cpp: handle LISTINGS_CODE
* src/LaTeXFeatures.cpp: require listings
* src/Text3.cpp: Handle LISTINGS_CODE
* src/lfuns.h: add LFUN_LISTING_INSERT
* src/Buffer.cpp: change lyx file format to 269
* src/BufferParams.h,cpp: add listings_params to preamble
* lib/lyx2lyx/LyX.py: lyx2lyx
* lib/lyx2lyx/lyx_1_5.py: lyx2lyx
* lib/ui/stdmenus.inc: new menu item (no shortcut!)
* src/insets/Makefile.am: update autotools
* src/frontends/controllers/Makefile.am
* src/frontends/qt4/Makefile.dialogs
* src/frontends/qt4/Makefile.am
* po/POTFILES.in: a few more translatable files.
* development/scons/scons_manifest.py: scons build system
* development/FORMAT: document format changes
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@18243 a592a061-630c-0410-9148-cb99ea01b6c8
2007-05-09 19:11:42 +00:00
|
|
|
|
2007-08-30 18:03:17 +00:00
|
|
|
namespace lyx {
|
Add support for listings package. Two listings command \lstinline, \lstinputlisting and an environment \lstlisting are supported, along with preamble \lstset. \lstinputlisting is implemented through Include dialog, and the other two are implemented with a new inset listings, along with its dialog.
* src/LyXAction.cpp: listing-insert action
* src/insets/Inset.h,cpp: LISTINGS_CODE
* src/insets/InsetInclude.cpp: handle \lstinputlisting
* src/insets/InsetListings.h,cpp: new listings inset
* src/insets/InsetListingsParams.h,cpp: parameters from listings package
* src/insets/InsetCommandParams.h,cpp: handle lstinputlisting option
* src/Bidi.cpp: handle LISTINGS_CODE
* src/frontends/qt4/ui/TextLayoutUi.ui: update UI
* src/frontends/qt4/ui/ListingsUi.ui: new dialog
* src/frontends/qt4/ui/IncludeUi.ui: update UI
* src/frontends/qt4/QInclude.h,cpp: add lstinputlisting
* src/frontends/qt4/QDocument.h,cpp: add textedit for preamble listings_params
* src/frontends/qt4/QListings.h,cpp: new listings inset
* src/frontends/qt4/Dialogs.cpp: new listings dialog
* src/frontends/controllers/ControlInclude.h,cpp: add lstinputlisting
* src/frontends/controllers/ControlListings.h,cpp: new listings inset
* src/LyXFunc.cpp: handle LISTING_CODE
* src/Paragraph.cpp: handle LISTING_CODE
* src/factory.cpp: new listings inset
* src/CutAndPaste.cpp: handle LISTINGS_CODE
* src/LaTeXFeatures.cpp: require listings
* src/Text3.cpp: Handle LISTINGS_CODE
* src/lfuns.h: add LFUN_LISTING_INSERT
* src/Buffer.cpp: change lyx file format to 269
* src/BufferParams.h,cpp: add listings_params to preamble
* lib/lyx2lyx/LyX.py: lyx2lyx
* lib/lyx2lyx/lyx_1_5.py: lyx2lyx
* lib/ui/stdmenus.inc: new menu item (no shortcut!)
* src/insets/Makefile.am: update autotools
* src/frontends/controllers/Makefile.am
* src/frontends/qt4/Makefile.dialogs
* src/frontends/qt4/Makefile.am
* po/POTFILES.in: a few more translatable files.
* development/scons/scons_manifest.py: scons build system
* development/FORMAT: document format changes
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@18243 a592a061-630c-0410-9148-cb99ea01b6c8
2007-05-09 19:11:42 +00:00
|
|
|
|
2007-05-26 14:45:38 +00:00
|
|
|
namespace {
|
|
|
|
|
Add support for listings package. Two listings command \lstinline, \lstinputlisting and an environment \lstlisting are supported, along with preamble \lstset. \lstinputlisting is implemented through Include dialog, and the other two are implemented with a new inset listings, along with its dialog.
* src/LyXAction.cpp: listing-insert action
* src/insets/Inset.h,cpp: LISTINGS_CODE
* src/insets/InsetInclude.cpp: handle \lstinputlisting
* src/insets/InsetListings.h,cpp: new listings inset
* src/insets/InsetListingsParams.h,cpp: parameters from listings package
* src/insets/InsetCommandParams.h,cpp: handle lstinputlisting option
* src/Bidi.cpp: handle LISTINGS_CODE
* src/frontends/qt4/ui/TextLayoutUi.ui: update UI
* src/frontends/qt4/ui/ListingsUi.ui: new dialog
* src/frontends/qt4/ui/IncludeUi.ui: update UI
* src/frontends/qt4/QInclude.h,cpp: add lstinputlisting
* src/frontends/qt4/QDocument.h,cpp: add textedit for preamble listings_params
* src/frontends/qt4/QListings.h,cpp: new listings inset
* src/frontends/qt4/Dialogs.cpp: new listings dialog
* src/frontends/controllers/ControlInclude.h,cpp: add lstinputlisting
* src/frontends/controllers/ControlListings.h,cpp: new listings inset
* src/LyXFunc.cpp: handle LISTING_CODE
* src/Paragraph.cpp: handle LISTING_CODE
* src/factory.cpp: new listings inset
* src/CutAndPaste.cpp: handle LISTINGS_CODE
* src/LaTeXFeatures.cpp: require listings
* src/Text3.cpp: Handle LISTINGS_CODE
* src/lfuns.h: add LFUN_LISTING_INSERT
* src/Buffer.cpp: change lyx file format to 269
* src/BufferParams.h,cpp: add listings_params to preamble
* lib/lyx2lyx/LyX.py: lyx2lyx
* lib/lyx2lyx/lyx_1_5.py: lyx2lyx
* lib/ui/stdmenus.inc: new menu item (no shortcut!)
* src/insets/Makefile.am: update autotools
* src/frontends/controllers/Makefile.am
* src/frontends/qt4/Makefile.dialogs
* src/frontends/qt4/Makefile.am
* po/POTFILES.in: a few more translatable files.
* development/scons/scons_manifest.py: scons build system
* development/FORMAT: document format changes
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@18243 a592a061-630c-0410-9148-cb99ea01b6c8
2007-05-09 19:11:42 +00:00
|
|
|
enum param_type {
|
2007-05-14 20:42:14 +00:00
|
|
|
ALL, // accept all
|
|
|
|
TRUEFALSE, // accept 'true' or 'false'
|
|
|
|
INTEGER, // accept an integer
|
2007-05-23 02:09:58 +00:00
|
|
|
LENGTH, // accept a latex length
|
2007-05-14 20:42:14 +00:00
|
|
|
ONEOF, // accept one of a few values
|
|
|
|
SUBSETOF, // accept a string composed of given characters
|
Add support for listings package. Two listings command \lstinline, \lstinputlisting and an environment \lstlisting are supported, along with preamble \lstset. \lstinputlisting is implemented through Include dialog, and the other two are implemented with a new inset listings, along with its dialog.
* src/LyXAction.cpp: listing-insert action
* src/insets/Inset.h,cpp: LISTINGS_CODE
* src/insets/InsetInclude.cpp: handle \lstinputlisting
* src/insets/InsetListings.h,cpp: new listings inset
* src/insets/InsetListingsParams.h,cpp: parameters from listings package
* src/insets/InsetCommandParams.h,cpp: handle lstinputlisting option
* src/Bidi.cpp: handle LISTINGS_CODE
* src/frontends/qt4/ui/TextLayoutUi.ui: update UI
* src/frontends/qt4/ui/ListingsUi.ui: new dialog
* src/frontends/qt4/ui/IncludeUi.ui: update UI
* src/frontends/qt4/QInclude.h,cpp: add lstinputlisting
* src/frontends/qt4/QDocument.h,cpp: add textedit for preamble listings_params
* src/frontends/qt4/QListings.h,cpp: new listings inset
* src/frontends/qt4/Dialogs.cpp: new listings dialog
* src/frontends/controllers/ControlInclude.h,cpp: add lstinputlisting
* src/frontends/controllers/ControlListings.h,cpp: new listings inset
* src/LyXFunc.cpp: handle LISTING_CODE
* src/Paragraph.cpp: handle LISTING_CODE
* src/factory.cpp: new listings inset
* src/CutAndPaste.cpp: handle LISTINGS_CODE
* src/LaTeXFeatures.cpp: require listings
* src/Text3.cpp: Handle LISTINGS_CODE
* src/lfuns.h: add LFUN_LISTING_INSERT
* src/Buffer.cpp: change lyx file format to 269
* src/BufferParams.h,cpp: add listings_params to preamble
* lib/lyx2lyx/LyX.py: lyx2lyx
* lib/lyx2lyx/lyx_1_5.py: lyx2lyx
* lib/ui/stdmenus.inc: new menu item (no shortcut!)
* src/insets/Makefile.am: update autotools
* src/frontends/controllers/Makefile.am
* src/frontends/qt4/Makefile.dialogs
* src/frontends/qt4/Makefile.am
* po/POTFILES.in: a few more translatable files.
* development/scons/scons_manifest.py: scons build system
* development/FORMAT: document format changes
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@18243 a592a061-630c-0410-9148-cb99ea01b6c8
2007-05-09 19:11:42 +00:00
|
|
|
};
|
|
|
|
|
|
|
|
|
2007-05-27 22:46:09 +00:00
|
|
|
/// Listings package parameter information.
|
|
|
|
// FIXME: make this class visible outside of this file so that
|
|
|
|
// FIXME: it can be used directly in the frontend and in the LyX format
|
|
|
|
// FIXME: parsing.
|
2007-05-27 11:55:46 +00:00
|
|
|
class ListingsParam {
|
|
|
|
public:
|
2007-05-27 22:46:09 +00:00
|
|
|
/// Default ctor for STL containers.
|
|
|
|
ListingsParam(): onoff_(false), type_(ALL)
|
|
|
|
{}
|
|
|
|
/// Main ctor.
|
|
|
|
ListingsParam(string const & v, bool o, param_type t,
|
|
|
|
string const & i, docstring const & h)
|
2007-05-27 11:55:46 +00:00
|
|
|
: value_(v), onoff_(o), type_(t), info_(i), hint_(h)
|
|
|
|
{}
|
2007-05-27 22:46:09 +00:00
|
|
|
/// Validate a paramater.
|
|
|
|
/// \retval an empty string if \c par is valid.
|
|
|
|
/// \retval otherwise an explanation WRT to \c par invalidity.
|
2007-05-27 11:55:46 +00:00
|
|
|
docstring validate(string const & par) const;
|
|
|
|
private:
|
Add support for listings package. Two listings command \lstinline, \lstinputlisting and an environment \lstlisting are supported, along with preamble \lstset. \lstinputlisting is implemented through Include dialog, and the other two are implemented with a new inset listings, along with its dialog.
* src/LyXAction.cpp: listing-insert action
* src/insets/Inset.h,cpp: LISTINGS_CODE
* src/insets/InsetInclude.cpp: handle \lstinputlisting
* src/insets/InsetListings.h,cpp: new listings inset
* src/insets/InsetListingsParams.h,cpp: parameters from listings package
* src/insets/InsetCommandParams.h,cpp: handle lstinputlisting option
* src/Bidi.cpp: handle LISTINGS_CODE
* src/frontends/qt4/ui/TextLayoutUi.ui: update UI
* src/frontends/qt4/ui/ListingsUi.ui: new dialog
* src/frontends/qt4/ui/IncludeUi.ui: update UI
* src/frontends/qt4/QInclude.h,cpp: add lstinputlisting
* src/frontends/qt4/QDocument.h,cpp: add textedit for preamble listings_params
* src/frontends/qt4/QListings.h,cpp: new listings inset
* src/frontends/qt4/Dialogs.cpp: new listings dialog
* src/frontends/controllers/ControlInclude.h,cpp: add lstinputlisting
* src/frontends/controllers/ControlListings.h,cpp: new listings inset
* src/LyXFunc.cpp: handle LISTING_CODE
* src/Paragraph.cpp: handle LISTING_CODE
* src/factory.cpp: new listings inset
* src/CutAndPaste.cpp: handle LISTINGS_CODE
* src/LaTeXFeatures.cpp: require listings
* src/Text3.cpp: Handle LISTINGS_CODE
* src/lfuns.h: add LFUN_LISTING_INSERT
* src/Buffer.cpp: change lyx file format to 269
* src/BufferParams.h,cpp: add listings_params to preamble
* lib/lyx2lyx/LyX.py: lyx2lyx
* lib/lyx2lyx/lyx_1_5.py: lyx2lyx
* lib/ui/stdmenus.inc: new menu item (no shortcut!)
* src/insets/Makefile.am: update autotools
* src/frontends/controllers/Makefile.am
* src/frontends/qt4/Makefile.dialogs
* src/frontends/qt4/Makefile.am
* po/POTFILES.in: a few more translatable files.
* development/scons/scons_manifest.py: scons build system
* development/FORMAT: document format changes
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@18243 a592a061-630c-0410-9148-cb99ea01b6c8
2007-05-09 19:11:42 +00:00
|
|
|
/// default value
|
2007-05-27 11:55:46 +00:00
|
|
|
string value_;
|
|
|
|
public:
|
2007-05-27 22:46:09 +00:00
|
|
|
/// for option with value "true", "false".
|
|
|
|
/// if onoff is true,
|
|
|
|
/// "true": option
|
2007-05-28 22:27:45 +00:00
|
|
|
/// "false":
|
2007-05-27 22:46:09 +00:00
|
|
|
/// "other": option="other"
|
|
|
|
/// onoff is false,
|
|
|
|
/// "true": option=true
|
|
|
|
/// "false": option=false
|
|
|
|
// FIXME: this is public because of InsetListingParam::addParam()
|
2007-05-27 11:55:46 +00:00
|
|
|
bool onoff_;
|
|
|
|
private:
|
2007-05-27 22:46:09 +00:00
|
|
|
/// validator type.
|
|
|
|
/// ALL:
|
|
|
|
/// TRUEFALSE:
|
|
|
|
/// INTEGER:
|
|
|
|
/// LENGTH:
|
|
|
|
/// info is ignored.
|
|
|
|
/// ONEOF
|
|
|
|
/// info is a \n separated string with allowed values
|
|
|
|
/// SUBSETOF
|
|
|
|
/// info is a string from which par is composed of
|
|
|
|
/// (e.g. floatplacement can be one or more of *tbph)
|
2007-05-27 11:55:46 +00:00
|
|
|
param_type type_;
|
2007-05-27 22:46:09 +00:00
|
|
|
/// information which meaning depends on parameter type.
|
|
|
|
/// \sa type_
|
2007-05-27 11:55:46 +00:00
|
|
|
string info_;
|
2007-05-27 22:46:09 +00:00
|
|
|
/// a help message that is displayed in the gui.
|
2007-05-27 11:55:46 +00:00
|
|
|
docstring hint_;
|
Add support for listings package. Two listings command \lstinline, \lstinputlisting and an environment \lstlisting are supported, along with preamble \lstset. \lstinputlisting is implemented through Include dialog, and the other two are implemented with a new inset listings, along with its dialog.
* src/LyXAction.cpp: listing-insert action
* src/insets/Inset.h,cpp: LISTINGS_CODE
* src/insets/InsetInclude.cpp: handle \lstinputlisting
* src/insets/InsetListings.h,cpp: new listings inset
* src/insets/InsetListingsParams.h,cpp: parameters from listings package
* src/insets/InsetCommandParams.h,cpp: handle lstinputlisting option
* src/Bidi.cpp: handle LISTINGS_CODE
* src/frontends/qt4/ui/TextLayoutUi.ui: update UI
* src/frontends/qt4/ui/ListingsUi.ui: new dialog
* src/frontends/qt4/ui/IncludeUi.ui: update UI
* src/frontends/qt4/QInclude.h,cpp: add lstinputlisting
* src/frontends/qt4/QDocument.h,cpp: add textedit for preamble listings_params
* src/frontends/qt4/QListings.h,cpp: new listings inset
* src/frontends/qt4/Dialogs.cpp: new listings dialog
* src/frontends/controllers/ControlInclude.h,cpp: add lstinputlisting
* src/frontends/controllers/ControlListings.h,cpp: new listings inset
* src/LyXFunc.cpp: handle LISTING_CODE
* src/Paragraph.cpp: handle LISTING_CODE
* src/factory.cpp: new listings inset
* src/CutAndPaste.cpp: handle LISTINGS_CODE
* src/LaTeXFeatures.cpp: require listings
* src/Text3.cpp: Handle LISTINGS_CODE
* src/lfuns.h: add LFUN_LISTING_INSERT
* src/Buffer.cpp: change lyx file format to 269
* src/BufferParams.h,cpp: add listings_params to preamble
* lib/lyx2lyx/LyX.py: lyx2lyx
* lib/lyx2lyx/lyx_1_5.py: lyx2lyx
* lib/ui/stdmenus.inc: new menu item (no shortcut!)
* src/insets/Makefile.am: update autotools
* src/frontends/controllers/Makefile.am
* src/frontends/qt4/Makefile.dialogs
* src/frontends/qt4/Makefile.am
* po/POTFILES.in: a few more translatable files.
* development/scons/scons_manifest.py: scons build system
* development/FORMAT: document format changes
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@18243 a592a061-630c-0410-9148-cb99ea01b6c8
2007-05-09 19:11:42 +00:00
|
|
|
};
|
|
|
|
|
|
|
|
|
2007-05-27 11:55:46 +00:00
|
|
|
docstring ListingsParam::validate(string const & par) const
|
Add support for listings package. Two listings command \lstinline, \lstinputlisting and an environment \lstlisting are supported, along with preamble \lstset. \lstinputlisting is implemented through Include dialog, and the other two are implemented with a new inset listings, along with its dialog.
* src/LyXAction.cpp: listing-insert action
* src/insets/Inset.h,cpp: LISTINGS_CODE
* src/insets/InsetInclude.cpp: handle \lstinputlisting
* src/insets/InsetListings.h,cpp: new listings inset
* src/insets/InsetListingsParams.h,cpp: parameters from listings package
* src/insets/InsetCommandParams.h,cpp: handle lstinputlisting option
* src/Bidi.cpp: handle LISTINGS_CODE
* src/frontends/qt4/ui/TextLayoutUi.ui: update UI
* src/frontends/qt4/ui/ListingsUi.ui: new dialog
* src/frontends/qt4/ui/IncludeUi.ui: update UI
* src/frontends/qt4/QInclude.h,cpp: add lstinputlisting
* src/frontends/qt4/QDocument.h,cpp: add textedit for preamble listings_params
* src/frontends/qt4/QListings.h,cpp: new listings inset
* src/frontends/qt4/Dialogs.cpp: new listings dialog
* src/frontends/controllers/ControlInclude.h,cpp: add lstinputlisting
* src/frontends/controllers/ControlListings.h,cpp: new listings inset
* src/LyXFunc.cpp: handle LISTING_CODE
* src/Paragraph.cpp: handle LISTING_CODE
* src/factory.cpp: new listings inset
* src/CutAndPaste.cpp: handle LISTINGS_CODE
* src/LaTeXFeatures.cpp: require listings
* src/Text3.cpp: Handle LISTINGS_CODE
* src/lfuns.h: add LFUN_LISTING_INSERT
* src/Buffer.cpp: change lyx file format to 269
* src/BufferParams.h,cpp: add listings_params to preamble
* lib/lyx2lyx/LyX.py: lyx2lyx
* lib/lyx2lyx/lyx_1_5.py: lyx2lyx
* lib/ui/stdmenus.inc: new menu item (no shortcut!)
* src/insets/Makefile.am: update autotools
* src/frontends/controllers/Makefile.am
* src/frontends/qt4/Makefile.dialogs
* src/frontends/qt4/Makefile.am
* po/POTFILES.in: a few more translatable files.
* development/scons/scons_manifest.py: scons build system
* development/FORMAT: document format changes
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@18243 a592a061-630c-0410-9148-cb99ea01b6c8
2007-05-09 19:11:42 +00:00
|
|
|
{
|
2007-05-22 04:43:30 +00:00
|
|
|
bool unclosed = false;
|
|
|
|
string par2 = par;
|
|
|
|
// braces are allowed
|
|
|
|
if (prefixIs(par, "{") && suffixIs(par, "}"))
|
|
|
|
par2 = par.substr(1, par.size() - 2);
|
|
|
|
else if (prefixIs(par, "{")) {
|
|
|
|
par2 = par.substr(1);
|
|
|
|
unclosed = true;
|
|
|
|
}
|
2007-05-28 22:27:45 +00:00
|
|
|
|
2007-05-27 11:55:46 +00:00
|
|
|
switch (type_) {
|
|
|
|
|
Add support for listings package. Two listings command \lstinline, \lstinputlisting and an environment \lstlisting are supported, along with preamble \lstset. \lstinputlisting is implemented through Include dialog, and the other two are implemented with a new inset listings, along with its dialog.
* src/LyXAction.cpp: listing-insert action
* src/insets/Inset.h,cpp: LISTINGS_CODE
* src/insets/InsetInclude.cpp: handle \lstinputlisting
* src/insets/InsetListings.h,cpp: new listings inset
* src/insets/InsetListingsParams.h,cpp: parameters from listings package
* src/insets/InsetCommandParams.h,cpp: handle lstinputlisting option
* src/Bidi.cpp: handle LISTINGS_CODE
* src/frontends/qt4/ui/TextLayoutUi.ui: update UI
* src/frontends/qt4/ui/ListingsUi.ui: new dialog
* src/frontends/qt4/ui/IncludeUi.ui: update UI
* src/frontends/qt4/QInclude.h,cpp: add lstinputlisting
* src/frontends/qt4/QDocument.h,cpp: add textedit for preamble listings_params
* src/frontends/qt4/QListings.h,cpp: new listings inset
* src/frontends/qt4/Dialogs.cpp: new listings dialog
* src/frontends/controllers/ControlInclude.h,cpp: add lstinputlisting
* src/frontends/controllers/ControlListings.h,cpp: new listings inset
* src/LyXFunc.cpp: handle LISTING_CODE
* src/Paragraph.cpp: handle LISTING_CODE
* src/factory.cpp: new listings inset
* src/CutAndPaste.cpp: handle LISTINGS_CODE
* src/LaTeXFeatures.cpp: require listings
* src/Text3.cpp: Handle LISTINGS_CODE
* src/lfuns.h: add LFUN_LISTING_INSERT
* src/Buffer.cpp: change lyx file format to 269
* src/BufferParams.h,cpp: add listings_params to preamble
* lib/lyx2lyx/LyX.py: lyx2lyx
* lib/lyx2lyx/lyx_1_5.py: lyx2lyx
* lib/ui/stdmenus.inc: new menu item (no shortcut!)
* src/insets/Makefile.am: update autotools
* src/frontends/controllers/Makefile.am
* src/frontends/qt4/Makefile.dialogs
* src/frontends/qt4/Makefile.am
* po/POTFILES.in: a few more translatable files.
* development/scons/scons_manifest.py: scons build system
* development/FORMAT: document format changes
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@18243 a592a061-630c-0410-9148-cb99ea01b6c8
2007-05-09 19:11:42 +00:00
|
|
|
case ALL:
|
2007-06-09 18:06:11 +00:00
|
|
|
if (par2.empty() && !onoff_) {
|
2007-05-27 11:55:46 +00:00
|
|
|
if (!hint_.empty())
|
|
|
|
return hint_;
|
Add support for listings package. Two listings command \lstinline, \lstinputlisting and an environment \lstlisting are supported, along with preamble \lstset. \lstinputlisting is implemented through Include dialog, and the other two are implemented with a new inset listings, along with its dialog.
* src/LyXAction.cpp: listing-insert action
* src/insets/Inset.h,cpp: LISTINGS_CODE
* src/insets/InsetInclude.cpp: handle \lstinputlisting
* src/insets/InsetListings.h,cpp: new listings inset
* src/insets/InsetListingsParams.h,cpp: parameters from listings package
* src/insets/InsetCommandParams.h,cpp: handle lstinputlisting option
* src/Bidi.cpp: handle LISTINGS_CODE
* src/frontends/qt4/ui/TextLayoutUi.ui: update UI
* src/frontends/qt4/ui/ListingsUi.ui: new dialog
* src/frontends/qt4/ui/IncludeUi.ui: update UI
* src/frontends/qt4/QInclude.h,cpp: add lstinputlisting
* src/frontends/qt4/QDocument.h,cpp: add textedit for preamble listings_params
* src/frontends/qt4/QListings.h,cpp: new listings inset
* src/frontends/qt4/Dialogs.cpp: new listings dialog
* src/frontends/controllers/ControlInclude.h,cpp: add lstinputlisting
* src/frontends/controllers/ControlListings.h,cpp: new listings inset
* src/LyXFunc.cpp: handle LISTING_CODE
* src/Paragraph.cpp: handle LISTING_CODE
* src/factory.cpp: new listings inset
* src/CutAndPaste.cpp: handle LISTINGS_CODE
* src/LaTeXFeatures.cpp: require listings
* src/Text3.cpp: Handle LISTINGS_CODE
* src/lfuns.h: add LFUN_LISTING_INSERT
* src/Buffer.cpp: change lyx file format to 269
* src/BufferParams.h,cpp: add listings_params to preamble
* lib/lyx2lyx/LyX.py: lyx2lyx
* lib/lyx2lyx/lyx_1_5.py: lyx2lyx
* lib/ui/stdmenus.inc: new menu item (no shortcut!)
* src/insets/Makefile.am: update autotools
* src/frontends/controllers/Makefile.am
* src/frontends/qt4/Makefile.dialogs
* src/frontends/qt4/Makefile.am
* po/POTFILES.in: a few more translatable files.
* development/scons/scons_manifest.py: scons build system
* development/FORMAT: document format changes
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@18243 a592a061-630c-0410-9148-cb99ea01b6c8
2007-05-09 19:11:42 +00:00
|
|
|
else
|
2007-05-27 11:55:46 +00:00
|
|
|
return _("A value is expected.");
|
Add support for listings package. Two listings command \lstinline, \lstinputlisting and an environment \lstlisting are supported, along with preamble \lstset. \lstinputlisting is implemented through Include dialog, and the other two are implemented with a new inset listings, along with its dialog.
* src/LyXAction.cpp: listing-insert action
* src/insets/Inset.h,cpp: LISTINGS_CODE
* src/insets/InsetInclude.cpp: handle \lstinputlisting
* src/insets/InsetListings.h,cpp: new listings inset
* src/insets/InsetListingsParams.h,cpp: parameters from listings package
* src/insets/InsetCommandParams.h,cpp: handle lstinputlisting option
* src/Bidi.cpp: handle LISTINGS_CODE
* src/frontends/qt4/ui/TextLayoutUi.ui: update UI
* src/frontends/qt4/ui/ListingsUi.ui: new dialog
* src/frontends/qt4/ui/IncludeUi.ui: update UI
* src/frontends/qt4/QInclude.h,cpp: add lstinputlisting
* src/frontends/qt4/QDocument.h,cpp: add textedit for preamble listings_params
* src/frontends/qt4/QListings.h,cpp: new listings inset
* src/frontends/qt4/Dialogs.cpp: new listings dialog
* src/frontends/controllers/ControlInclude.h,cpp: add lstinputlisting
* src/frontends/controllers/ControlListings.h,cpp: new listings inset
* src/LyXFunc.cpp: handle LISTING_CODE
* src/Paragraph.cpp: handle LISTING_CODE
* src/factory.cpp: new listings inset
* src/CutAndPaste.cpp: handle LISTINGS_CODE
* src/LaTeXFeatures.cpp: require listings
* src/Text3.cpp: Handle LISTINGS_CODE
* src/lfuns.h: add LFUN_LISTING_INSERT
* src/Buffer.cpp: change lyx file format to 269
* src/BufferParams.h,cpp: add listings_params to preamble
* lib/lyx2lyx/LyX.py: lyx2lyx
* lib/lyx2lyx/lyx_1_5.py: lyx2lyx
* lib/ui/stdmenus.inc: new menu item (no shortcut!)
* src/insets/Makefile.am: update autotools
* src/frontends/controllers/Makefile.am
* src/frontends/qt4/Makefile.dialogs
* src/frontends/qt4/Makefile.am
* po/POTFILES.in: a few more translatable files.
* development/scons/scons_manifest.py: scons build system
* development/FORMAT: document format changes
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@18243 a592a061-630c-0410-9148-cb99ea01b6c8
2007-05-09 19:11:42 +00:00
|
|
|
}
|
2007-05-22 04:43:30 +00:00
|
|
|
if (unclosed)
|
2007-05-27 11:55:46 +00:00
|
|
|
return _("Unbalanced braces!");
|
|
|
|
return docstring();
|
|
|
|
|
|
|
|
case TRUEFALSE:
|
|
|
|
if (par2.empty() && !onoff_) {
|
|
|
|
if (!hint_.empty())
|
|
|
|
return hint_;
|
Add support for listings package. Two listings command \lstinline, \lstinputlisting and an environment \lstlisting are supported, along with preamble \lstset. \lstinputlisting is implemented through Include dialog, and the other two are implemented with a new inset listings, along with its dialog.
* src/LyXAction.cpp: listing-insert action
* src/insets/Inset.h,cpp: LISTINGS_CODE
* src/insets/InsetInclude.cpp: handle \lstinputlisting
* src/insets/InsetListings.h,cpp: new listings inset
* src/insets/InsetListingsParams.h,cpp: parameters from listings package
* src/insets/InsetCommandParams.h,cpp: handle lstinputlisting option
* src/Bidi.cpp: handle LISTINGS_CODE
* src/frontends/qt4/ui/TextLayoutUi.ui: update UI
* src/frontends/qt4/ui/ListingsUi.ui: new dialog
* src/frontends/qt4/ui/IncludeUi.ui: update UI
* src/frontends/qt4/QInclude.h,cpp: add lstinputlisting
* src/frontends/qt4/QDocument.h,cpp: add textedit for preamble listings_params
* src/frontends/qt4/QListings.h,cpp: new listings inset
* src/frontends/qt4/Dialogs.cpp: new listings dialog
* src/frontends/controllers/ControlInclude.h,cpp: add lstinputlisting
* src/frontends/controllers/ControlListings.h,cpp: new listings inset
* src/LyXFunc.cpp: handle LISTING_CODE
* src/Paragraph.cpp: handle LISTING_CODE
* src/factory.cpp: new listings inset
* src/CutAndPaste.cpp: handle LISTINGS_CODE
* src/LaTeXFeatures.cpp: require listings
* src/Text3.cpp: Handle LISTINGS_CODE
* src/lfuns.h: add LFUN_LISTING_INSERT
* src/Buffer.cpp: change lyx file format to 269
* src/BufferParams.h,cpp: add listings_params to preamble
* lib/lyx2lyx/LyX.py: lyx2lyx
* lib/lyx2lyx/lyx_1_5.py: lyx2lyx
* lib/ui/stdmenus.inc: new menu item (no shortcut!)
* src/insets/Makefile.am: update autotools
* src/frontends/controllers/Makefile.am
* src/frontends/qt4/Makefile.dialogs
* src/frontends/qt4/Makefile.am
* po/POTFILES.in: a few more translatable files.
* development/scons/scons_manifest.py: scons build system
* development/FORMAT: document format changes
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@18243 a592a061-630c-0410-9148-cb99ea01b6c8
2007-05-09 19:11:42 +00:00
|
|
|
else
|
2007-05-27 11:55:46 +00:00
|
|
|
return _("Please specify true or false.");
|
Add support for listings package. Two listings command \lstinline, \lstinputlisting and an environment \lstlisting are supported, along with preamble \lstset. \lstinputlisting is implemented through Include dialog, and the other two are implemented with a new inset listings, along with its dialog.
* src/LyXAction.cpp: listing-insert action
* src/insets/Inset.h,cpp: LISTINGS_CODE
* src/insets/InsetInclude.cpp: handle \lstinputlisting
* src/insets/InsetListings.h,cpp: new listings inset
* src/insets/InsetListingsParams.h,cpp: parameters from listings package
* src/insets/InsetCommandParams.h,cpp: handle lstinputlisting option
* src/Bidi.cpp: handle LISTINGS_CODE
* src/frontends/qt4/ui/TextLayoutUi.ui: update UI
* src/frontends/qt4/ui/ListingsUi.ui: new dialog
* src/frontends/qt4/ui/IncludeUi.ui: update UI
* src/frontends/qt4/QInclude.h,cpp: add lstinputlisting
* src/frontends/qt4/QDocument.h,cpp: add textedit for preamble listings_params
* src/frontends/qt4/QListings.h,cpp: new listings inset
* src/frontends/qt4/Dialogs.cpp: new listings dialog
* src/frontends/controllers/ControlInclude.h,cpp: add lstinputlisting
* src/frontends/controllers/ControlListings.h,cpp: new listings inset
* src/LyXFunc.cpp: handle LISTING_CODE
* src/Paragraph.cpp: handle LISTING_CODE
* src/factory.cpp: new listings inset
* src/CutAndPaste.cpp: handle LISTINGS_CODE
* src/LaTeXFeatures.cpp: require listings
* src/Text3.cpp: Handle LISTINGS_CODE
* src/lfuns.h: add LFUN_LISTING_INSERT
* src/Buffer.cpp: change lyx file format to 269
* src/BufferParams.h,cpp: add listings_params to preamble
* lib/lyx2lyx/LyX.py: lyx2lyx
* lib/lyx2lyx/lyx_1_5.py: lyx2lyx
* lib/ui/stdmenus.inc: new menu item (no shortcut!)
* src/insets/Makefile.am: update autotools
* src/frontends/controllers/Makefile.am
* src/frontends/qt4/Makefile.dialogs
* src/frontends/qt4/Makefile.am
* po/POTFILES.in: a few more translatable files.
* development/scons/scons_manifest.py: scons build system
* development/FORMAT: document format changes
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@18243 a592a061-630c-0410-9148-cb99ea01b6c8
2007-05-09 19:11:42 +00:00
|
|
|
}
|
2007-05-22 04:43:30 +00:00
|
|
|
if (par2 != "true" && par2 != "false")
|
2007-05-27 11:55:46 +00:00
|
|
|
return _("Only true or false is allowed.");
|
2007-05-22 04:43:30 +00:00
|
|
|
if (unclosed)
|
2007-05-27 11:55:46 +00:00
|
|
|
return _("Unbalanced braces!");
|
|
|
|
return docstring();
|
|
|
|
|
|
|
|
case INTEGER:
|
2007-05-22 04:43:30 +00:00
|
|
|
if (!isStrInt(par2)) {
|
2007-05-27 11:55:46 +00:00
|
|
|
if (!hint_.empty())
|
|
|
|
return hint_;
|
Add support for listings package. Two listings command \lstinline, \lstinputlisting and an environment \lstlisting are supported, along with preamble \lstset. \lstinputlisting is implemented through Include dialog, and the other two are implemented with a new inset listings, along with its dialog.
* src/LyXAction.cpp: listing-insert action
* src/insets/Inset.h,cpp: LISTINGS_CODE
* src/insets/InsetInclude.cpp: handle \lstinputlisting
* src/insets/InsetListings.h,cpp: new listings inset
* src/insets/InsetListingsParams.h,cpp: parameters from listings package
* src/insets/InsetCommandParams.h,cpp: handle lstinputlisting option
* src/Bidi.cpp: handle LISTINGS_CODE
* src/frontends/qt4/ui/TextLayoutUi.ui: update UI
* src/frontends/qt4/ui/ListingsUi.ui: new dialog
* src/frontends/qt4/ui/IncludeUi.ui: update UI
* src/frontends/qt4/QInclude.h,cpp: add lstinputlisting
* src/frontends/qt4/QDocument.h,cpp: add textedit for preamble listings_params
* src/frontends/qt4/QListings.h,cpp: new listings inset
* src/frontends/qt4/Dialogs.cpp: new listings dialog
* src/frontends/controllers/ControlInclude.h,cpp: add lstinputlisting
* src/frontends/controllers/ControlListings.h,cpp: new listings inset
* src/LyXFunc.cpp: handle LISTING_CODE
* src/Paragraph.cpp: handle LISTING_CODE
* src/factory.cpp: new listings inset
* src/CutAndPaste.cpp: handle LISTINGS_CODE
* src/LaTeXFeatures.cpp: require listings
* src/Text3.cpp: Handle LISTINGS_CODE
* src/lfuns.h: add LFUN_LISTING_INSERT
* src/Buffer.cpp: change lyx file format to 269
* src/BufferParams.h,cpp: add listings_params to preamble
* lib/lyx2lyx/LyX.py: lyx2lyx
* lib/lyx2lyx/lyx_1_5.py: lyx2lyx
* lib/ui/stdmenus.inc: new menu item (no shortcut!)
* src/insets/Makefile.am: update autotools
* src/frontends/controllers/Makefile.am
* src/frontends/qt4/Makefile.dialogs
* src/frontends/qt4/Makefile.am
* po/POTFILES.in: a few more translatable files.
* development/scons/scons_manifest.py: scons build system
* development/FORMAT: document format changes
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@18243 a592a061-630c-0410-9148-cb99ea01b6c8
2007-05-09 19:11:42 +00:00
|
|
|
else
|
2007-05-27 11:55:46 +00:00
|
|
|
return _("Please specify an integer value.");
|
Add support for listings package. Two listings command \lstinline, \lstinputlisting and an environment \lstlisting are supported, along with preamble \lstset. \lstinputlisting is implemented through Include dialog, and the other two are implemented with a new inset listings, along with its dialog.
* src/LyXAction.cpp: listing-insert action
* src/insets/Inset.h,cpp: LISTINGS_CODE
* src/insets/InsetInclude.cpp: handle \lstinputlisting
* src/insets/InsetListings.h,cpp: new listings inset
* src/insets/InsetListingsParams.h,cpp: parameters from listings package
* src/insets/InsetCommandParams.h,cpp: handle lstinputlisting option
* src/Bidi.cpp: handle LISTINGS_CODE
* src/frontends/qt4/ui/TextLayoutUi.ui: update UI
* src/frontends/qt4/ui/ListingsUi.ui: new dialog
* src/frontends/qt4/ui/IncludeUi.ui: update UI
* src/frontends/qt4/QInclude.h,cpp: add lstinputlisting
* src/frontends/qt4/QDocument.h,cpp: add textedit for preamble listings_params
* src/frontends/qt4/QListings.h,cpp: new listings inset
* src/frontends/qt4/Dialogs.cpp: new listings dialog
* src/frontends/controllers/ControlInclude.h,cpp: add lstinputlisting
* src/frontends/controllers/ControlListings.h,cpp: new listings inset
* src/LyXFunc.cpp: handle LISTING_CODE
* src/Paragraph.cpp: handle LISTING_CODE
* src/factory.cpp: new listings inset
* src/CutAndPaste.cpp: handle LISTINGS_CODE
* src/LaTeXFeatures.cpp: require listings
* src/Text3.cpp: Handle LISTINGS_CODE
* src/lfuns.h: add LFUN_LISTING_INSERT
* src/Buffer.cpp: change lyx file format to 269
* src/BufferParams.h,cpp: add listings_params to preamble
* lib/lyx2lyx/LyX.py: lyx2lyx
* lib/lyx2lyx/lyx_1_5.py: lyx2lyx
* lib/ui/stdmenus.inc: new menu item (no shortcut!)
* src/insets/Makefile.am: update autotools
* src/frontends/controllers/Makefile.am
* src/frontends/qt4/Makefile.dialogs
* src/frontends/qt4/Makefile.am
* po/POTFILES.in: a few more translatable files.
* development/scons/scons_manifest.py: scons build system
* development/FORMAT: document format changes
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@18243 a592a061-630c-0410-9148-cb99ea01b6c8
2007-05-09 19:11:42 +00:00
|
|
|
}
|
2007-05-22 04:43:30 +00:00
|
|
|
if (convert<int>(par2) == 0 && par2[0] != '0')
|
2007-05-27 11:55:46 +00:00
|
|
|
return _("An integer is expected.");
|
2007-05-22 04:43:30 +00:00
|
|
|
if (unclosed)
|
2007-05-27 11:55:46 +00:00
|
|
|
return _("Unbalanced braces!");
|
|
|
|
return docstring();
|
|
|
|
|
|
|
|
case LENGTH:
|
|
|
|
if (par2.empty() && !onoff_) {
|
|
|
|
if (!hint_.empty())
|
|
|
|
return hint_;
|
Add support for listings package. Two listings command \lstinline, \lstinputlisting and an environment \lstlisting are supported, along with preamble \lstset. \lstinputlisting is implemented through Include dialog, and the other two are implemented with a new inset listings, along with its dialog.
* src/LyXAction.cpp: listing-insert action
* src/insets/Inset.h,cpp: LISTINGS_CODE
* src/insets/InsetInclude.cpp: handle \lstinputlisting
* src/insets/InsetListings.h,cpp: new listings inset
* src/insets/InsetListingsParams.h,cpp: parameters from listings package
* src/insets/InsetCommandParams.h,cpp: handle lstinputlisting option
* src/Bidi.cpp: handle LISTINGS_CODE
* src/frontends/qt4/ui/TextLayoutUi.ui: update UI
* src/frontends/qt4/ui/ListingsUi.ui: new dialog
* src/frontends/qt4/ui/IncludeUi.ui: update UI
* src/frontends/qt4/QInclude.h,cpp: add lstinputlisting
* src/frontends/qt4/QDocument.h,cpp: add textedit for preamble listings_params
* src/frontends/qt4/QListings.h,cpp: new listings inset
* src/frontends/qt4/Dialogs.cpp: new listings dialog
* src/frontends/controllers/ControlInclude.h,cpp: add lstinputlisting
* src/frontends/controllers/ControlListings.h,cpp: new listings inset
* src/LyXFunc.cpp: handle LISTING_CODE
* src/Paragraph.cpp: handle LISTING_CODE
* src/factory.cpp: new listings inset
* src/CutAndPaste.cpp: handle LISTINGS_CODE
* src/LaTeXFeatures.cpp: require listings
* src/Text3.cpp: Handle LISTINGS_CODE
* src/lfuns.h: add LFUN_LISTING_INSERT
* src/Buffer.cpp: change lyx file format to 269
* src/BufferParams.h,cpp: add listings_params to preamble
* lib/lyx2lyx/LyX.py: lyx2lyx
* lib/lyx2lyx/lyx_1_5.py: lyx2lyx
* lib/ui/stdmenus.inc: new menu item (no shortcut!)
* src/insets/Makefile.am: update autotools
* src/frontends/controllers/Makefile.am
* src/frontends/qt4/Makefile.dialogs
* src/frontends/qt4/Makefile.am
* po/POTFILES.in: a few more translatable files.
* development/scons/scons_manifest.py: scons build system
* development/FORMAT: document format changes
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@18243 a592a061-630c-0410-9148-cb99ea01b6c8
2007-05-09 19:11:42 +00:00
|
|
|
else
|
2007-05-30 20:57:17 +00:00
|
|
|
return _("Please specify a LaTeX length expression.");
|
Add support for listings package. Two listings command \lstinline, \lstinputlisting and an environment \lstlisting are supported, along with preamble \lstset. \lstinputlisting is implemented through Include dialog, and the other two are implemented with a new inset listings, along with its dialog.
* src/LyXAction.cpp: listing-insert action
* src/insets/Inset.h,cpp: LISTINGS_CODE
* src/insets/InsetInclude.cpp: handle \lstinputlisting
* src/insets/InsetListings.h,cpp: new listings inset
* src/insets/InsetListingsParams.h,cpp: parameters from listings package
* src/insets/InsetCommandParams.h,cpp: handle lstinputlisting option
* src/Bidi.cpp: handle LISTINGS_CODE
* src/frontends/qt4/ui/TextLayoutUi.ui: update UI
* src/frontends/qt4/ui/ListingsUi.ui: new dialog
* src/frontends/qt4/ui/IncludeUi.ui: update UI
* src/frontends/qt4/QInclude.h,cpp: add lstinputlisting
* src/frontends/qt4/QDocument.h,cpp: add textedit for preamble listings_params
* src/frontends/qt4/QListings.h,cpp: new listings inset
* src/frontends/qt4/Dialogs.cpp: new listings dialog
* src/frontends/controllers/ControlInclude.h,cpp: add lstinputlisting
* src/frontends/controllers/ControlListings.h,cpp: new listings inset
* src/LyXFunc.cpp: handle LISTING_CODE
* src/Paragraph.cpp: handle LISTING_CODE
* src/factory.cpp: new listings inset
* src/CutAndPaste.cpp: handle LISTINGS_CODE
* src/LaTeXFeatures.cpp: require listings
* src/Text3.cpp: Handle LISTINGS_CODE
* src/lfuns.h: add LFUN_LISTING_INSERT
* src/Buffer.cpp: change lyx file format to 269
* src/BufferParams.h,cpp: add listings_params to preamble
* lib/lyx2lyx/LyX.py: lyx2lyx
* lib/lyx2lyx/lyx_1_5.py: lyx2lyx
* lib/ui/stdmenus.inc: new menu item (no shortcut!)
* src/insets/Makefile.am: update autotools
* src/frontends/controllers/Makefile.am
* src/frontends/qt4/Makefile.dialogs
* src/frontends/qt4/Makefile.am
* po/POTFILES.in: a few more translatable files.
* development/scons/scons_manifest.py: scons build system
* development/FORMAT: document format changes
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@18243 a592a061-630c-0410-9148-cb99ea01b6c8
2007-05-09 19:11:42 +00:00
|
|
|
}
|
2007-05-22 04:43:30 +00:00
|
|
|
if (!isValidLength(par2))
|
2007-05-30 20:57:17 +00:00
|
|
|
return _("Invalid LaTeX length expression.");
|
2007-05-22 04:43:30 +00:00
|
|
|
if (unclosed)
|
2007-05-27 11:55:46 +00:00
|
|
|
return _("Unbalanced braces!");
|
|
|
|
return docstring();
|
|
|
|
|
Add support for listings package. Two listings command \lstinline, \lstinputlisting and an environment \lstlisting are supported, along with preamble \lstset. \lstinputlisting is implemented through Include dialog, and the other two are implemented with a new inset listings, along with its dialog.
* src/LyXAction.cpp: listing-insert action
* src/insets/Inset.h,cpp: LISTINGS_CODE
* src/insets/InsetInclude.cpp: handle \lstinputlisting
* src/insets/InsetListings.h,cpp: new listings inset
* src/insets/InsetListingsParams.h,cpp: parameters from listings package
* src/insets/InsetCommandParams.h,cpp: handle lstinputlisting option
* src/Bidi.cpp: handle LISTINGS_CODE
* src/frontends/qt4/ui/TextLayoutUi.ui: update UI
* src/frontends/qt4/ui/ListingsUi.ui: new dialog
* src/frontends/qt4/ui/IncludeUi.ui: update UI
* src/frontends/qt4/QInclude.h,cpp: add lstinputlisting
* src/frontends/qt4/QDocument.h,cpp: add textedit for preamble listings_params
* src/frontends/qt4/QListings.h,cpp: new listings inset
* src/frontends/qt4/Dialogs.cpp: new listings dialog
* src/frontends/controllers/ControlInclude.h,cpp: add lstinputlisting
* src/frontends/controllers/ControlListings.h,cpp: new listings inset
* src/LyXFunc.cpp: handle LISTING_CODE
* src/Paragraph.cpp: handle LISTING_CODE
* src/factory.cpp: new listings inset
* src/CutAndPaste.cpp: handle LISTINGS_CODE
* src/LaTeXFeatures.cpp: require listings
* src/Text3.cpp: Handle LISTINGS_CODE
* src/lfuns.h: add LFUN_LISTING_INSERT
* src/Buffer.cpp: change lyx file format to 269
* src/BufferParams.h,cpp: add listings_params to preamble
* lib/lyx2lyx/LyX.py: lyx2lyx
* lib/lyx2lyx/lyx_1_5.py: lyx2lyx
* lib/ui/stdmenus.inc: new menu item (no shortcut!)
* src/insets/Makefile.am: update autotools
* src/frontends/controllers/Makefile.am
* src/frontends/qt4/Makefile.dialogs
* src/frontends/qt4/Makefile.am
* po/POTFILES.in: a few more translatable files.
* development/scons/scons_manifest.py: scons build system
* development/FORMAT: document format changes
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@18243 a592a061-630c-0410-9148-cb99ea01b6c8
2007-05-09 19:11:42 +00:00
|
|
|
case ONEOF: {
|
2007-05-27 11:55:46 +00:00
|
|
|
if (par2.empty() && !onoff_) {
|
|
|
|
if (!hint_.empty())
|
|
|
|
return hint_;
|
Add support for listings package. Two listings command \lstinline, \lstinputlisting and an environment \lstlisting are supported, along with preamble \lstset. \lstinputlisting is implemented through Include dialog, and the other two are implemented with a new inset listings, along with its dialog.
* src/LyXAction.cpp: listing-insert action
* src/insets/Inset.h,cpp: LISTINGS_CODE
* src/insets/InsetInclude.cpp: handle \lstinputlisting
* src/insets/InsetListings.h,cpp: new listings inset
* src/insets/InsetListingsParams.h,cpp: parameters from listings package
* src/insets/InsetCommandParams.h,cpp: handle lstinputlisting option
* src/Bidi.cpp: handle LISTINGS_CODE
* src/frontends/qt4/ui/TextLayoutUi.ui: update UI
* src/frontends/qt4/ui/ListingsUi.ui: new dialog
* src/frontends/qt4/ui/IncludeUi.ui: update UI
* src/frontends/qt4/QInclude.h,cpp: add lstinputlisting
* src/frontends/qt4/QDocument.h,cpp: add textedit for preamble listings_params
* src/frontends/qt4/QListings.h,cpp: new listings inset
* src/frontends/qt4/Dialogs.cpp: new listings dialog
* src/frontends/controllers/ControlInclude.h,cpp: add lstinputlisting
* src/frontends/controllers/ControlListings.h,cpp: new listings inset
* src/LyXFunc.cpp: handle LISTING_CODE
* src/Paragraph.cpp: handle LISTING_CODE
* src/factory.cpp: new listings inset
* src/CutAndPaste.cpp: handle LISTINGS_CODE
* src/LaTeXFeatures.cpp: require listings
* src/Text3.cpp: Handle LISTINGS_CODE
* src/lfuns.h: add LFUN_LISTING_INSERT
* src/Buffer.cpp: change lyx file format to 269
* src/BufferParams.h,cpp: add listings_params to preamble
* lib/lyx2lyx/LyX.py: lyx2lyx
* lib/lyx2lyx/lyx_1_5.py: lyx2lyx
* lib/ui/stdmenus.inc: new menu item (no shortcut!)
* src/insets/Makefile.am: update autotools
* src/frontends/controllers/Makefile.am
* src/frontends/qt4/Makefile.dialogs
* src/frontends/qt4/Makefile.am
* po/POTFILES.in: a few more translatable files.
* development/scons/scons_manifest.py: scons build system
* development/FORMAT: document format changes
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@18243 a592a061-630c-0410-9148-cb99ea01b6c8
2007-05-09 19:11:42 +00:00
|
|
|
else
|
2007-05-27 11:55:46 +00:00
|
|
|
return bformat(_("Please specify one of %1$s."),
|
|
|
|
from_utf8(info_));
|
Add support for listings package. Two listings command \lstinline, \lstinputlisting and an environment \lstlisting are supported, along with preamble \lstset. \lstinputlisting is implemented through Include dialog, and the other two are implemented with a new inset listings, along with its dialog.
* src/LyXAction.cpp: listing-insert action
* src/insets/Inset.h,cpp: LISTINGS_CODE
* src/insets/InsetInclude.cpp: handle \lstinputlisting
* src/insets/InsetListings.h,cpp: new listings inset
* src/insets/InsetListingsParams.h,cpp: parameters from listings package
* src/insets/InsetCommandParams.h,cpp: handle lstinputlisting option
* src/Bidi.cpp: handle LISTINGS_CODE
* src/frontends/qt4/ui/TextLayoutUi.ui: update UI
* src/frontends/qt4/ui/ListingsUi.ui: new dialog
* src/frontends/qt4/ui/IncludeUi.ui: update UI
* src/frontends/qt4/QInclude.h,cpp: add lstinputlisting
* src/frontends/qt4/QDocument.h,cpp: add textedit for preamble listings_params
* src/frontends/qt4/QListings.h,cpp: new listings inset
* src/frontends/qt4/Dialogs.cpp: new listings dialog
* src/frontends/controllers/ControlInclude.h,cpp: add lstinputlisting
* src/frontends/controllers/ControlListings.h,cpp: new listings inset
* src/LyXFunc.cpp: handle LISTING_CODE
* src/Paragraph.cpp: handle LISTING_CODE
* src/factory.cpp: new listings inset
* src/CutAndPaste.cpp: handle LISTINGS_CODE
* src/LaTeXFeatures.cpp: require listings
* src/Text3.cpp: Handle LISTINGS_CODE
* src/lfuns.h: add LFUN_LISTING_INSERT
* src/Buffer.cpp: change lyx file format to 269
* src/BufferParams.h,cpp: add listings_params to preamble
* lib/lyx2lyx/LyX.py: lyx2lyx
* lib/lyx2lyx/lyx_1_5.py: lyx2lyx
* lib/ui/stdmenus.inc: new menu item (no shortcut!)
* src/insets/Makefile.am: update autotools
* src/frontends/controllers/Makefile.am
* src/frontends/qt4/Makefile.dialogs
* src/frontends/qt4/Makefile.am
* po/POTFILES.in: a few more translatable files.
* development/scons/scons_manifest.py: scons build system
* development/FORMAT: document format changes
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@18243 a592a061-630c-0410-9148-cb99ea01b6c8
2007-05-09 19:11:42 +00:00
|
|
|
}
|
|
|
|
// break value to allowed strings
|
|
|
|
vector<string> lists;
|
|
|
|
string v;
|
2007-05-27 11:55:46 +00:00
|
|
|
for (size_t i = 0; i != info_.size(); ++i) {
|
|
|
|
if (info_[i] == '\n') {
|
Add support for listings package. Two listings command \lstinline, \lstinputlisting and an environment \lstlisting are supported, along with preamble \lstset. \lstinputlisting is implemented through Include dialog, and the other two are implemented with a new inset listings, along with its dialog.
* src/LyXAction.cpp: listing-insert action
* src/insets/Inset.h,cpp: LISTINGS_CODE
* src/insets/InsetInclude.cpp: handle \lstinputlisting
* src/insets/InsetListings.h,cpp: new listings inset
* src/insets/InsetListingsParams.h,cpp: parameters from listings package
* src/insets/InsetCommandParams.h,cpp: handle lstinputlisting option
* src/Bidi.cpp: handle LISTINGS_CODE
* src/frontends/qt4/ui/TextLayoutUi.ui: update UI
* src/frontends/qt4/ui/ListingsUi.ui: new dialog
* src/frontends/qt4/ui/IncludeUi.ui: update UI
* src/frontends/qt4/QInclude.h,cpp: add lstinputlisting
* src/frontends/qt4/QDocument.h,cpp: add textedit for preamble listings_params
* src/frontends/qt4/QListings.h,cpp: new listings inset
* src/frontends/qt4/Dialogs.cpp: new listings dialog
* src/frontends/controllers/ControlInclude.h,cpp: add lstinputlisting
* src/frontends/controllers/ControlListings.h,cpp: new listings inset
* src/LyXFunc.cpp: handle LISTING_CODE
* src/Paragraph.cpp: handle LISTING_CODE
* src/factory.cpp: new listings inset
* src/CutAndPaste.cpp: handle LISTINGS_CODE
* src/LaTeXFeatures.cpp: require listings
* src/Text3.cpp: Handle LISTINGS_CODE
* src/lfuns.h: add LFUN_LISTING_INSERT
* src/Buffer.cpp: change lyx file format to 269
* src/BufferParams.h,cpp: add listings_params to preamble
* lib/lyx2lyx/LyX.py: lyx2lyx
* lib/lyx2lyx/lyx_1_5.py: lyx2lyx
* lib/ui/stdmenus.inc: new menu item (no shortcut!)
* src/insets/Makefile.am: update autotools
* src/frontends/controllers/Makefile.am
* src/frontends/qt4/Makefile.dialogs
* src/frontends/qt4/Makefile.am
* po/POTFILES.in: a few more translatable files.
* development/scons/scons_manifest.py: scons build system
* development/FORMAT: document format changes
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@18243 a592a061-630c-0410-9148-cb99ea01b6c8
2007-05-09 19:11:42 +00:00
|
|
|
lists.push_back(v);
|
|
|
|
v = string();
|
|
|
|
} else
|
2007-05-27 11:55:46 +00:00
|
|
|
v += info_[i];
|
Add support for listings package. Two listings command \lstinline, \lstinputlisting and an environment \lstlisting are supported, along with preamble \lstset. \lstinputlisting is implemented through Include dialog, and the other two are implemented with a new inset listings, along with its dialog.
* src/LyXAction.cpp: listing-insert action
* src/insets/Inset.h,cpp: LISTINGS_CODE
* src/insets/InsetInclude.cpp: handle \lstinputlisting
* src/insets/InsetListings.h,cpp: new listings inset
* src/insets/InsetListingsParams.h,cpp: parameters from listings package
* src/insets/InsetCommandParams.h,cpp: handle lstinputlisting option
* src/Bidi.cpp: handle LISTINGS_CODE
* src/frontends/qt4/ui/TextLayoutUi.ui: update UI
* src/frontends/qt4/ui/ListingsUi.ui: new dialog
* src/frontends/qt4/ui/IncludeUi.ui: update UI
* src/frontends/qt4/QInclude.h,cpp: add lstinputlisting
* src/frontends/qt4/QDocument.h,cpp: add textedit for preamble listings_params
* src/frontends/qt4/QListings.h,cpp: new listings inset
* src/frontends/qt4/Dialogs.cpp: new listings dialog
* src/frontends/controllers/ControlInclude.h,cpp: add lstinputlisting
* src/frontends/controllers/ControlListings.h,cpp: new listings inset
* src/LyXFunc.cpp: handle LISTING_CODE
* src/Paragraph.cpp: handle LISTING_CODE
* src/factory.cpp: new listings inset
* src/CutAndPaste.cpp: handle LISTINGS_CODE
* src/LaTeXFeatures.cpp: require listings
* src/Text3.cpp: Handle LISTINGS_CODE
* src/lfuns.h: add LFUN_LISTING_INSERT
* src/Buffer.cpp: change lyx file format to 269
* src/BufferParams.h,cpp: add listings_params to preamble
* lib/lyx2lyx/LyX.py: lyx2lyx
* lib/lyx2lyx/lyx_1_5.py: lyx2lyx
* lib/ui/stdmenus.inc: new menu item (no shortcut!)
* src/insets/Makefile.am: update autotools
* src/frontends/controllers/Makefile.am
* src/frontends/qt4/Makefile.dialogs
* src/frontends/qt4/Makefile.am
* po/POTFILES.in: a few more translatable files.
* development/scons/scons_manifest.py: scons build system
* development/FORMAT: document format changes
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@18243 a592a061-630c-0410-9148-cb99ea01b6c8
2007-05-09 19:11:42 +00:00
|
|
|
}
|
|
|
|
if (!v.empty())
|
|
|
|
lists.push_back(v);
|
|
|
|
|
|
|
|
// good, find the string
|
2007-05-22 04:43:30 +00:00
|
|
|
if (std::find(lists.begin(), lists.end(), par2) != lists.end()) {
|
|
|
|
if (unclosed)
|
2007-05-27 11:55:46 +00:00
|
|
|
return _("Unbalanced braces!");
|
|
|
|
return docstring();
|
2007-05-22 04:43:30 +00:00
|
|
|
}
|
Add support for listings package. Two listings command \lstinline, \lstinputlisting and an environment \lstlisting are supported, along with preamble \lstset. \lstinputlisting is implemented through Include dialog, and the other two are implemented with a new inset listings, along with its dialog.
* src/LyXAction.cpp: listing-insert action
* src/insets/Inset.h,cpp: LISTINGS_CODE
* src/insets/InsetInclude.cpp: handle \lstinputlisting
* src/insets/InsetListings.h,cpp: new listings inset
* src/insets/InsetListingsParams.h,cpp: parameters from listings package
* src/insets/InsetCommandParams.h,cpp: handle lstinputlisting option
* src/Bidi.cpp: handle LISTINGS_CODE
* src/frontends/qt4/ui/TextLayoutUi.ui: update UI
* src/frontends/qt4/ui/ListingsUi.ui: new dialog
* src/frontends/qt4/ui/IncludeUi.ui: update UI
* src/frontends/qt4/QInclude.h,cpp: add lstinputlisting
* src/frontends/qt4/QDocument.h,cpp: add textedit for preamble listings_params
* src/frontends/qt4/QListings.h,cpp: new listings inset
* src/frontends/qt4/Dialogs.cpp: new listings dialog
* src/frontends/controllers/ControlInclude.h,cpp: add lstinputlisting
* src/frontends/controllers/ControlListings.h,cpp: new listings inset
* src/LyXFunc.cpp: handle LISTING_CODE
* src/Paragraph.cpp: handle LISTING_CODE
* src/factory.cpp: new listings inset
* src/CutAndPaste.cpp: handle LISTINGS_CODE
* src/LaTeXFeatures.cpp: require listings
* src/Text3.cpp: Handle LISTINGS_CODE
* src/lfuns.h: add LFUN_LISTING_INSERT
* src/Buffer.cpp: change lyx file format to 269
* src/BufferParams.h,cpp: add listings_params to preamble
* lib/lyx2lyx/LyX.py: lyx2lyx
* lib/lyx2lyx/lyx_1_5.py: lyx2lyx
* lib/ui/stdmenus.inc: new menu item (no shortcut!)
* src/insets/Makefile.am: update autotools
* src/frontends/controllers/Makefile.am
* src/frontends/qt4/Makefile.dialogs
* src/frontends/qt4/Makefile.am
* po/POTFILES.in: a few more translatable files.
* development/scons/scons_manifest.py: scons build system
* development/FORMAT: document format changes
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@18243 a592a061-630c-0410-9148-cb99ea01b6c8
2007-05-09 19:11:42 +00:00
|
|
|
// otherwise, produce a meaningful error message.
|
|
|
|
string matching_names;
|
2007-05-28 22:27:45 +00:00
|
|
|
for (vector<string>::iterator it = lists.begin();
|
Add support for listings package. Two listings command \lstinline, \lstinputlisting and an environment \lstlisting are supported, along with preamble \lstset. \lstinputlisting is implemented through Include dialog, and the other two are implemented with a new inset listings, along with its dialog.
* src/LyXAction.cpp: listing-insert action
* src/insets/Inset.h,cpp: LISTINGS_CODE
* src/insets/InsetInclude.cpp: handle \lstinputlisting
* src/insets/InsetListings.h,cpp: new listings inset
* src/insets/InsetListingsParams.h,cpp: parameters from listings package
* src/insets/InsetCommandParams.h,cpp: handle lstinputlisting option
* src/Bidi.cpp: handle LISTINGS_CODE
* src/frontends/qt4/ui/TextLayoutUi.ui: update UI
* src/frontends/qt4/ui/ListingsUi.ui: new dialog
* src/frontends/qt4/ui/IncludeUi.ui: update UI
* src/frontends/qt4/QInclude.h,cpp: add lstinputlisting
* src/frontends/qt4/QDocument.h,cpp: add textedit for preamble listings_params
* src/frontends/qt4/QListings.h,cpp: new listings inset
* src/frontends/qt4/Dialogs.cpp: new listings dialog
* src/frontends/controllers/ControlInclude.h,cpp: add lstinputlisting
* src/frontends/controllers/ControlListings.h,cpp: new listings inset
* src/LyXFunc.cpp: handle LISTING_CODE
* src/Paragraph.cpp: handle LISTING_CODE
* src/factory.cpp: new listings inset
* src/CutAndPaste.cpp: handle LISTINGS_CODE
* src/LaTeXFeatures.cpp: require listings
* src/Text3.cpp: Handle LISTINGS_CODE
* src/lfuns.h: add LFUN_LISTING_INSERT
* src/Buffer.cpp: change lyx file format to 269
* src/BufferParams.h,cpp: add listings_params to preamble
* lib/lyx2lyx/LyX.py: lyx2lyx
* lib/lyx2lyx/lyx_1_5.py: lyx2lyx
* lib/ui/stdmenus.inc: new menu item (no shortcut!)
* src/insets/Makefile.am: update autotools
* src/frontends/controllers/Makefile.am
* src/frontends/qt4/Makefile.dialogs
* src/frontends/qt4/Makefile.am
* po/POTFILES.in: a few more translatable files.
* development/scons/scons_manifest.py: scons build system
* development/FORMAT: document format changes
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@18243 a592a061-630c-0410-9148-cb99ea01b6c8
2007-05-09 19:11:42 +00:00
|
|
|
it != lists.end(); ++it) {
|
2007-05-22 04:43:30 +00:00
|
|
|
if (it->size() >= par2.size() && it->substr(0, par2.size()) == par2) {
|
Add support for listings package. Two listings command \lstinline, \lstinputlisting and an environment \lstlisting are supported, along with preamble \lstset. \lstinputlisting is implemented through Include dialog, and the other two are implemented with a new inset listings, along with its dialog.
* src/LyXAction.cpp: listing-insert action
* src/insets/Inset.h,cpp: LISTINGS_CODE
* src/insets/InsetInclude.cpp: handle \lstinputlisting
* src/insets/InsetListings.h,cpp: new listings inset
* src/insets/InsetListingsParams.h,cpp: parameters from listings package
* src/insets/InsetCommandParams.h,cpp: handle lstinputlisting option
* src/Bidi.cpp: handle LISTINGS_CODE
* src/frontends/qt4/ui/TextLayoutUi.ui: update UI
* src/frontends/qt4/ui/ListingsUi.ui: new dialog
* src/frontends/qt4/ui/IncludeUi.ui: update UI
* src/frontends/qt4/QInclude.h,cpp: add lstinputlisting
* src/frontends/qt4/QDocument.h,cpp: add textedit for preamble listings_params
* src/frontends/qt4/QListings.h,cpp: new listings inset
* src/frontends/qt4/Dialogs.cpp: new listings dialog
* src/frontends/controllers/ControlInclude.h,cpp: add lstinputlisting
* src/frontends/controllers/ControlListings.h,cpp: new listings inset
* src/LyXFunc.cpp: handle LISTING_CODE
* src/Paragraph.cpp: handle LISTING_CODE
* src/factory.cpp: new listings inset
* src/CutAndPaste.cpp: handle LISTINGS_CODE
* src/LaTeXFeatures.cpp: require listings
* src/Text3.cpp: Handle LISTINGS_CODE
* src/lfuns.h: add LFUN_LISTING_INSERT
* src/Buffer.cpp: change lyx file format to 269
* src/BufferParams.h,cpp: add listings_params to preamble
* lib/lyx2lyx/LyX.py: lyx2lyx
* lib/lyx2lyx/lyx_1_5.py: lyx2lyx
* lib/ui/stdmenus.inc: new menu item (no shortcut!)
* src/insets/Makefile.am: update autotools
* src/frontends/controllers/Makefile.am
* src/frontends/qt4/Makefile.dialogs
* src/frontends/qt4/Makefile.am
* po/POTFILES.in: a few more translatable files.
* development/scons/scons_manifest.py: scons build system
* development/FORMAT: document format changes
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@18243 a592a061-630c-0410-9148-cb99ea01b6c8
2007-05-09 19:11:42 +00:00
|
|
|
if (matching_names.empty())
|
|
|
|
matching_names += *it;
|
|
|
|
else
|
|
|
|
matching_names += ", " + *it;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
if (matching_names.empty())
|
2007-05-27 11:55:46 +00:00
|
|
|
return bformat(_("Try one of %1$s."), from_utf8(info_));
|
Add support for listings package. Two listings command \lstinline, \lstinputlisting and an environment \lstlisting are supported, along with preamble \lstset. \lstinputlisting is implemented through Include dialog, and the other two are implemented with a new inset listings, along with its dialog.
* src/LyXAction.cpp: listing-insert action
* src/insets/Inset.h,cpp: LISTINGS_CODE
* src/insets/InsetInclude.cpp: handle \lstinputlisting
* src/insets/InsetListings.h,cpp: new listings inset
* src/insets/InsetListingsParams.h,cpp: parameters from listings package
* src/insets/InsetCommandParams.h,cpp: handle lstinputlisting option
* src/Bidi.cpp: handle LISTINGS_CODE
* src/frontends/qt4/ui/TextLayoutUi.ui: update UI
* src/frontends/qt4/ui/ListingsUi.ui: new dialog
* src/frontends/qt4/ui/IncludeUi.ui: update UI
* src/frontends/qt4/QInclude.h,cpp: add lstinputlisting
* src/frontends/qt4/QDocument.h,cpp: add textedit for preamble listings_params
* src/frontends/qt4/QListings.h,cpp: new listings inset
* src/frontends/qt4/Dialogs.cpp: new listings dialog
* src/frontends/controllers/ControlInclude.h,cpp: add lstinputlisting
* src/frontends/controllers/ControlListings.h,cpp: new listings inset
* src/LyXFunc.cpp: handle LISTING_CODE
* src/Paragraph.cpp: handle LISTING_CODE
* src/factory.cpp: new listings inset
* src/CutAndPaste.cpp: handle LISTINGS_CODE
* src/LaTeXFeatures.cpp: require listings
* src/Text3.cpp: Handle LISTINGS_CODE
* src/lfuns.h: add LFUN_LISTING_INSERT
* src/Buffer.cpp: change lyx file format to 269
* src/BufferParams.h,cpp: add listings_params to preamble
* lib/lyx2lyx/LyX.py: lyx2lyx
* lib/lyx2lyx/lyx_1_5.py: lyx2lyx
* lib/ui/stdmenus.inc: new menu item (no shortcut!)
* src/insets/Makefile.am: update autotools
* src/frontends/controllers/Makefile.am
* src/frontends/qt4/Makefile.dialogs
* src/frontends/qt4/Makefile.am
* po/POTFILES.in: a few more translatable files.
* development/scons/scons_manifest.py: scons build system
* development/FORMAT: document format changes
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@18243 a592a061-630c-0410-9148-cb99ea01b6c8
2007-05-09 19:11:42 +00:00
|
|
|
else
|
2007-05-27 11:55:46 +00:00
|
|
|
return bformat(_("I guess you mean %1$s."), from_utf8(matching_names));
|
|
|
|
return docstring();
|
Add support for listings package. Two listings command \lstinline, \lstinputlisting and an environment \lstlisting are supported, along with preamble \lstset. \lstinputlisting is implemented through Include dialog, and the other two are implemented with a new inset listings, along with its dialog.
* src/LyXAction.cpp: listing-insert action
* src/insets/Inset.h,cpp: LISTINGS_CODE
* src/insets/InsetInclude.cpp: handle \lstinputlisting
* src/insets/InsetListings.h,cpp: new listings inset
* src/insets/InsetListingsParams.h,cpp: parameters from listings package
* src/insets/InsetCommandParams.h,cpp: handle lstinputlisting option
* src/Bidi.cpp: handle LISTINGS_CODE
* src/frontends/qt4/ui/TextLayoutUi.ui: update UI
* src/frontends/qt4/ui/ListingsUi.ui: new dialog
* src/frontends/qt4/ui/IncludeUi.ui: update UI
* src/frontends/qt4/QInclude.h,cpp: add lstinputlisting
* src/frontends/qt4/QDocument.h,cpp: add textedit for preamble listings_params
* src/frontends/qt4/QListings.h,cpp: new listings inset
* src/frontends/qt4/Dialogs.cpp: new listings dialog
* src/frontends/controllers/ControlInclude.h,cpp: add lstinputlisting
* src/frontends/controllers/ControlListings.h,cpp: new listings inset
* src/LyXFunc.cpp: handle LISTING_CODE
* src/Paragraph.cpp: handle LISTING_CODE
* src/factory.cpp: new listings inset
* src/CutAndPaste.cpp: handle LISTINGS_CODE
* src/LaTeXFeatures.cpp: require listings
* src/Text3.cpp: Handle LISTINGS_CODE
* src/lfuns.h: add LFUN_LISTING_INSERT
* src/Buffer.cpp: change lyx file format to 269
* src/BufferParams.h,cpp: add listings_params to preamble
* lib/lyx2lyx/LyX.py: lyx2lyx
* lib/lyx2lyx/lyx_1_5.py: lyx2lyx
* lib/ui/stdmenus.inc: new menu item (no shortcut!)
* src/insets/Makefile.am: update autotools
* src/frontends/controllers/Makefile.am
* src/frontends/qt4/Makefile.dialogs
* src/frontends/qt4/Makefile.am
* po/POTFILES.in: a few more translatable files.
* development/scons/scons_manifest.py: scons build system
* development/FORMAT: document format changes
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@18243 a592a061-630c-0410-9148-cb99ea01b6c8
2007-05-09 19:11:42 +00:00
|
|
|
}
|
2007-05-27 11:55:46 +00:00
|
|
|
case SUBSETOF:
|
|
|
|
if (par2.empty() && !onoff_) {
|
|
|
|
if (!hint_.empty())
|
|
|
|
return hint_;
|
Add support for listings package. Two listings command \lstinline, \lstinputlisting and an environment \lstlisting are supported, along with preamble \lstset. \lstinputlisting is implemented through Include dialog, and the other two are implemented with a new inset listings, along with its dialog.
* src/LyXAction.cpp: listing-insert action
* src/insets/Inset.h,cpp: LISTINGS_CODE
* src/insets/InsetInclude.cpp: handle \lstinputlisting
* src/insets/InsetListings.h,cpp: new listings inset
* src/insets/InsetListingsParams.h,cpp: parameters from listings package
* src/insets/InsetCommandParams.h,cpp: handle lstinputlisting option
* src/Bidi.cpp: handle LISTINGS_CODE
* src/frontends/qt4/ui/TextLayoutUi.ui: update UI
* src/frontends/qt4/ui/ListingsUi.ui: new dialog
* src/frontends/qt4/ui/IncludeUi.ui: update UI
* src/frontends/qt4/QInclude.h,cpp: add lstinputlisting
* src/frontends/qt4/QDocument.h,cpp: add textedit for preamble listings_params
* src/frontends/qt4/QListings.h,cpp: new listings inset
* src/frontends/qt4/Dialogs.cpp: new listings dialog
* src/frontends/controllers/ControlInclude.h,cpp: add lstinputlisting
* src/frontends/controllers/ControlListings.h,cpp: new listings inset
* src/LyXFunc.cpp: handle LISTING_CODE
* src/Paragraph.cpp: handle LISTING_CODE
* src/factory.cpp: new listings inset
* src/CutAndPaste.cpp: handle LISTINGS_CODE
* src/LaTeXFeatures.cpp: require listings
* src/Text3.cpp: Handle LISTINGS_CODE
* src/lfuns.h: add LFUN_LISTING_INSERT
* src/Buffer.cpp: change lyx file format to 269
* src/BufferParams.h,cpp: add listings_params to preamble
* lib/lyx2lyx/LyX.py: lyx2lyx
* lib/lyx2lyx/lyx_1_5.py: lyx2lyx
* lib/ui/stdmenus.inc: new menu item (no shortcut!)
* src/insets/Makefile.am: update autotools
* src/frontends/controllers/Makefile.am
* src/frontends/qt4/Makefile.dialogs
* src/frontends/qt4/Makefile.am
* po/POTFILES.in: a few more translatable files.
* development/scons/scons_manifest.py: scons build system
* development/FORMAT: document format changes
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@18243 a592a061-630c-0410-9148-cb99ea01b6c8
2007-05-09 19:11:42 +00:00
|
|
|
else
|
2007-05-27 11:55:46 +00:00
|
|
|
return bformat(_("Please specify one or more of '%1$s'."),
|
|
|
|
from_utf8(info_));
|
Add support for listings package. Two listings command \lstinline, \lstinputlisting and an environment \lstlisting are supported, along with preamble \lstset. \lstinputlisting is implemented through Include dialog, and the other two are implemented with a new inset listings, along with its dialog.
* src/LyXAction.cpp: listing-insert action
* src/insets/Inset.h,cpp: LISTINGS_CODE
* src/insets/InsetInclude.cpp: handle \lstinputlisting
* src/insets/InsetListings.h,cpp: new listings inset
* src/insets/InsetListingsParams.h,cpp: parameters from listings package
* src/insets/InsetCommandParams.h,cpp: handle lstinputlisting option
* src/Bidi.cpp: handle LISTINGS_CODE
* src/frontends/qt4/ui/TextLayoutUi.ui: update UI
* src/frontends/qt4/ui/ListingsUi.ui: new dialog
* src/frontends/qt4/ui/IncludeUi.ui: update UI
* src/frontends/qt4/QInclude.h,cpp: add lstinputlisting
* src/frontends/qt4/QDocument.h,cpp: add textedit for preamble listings_params
* src/frontends/qt4/QListings.h,cpp: new listings inset
* src/frontends/qt4/Dialogs.cpp: new listings dialog
* src/frontends/controllers/ControlInclude.h,cpp: add lstinputlisting
* src/frontends/controllers/ControlListings.h,cpp: new listings inset
* src/LyXFunc.cpp: handle LISTING_CODE
* src/Paragraph.cpp: handle LISTING_CODE
* src/factory.cpp: new listings inset
* src/CutAndPaste.cpp: handle LISTINGS_CODE
* src/LaTeXFeatures.cpp: require listings
* src/Text3.cpp: Handle LISTINGS_CODE
* src/lfuns.h: add LFUN_LISTING_INSERT
* src/Buffer.cpp: change lyx file format to 269
* src/BufferParams.h,cpp: add listings_params to preamble
* lib/lyx2lyx/LyX.py: lyx2lyx
* lib/lyx2lyx/lyx_1_5.py: lyx2lyx
* lib/ui/stdmenus.inc: new menu item (no shortcut!)
* src/insets/Makefile.am: update autotools
* src/frontends/controllers/Makefile.am
* src/frontends/qt4/Makefile.dialogs
* src/frontends/qt4/Makefile.am
* po/POTFILES.in: a few more translatable files.
* development/scons/scons_manifest.py: scons build system
* development/FORMAT: document format changes
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@18243 a592a061-630c-0410-9148-cb99ea01b6c8
2007-05-09 19:11:42 +00:00
|
|
|
}
|
2007-05-22 04:43:30 +00:00
|
|
|
for (size_t i = 0; i < par2.size(); ++i)
|
2007-05-27 11:55:46 +00:00
|
|
|
if (info_.find(par2[i], 0) == string::npos)
|
|
|
|
return bformat(_("Should be composed of one or more of %1$s."),
|
|
|
|
from_utf8(info_));
|
2007-05-22 04:43:30 +00:00
|
|
|
if (unclosed)
|
2007-05-27 11:55:46 +00:00
|
|
|
return _("Unbalanced braces!");
|
|
|
|
return docstring();
|
|
|
|
}
|
2007-06-09 13:18:54 +00:00
|
|
|
return docstring();
|
2007-05-27 11:55:46 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
/// languages and language/dialect combinations
|
2007-05-28 22:27:45 +00:00
|
|
|
char const * allowed_languages =
|
2007-05-27 11:55:46 +00:00
|
|
|
"no language\nABAP\n[R/2 4.3]ABAP\n[R/2 5.0]ABAP\n[R/3 3.1]ABAP\n"
|
|
|
|
"[R/3 4.6C]ABAP\n[R/3 6.10]ABAP\nACSL\nAda\n[2005]Ada\n[83]Ada\n"
|
|
|
|
"[95]Ada\nALGOL\n[60]ALGOL\n[68]ALGOL\nAssembler\n"
|
|
|
|
"[Motorola68k]Assembler\n[x86masm]Assembler\nAwk\n[gnu]Awk\n[POSIX]Awk\n"
|
|
|
|
"bash\nBasic\n[Visual]Basic\nC\n[ANSI]C\n[Handel]C\n[Objective]C\n"
|
|
|
|
"[Sharp]C\nC++\n[ANSI]C++\n[GNU]C++\n[ISO]C++\n[Visual]C++\nCaml\n"
|
|
|
|
"[light]Caml\n[Objective]Caml\nClean\nCobol\n[1974]Cobol\n[1985]Cobol\n"
|
|
|
|
"[ibm]Cobol\nComal 80\ncommand.com\n[WinXP]command.com\nComsol\ncsh\n"
|
2007-10-13 20:56:28 +00:00
|
|
|
"Delphi\nEiffel\nElan\nerlang\nEuphoria\nFortran\n[77]Fortran\n[90]Fortran\n"
|
2007-05-27 11:55:46 +00:00
|
|
|
"[95]Fortran\nGCL\nGnuplot\nHaskell\nHTML\nIDL\n[CORBA]IDL\ninform\n"
|
|
|
|
"Java\n[AspectJ]Java\nJVMIS\nksh\nLingo\nLisp\n[Auto]Lisp\nLogo\n"
|
|
|
|
"make\n[gnu]make\nMathematica\n[1.0]Mathematica\n[3.0]Mathematica\n"
|
|
|
|
"[5.2]Mathematica\nMatlab\nMercury\nMetaPost\nMiranda\nMizar\nML\n"
|
|
|
|
"Modula-2\nMuPAD\nNASTRAN\nOberon-2\nOCL\n[decorative]OCL\n[OMG]OCL\n"
|
|
|
|
"Octave\nOz\nPascal\n[Borland6]Pascal\n[Standard]Pascal\n[XSC]Pascal\n"
|
|
|
|
"Perl\nPHP\nPL/I\nPlasm\nPostScript\nPOV\nProlog\nPromela\nPSTricks\n"
|
|
|
|
"Python\nR\nReduce\nRexx\nRSL\nRuby\nS\n[PLUS]S\nSAS\nScilab\nsh\n"
|
|
|
|
"SHELXL\nSimula\n[67]Simula\n[CII]Simula\n[DEC]Simula\n[IBM]Simula\n"
|
|
|
|
"SPARQL\nSQL\ntcl\n[tk]tcl\nTeX\n[AlLaTeX]TeX\n[common]TeX\n[LaTeX]TeX\n"
|
|
|
|
"[plain]TeX\n[primitive]TeX\nVBScript\nVerilog\nVHDL\n[AMS]VHDL\nVRML\n"
|
|
|
|
"[97]VRML\nXML\nXSLT";
|
|
|
|
|
|
|
|
|
2007-05-27 22:46:09 +00:00
|
|
|
/// ListingsParam Validator.
|
2007-05-28 22:27:45 +00:00
|
|
|
/// This class is aimed to be a singleton which is instantiated in
|
2007-05-27 22:46:09 +00:00
|
|
|
/// \c InsetListingsParams::addParam().
|
|
|
|
// FIXME: transfer this validator to the frontend.
|
|
|
|
// FIXME: avoid the use of exception.
|
2007-05-27 11:55:46 +00:00
|
|
|
class ParValidator
|
|
|
|
{
|
|
|
|
public:
|
|
|
|
ParValidator();
|
|
|
|
|
2007-06-12 17:10:28 +00:00
|
|
|
/// validate a parameter for a given name.
|
|
|
|
/// return an error message if \c par is an invalid parameter.
|
|
|
|
docstring validate(string const & name, string const & par) const;
|
2007-05-27 11:55:46 +00:00
|
|
|
|
2007-06-12 17:10:28 +00:00
|
|
|
/// return the onoff status of a parameter \c key, if \c key is not found
|
|
|
|
/// return false
|
|
|
|
bool onoff(string const & key) const;
|
2007-05-27 11:55:46 +00:00
|
|
|
|
|
|
|
private:
|
|
|
|
/// key is the name of the parameter
|
|
|
|
typedef map<string, ListingsParam> ListingsParams;
|
|
|
|
ListingsParams all_params_;
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
ParValidator::ParValidator()
|
|
|
|
{
|
|
|
|
docstring const empty_hint;
|
|
|
|
docstring const style_hint = _("Use \\footnotesize, \\small, \\itshape, "
|
|
|
|
"\\ttfamily or something like that");
|
|
|
|
docstring const frame_hint = _("none, leftline, topline, bottomline, lines, "
|
|
|
|
"single, shadowbox or subset of trblTRBL");
|
|
|
|
docstring const frameround_hint = _("Enter four letters (either t = round "
|
|
|
|
"or f = square) for top right, bottom "
|
|
|
|
"right, bottom left and top left corner.");
|
|
|
|
docstring const color_hint = _("Enter something like \\color{white}");
|
|
|
|
|
|
|
|
/// options copied from page 26 of listings manual
|
|
|
|
// FIXME: add default parameters ... (which is not used now)
|
2007-05-28 22:27:45 +00:00
|
|
|
all_params_["float"] =
|
2007-05-27 11:55:46 +00:00
|
|
|
ListingsParam("false", true, SUBSETOF, "*tbph", empty_hint);
|
2007-05-28 22:27:45 +00:00
|
|
|
all_params_["floatplacement"] =
|
2007-05-27 11:55:46 +00:00
|
|
|
ListingsParam("tbp", false, SUBSETOF, "tbp", empty_hint);
|
2007-05-28 22:27:45 +00:00
|
|
|
all_params_["aboveskip"] =
|
2007-05-27 11:55:46 +00:00
|
|
|
ListingsParam("\\medskipamount", false, LENGTH, "", empty_hint);
|
2007-05-28 22:27:45 +00:00
|
|
|
all_params_["belowskip"] =
|
2007-05-27 11:55:46 +00:00
|
|
|
ListingsParam("\\medskipamount", false, LENGTH, "", empty_hint);
|
2007-05-28 22:27:45 +00:00
|
|
|
all_params_["lineskip"] =
|
2007-05-27 11:55:46 +00:00
|
|
|
ListingsParam("", false, LENGTH, "", empty_hint);
|
2007-05-28 22:27:45 +00:00
|
|
|
all_params_["boxpos"] =
|
2007-05-27 11:55:46 +00:00
|
|
|
ListingsParam("", false, SUBSETOF, "bct", empty_hint);
|
2007-05-28 22:27:45 +00:00
|
|
|
all_params_["print"] =
|
2007-05-27 11:55:46 +00:00
|
|
|
ListingsParam("", false, TRUEFALSE, "", empty_hint);
|
2007-05-28 22:27:45 +00:00
|
|
|
all_params_["firstline"] =
|
2007-05-27 11:55:46 +00:00
|
|
|
ListingsParam("", false, INTEGER, "", empty_hint);
|
2007-05-28 22:27:45 +00:00
|
|
|
all_params_["lastline"] =
|
2007-05-27 11:55:46 +00:00
|
|
|
ListingsParam("", false, INTEGER, "", empty_hint);
|
2007-06-06 02:03:16 +00:00
|
|
|
all_params_["linerange"] =
|
|
|
|
ListingsParam("", false, ALL, "", empty_hint);
|
2007-05-27 11:55:46 +00:00
|
|
|
all_params_["showlines"] =
|
|
|
|
ListingsParam("", false, TRUEFALSE, "", empty_hint);
|
2007-05-28 22:27:45 +00:00
|
|
|
all_params_["emptylines"] =
|
2007-05-27 11:55:46 +00:00
|
|
|
ListingsParam("", false, ALL, "", _(
|
|
|
|
"Expect a number with an optional * before it"));
|
2007-05-28 22:27:45 +00:00
|
|
|
all_params_["gobble"] =
|
2007-05-27 11:55:46 +00:00
|
|
|
ListingsParam("", false, INTEGER, "", empty_hint);
|
2007-05-28 22:27:45 +00:00
|
|
|
all_params_["style"] =
|
2007-05-27 11:55:46 +00:00
|
|
|
ListingsParam("", false, ALL, "", empty_hint);
|
2007-05-28 22:27:45 +00:00
|
|
|
all_params_["language"] =
|
2007-05-27 11:55:46 +00:00
|
|
|
ListingsParam("", false, ONEOF, allowed_languages, empty_hint);
|
2007-05-28 22:27:45 +00:00
|
|
|
all_params_["alsolanguage"] =
|
2007-05-27 11:55:46 +00:00
|
|
|
ListingsParam("", false, ONEOF, allowed_languages, empty_hint);
|
2007-05-28 22:27:45 +00:00
|
|
|
all_params_["defaultdialect"] =
|
2007-05-27 11:55:46 +00:00
|
|
|
ListingsParam("", false, ONEOF, allowed_languages, empty_hint);
|
2007-05-28 22:27:45 +00:00
|
|
|
all_params_["printpod"] =
|
2007-05-27 11:55:46 +00:00
|
|
|
ListingsParam("", false, TRUEFALSE, "", empty_hint);
|
2007-05-28 22:27:45 +00:00
|
|
|
all_params_["usekeywordsintag"] =
|
2007-05-27 11:55:46 +00:00
|
|
|
ListingsParam("", false, TRUEFALSE, "", empty_hint);
|
2007-05-28 22:27:45 +00:00
|
|
|
all_params_["tagstyle"] =
|
2007-05-27 11:55:46 +00:00
|
|
|
ListingsParam("", false, ALL, "", style_hint);
|
2007-05-28 22:27:45 +00:00
|
|
|
all_params_["markfirstintag"] =
|
2007-05-27 11:55:46 +00:00
|
|
|
ListingsParam("", false, ALL, "", style_hint);
|
2007-05-28 22:27:45 +00:00
|
|
|
all_params_["makemacrouse"] =
|
2007-05-27 11:55:46 +00:00
|
|
|
ListingsParam("", false, TRUEFALSE, "", empty_hint);
|
2007-05-28 22:27:45 +00:00
|
|
|
all_params_["basicstyle"] =
|
2007-05-27 11:55:46 +00:00
|
|
|
ListingsParam("", false, ALL, "", style_hint);
|
2007-05-28 22:27:45 +00:00
|
|
|
all_params_["identifierstyle"] =
|
2007-05-27 11:55:46 +00:00
|
|
|
ListingsParam("", false, ALL, "", style_hint);
|
2007-05-28 22:27:45 +00:00
|
|
|
all_params_["commentstyle"] =
|
2007-05-27 11:55:46 +00:00
|
|
|
ListingsParam("", false, ALL, "", style_hint);
|
2007-05-28 22:27:45 +00:00
|
|
|
all_params_["stringstyle"] =
|
2007-05-27 11:55:46 +00:00
|
|
|
ListingsParam("", false, ALL, "", style_hint);
|
2007-05-28 22:27:45 +00:00
|
|
|
all_params_["keywordstyle"] =
|
2007-05-27 11:55:46 +00:00
|
|
|
ListingsParam("", false, ALL, "", style_hint);
|
2007-05-28 22:27:45 +00:00
|
|
|
all_params_["ndkeywordstyle"] =
|
2007-05-27 11:55:46 +00:00
|
|
|
ListingsParam("", false, ALL, "", style_hint);
|
2007-05-28 22:27:45 +00:00
|
|
|
all_params_["classoffset"] =
|
2007-05-27 11:55:46 +00:00
|
|
|
ListingsParam("", false, INTEGER, "", empty_hint);
|
2007-05-28 22:27:45 +00:00
|
|
|
all_params_["texcsstyle"] =
|
2007-05-27 11:55:46 +00:00
|
|
|
ListingsParam("", false, ALL, "", style_hint);
|
2007-05-28 22:27:45 +00:00
|
|
|
all_params_["directivestyle"] =
|
2007-05-27 11:55:46 +00:00
|
|
|
ListingsParam("", false, ALL, "", style_hint);
|
2007-05-28 22:27:45 +00:00
|
|
|
all_params_["emph"] =
|
2007-05-27 11:55:46 +00:00
|
|
|
ListingsParam("", false, ALL, "", empty_hint);
|
2007-05-28 22:27:45 +00:00
|
|
|
all_params_["moreemph"] =
|
2007-05-27 11:55:46 +00:00
|
|
|
ListingsParam("", false, ALL, "", empty_hint);
|
2007-05-28 22:27:45 +00:00
|
|
|
all_params_["deleteemph"] =
|
2007-05-27 11:55:46 +00:00
|
|
|
ListingsParam("", false, ALL, "", empty_hint);
|
2007-05-28 22:27:45 +00:00
|
|
|
all_params_["emphstyle"] =
|
2007-05-27 11:55:46 +00:00
|
|
|
ListingsParam("", false, ALL, "", empty_hint);
|
2007-05-28 22:27:45 +00:00
|
|
|
all_params_["delim"] =
|
2007-05-27 11:55:46 +00:00
|
|
|
ListingsParam("", false, ALL, "", empty_hint);
|
2007-05-28 22:27:45 +00:00
|
|
|
all_params_["moredelim"] =
|
2007-05-27 11:55:46 +00:00
|
|
|
ListingsParam("", false, ALL, "", empty_hint);
|
2007-05-28 22:27:45 +00:00
|
|
|
all_params_["deletedelim"] =
|
2007-05-27 11:55:46 +00:00
|
|
|
ListingsParam("", false, ALL, "", empty_hint);
|
2007-05-28 22:27:45 +00:00
|
|
|
all_params_["extendedchars"] =
|
2007-05-27 11:55:46 +00:00
|
|
|
ListingsParam("", false, TRUEFALSE, "", empty_hint);
|
2007-05-28 22:27:45 +00:00
|
|
|
all_params_["inputencoding"] =
|
2007-05-27 11:55:46 +00:00
|
|
|
ListingsParam("", false, ALL, "", empty_hint);
|
2007-05-28 22:27:45 +00:00
|
|
|
all_params_["upquote"] =
|
2007-05-27 11:55:46 +00:00
|
|
|
ListingsParam("", false, TRUEFALSE, "", empty_hint);
|
2007-05-28 22:27:45 +00:00
|
|
|
all_params_["tabsize"] =
|
2007-05-27 11:55:46 +00:00
|
|
|
ListingsParam("", false, INTEGER, "", empty_hint);
|
2007-05-28 22:27:45 +00:00
|
|
|
all_params_["showtabs"] =
|
2007-05-27 11:55:46 +00:00
|
|
|
ListingsParam("", false, ALL, "", empty_hint);
|
2007-05-28 22:27:45 +00:00
|
|
|
all_params_["tab"] =
|
2007-05-27 11:55:46 +00:00
|
|
|
ListingsParam("", false, ALL, "", empty_hint);
|
2007-05-28 22:27:45 +00:00
|
|
|
all_params_["showspaces"] =
|
2007-05-27 11:55:46 +00:00
|
|
|
ListingsParam("", false, TRUEFALSE, "", empty_hint);
|
2007-05-28 22:27:45 +00:00
|
|
|
all_params_["showstringspaces"] =
|
2007-05-27 11:55:46 +00:00
|
|
|
ListingsParam("", false, TRUEFALSE, "", empty_hint);
|
2007-05-28 22:27:45 +00:00
|
|
|
all_params_["formfeed"] =
|
2007-05-27 11:55:46 +00:00
|
|
|
ListingsParam("", false, ALL, "", empty_hint);
|
2007-05-28 22:27:45 +00:00
|
|
|
all_params_["numbers"] =
|
2007-05-27 11:55:46 +00:00
|
|
|
ListingsParam("", false, ONEOF, "none\nleft\nright", empty_hint);
|
2007-05-28 22:27:45 +00:00
|
|
|
all_params_["stepnumber"] =
|
2007-05-27 11:55:46 +00:00
|
|
|
ListingsParam("", false, INTEGER, "", empty_hint);
|
2007-05-28 22:27:45 +00:00
|
|
|
all_params_["numberfirstline"] =
|
2007-05-27 11:55:46 +00:00
|
|
|
ListingsParam("", false, TRUEFALSE, "", empty_hint);
|
2007-05-28 22:27:45 +00:00
|
|
|
all_params_["numberstyle"] =
|
2007-05-27 11:55:46 +00:00
|
|
|
ListingsParam("", false, ALL, "", style_hint);
|
2007-05-28 22:27:45 +00:00
|
|
|
all_params_["numbersep"] =
|
2007-05-27 11:55:46 +00:00
|
|
|
ListingsParam("", false, LENGTH, "", empty_hint);
|
2007-05-28 22:27:45 +00:00
|
|
|
all_params_["numberblanklines"] =
|
2007-05-27 11:55:46 +00:00
|
|
|
ListingsParam("", false, ALL, "", empty_hint);
|
2007-05-28 22:27:45 +00:00
|
|
|
all_params_["firstnumber"] =
|
2007-05-27 11:55:46 +00:00
|
|
|
ListingsParam("", false, ALL, "", _("auto, last or a number"));
|
2007-05-28 22:27:45 +00:00
|
|
|
all_params_["name"] =
|
2007-05-27 11:55:46 +00:00
|
|
|
ListingsParam("", false, ALL, "", empty_hint);
|
2007-05-28 22:27:45 +00:00
|
|
|
all_params_["thelstnumber"] =
|
2007-05-27 11:55:46 +00:00
|
|
|
ListingsParam("", false, ALL, "", empty_hint);
|
2007-05-28 22:27:45 +00:00
|
|
|
all_params_["title"] =
|
2007-05-27 11:55:46 +00:00
|
|
|
ListingsParam("", false, ALL, "", empty_hint);
|
|
|
|
// this option is not handled in the parameter box
|
2007-05-28 22:27:45 +00:00
|
|
|
all_params_["caption"] =
|
2007-05-27 11:55:46 +00:00
|
|
|
ListingsParam("", false, ALL, "", _(
|
2007-05-31 11:51:23 +00:00
|
|
|
"This parameter should not be entered here. Please use the caption "
|
2007-06-03 06:30:08 +00:00
|
|
|
"edit box (when using the child document dialog) or "
|
2007-05-31 11:51:23 +00:00
|
|
|
"menu Insert->Caption (when defining a listing inset)"));
|
2007-05-27 11:55:46 +00:00
|
|
|
// this option is not handled in the parameter box
|
2007-05-28 22:27:45 +00:00
|
|
|
all_params_["label"] =
|
2007-05-27 11:55:46 +00:00
|
|
|
ListingsParam("", false, ALL, "",_(
|
2007-05-31 11:51:23 +00:00
|
|
|
"This parameter should not be entered here. Please use the label "
|
2007-06-03 06:30:08 +00:00
|
|
|
"edit box (when using the child document dialog) or "
|
2007-05-31 11:51:23 +00:00
|
|
|
"menu Insert->Label (when defining a listing inset)"));
|
2007-05-28 22:27:45 +00:00
|
|
|
all_params_["nolol"] =
|
2007-05-27 11:55:46 +00:00
|
|
|
ListingsParam("", false, TRUEFALSE, "", empty_hint);
|
2007-05-28 22:27:45 +00:00
|
|
|
all_params_["captionpos"] =
|
2007-05-27 11:55:46 +00:00
|
|
|
ListingsParam("", false, SUBSETOF, "tb", empty_hint);
|
2007-05-28 22:27:45 +00:00
|
|
|
all_params_["abovecaptionskip"] =
|
2007-05-27 11:55:46 +00:00
|
|
|
ListingsParam("", false, LENGTH, "", empty_hint);
|
2007-05-28 22:27:45 +00:00
|
|
|
all_params_["belowcaptionskip"] =
|
2007-05-27 11:55:46 +00:00
|
|
|
ListingsParam("", false, LENGTH, "", empty_hint);
|
2007-05-28 22:27:45 +00:00
|
|
|
all_params_["linewidth"] =
|
2007-05-27 11:55:46 +00:00
|
|
|
ListingsParam("", false, LENGTH, "", empty_hint);
|
2007-05-28 22:27:45 +00:00
|
|
|
all_params_["xleftmargin"] =
|
2007-05-27 11:55:46 +00:00
|
|
|
ListingsParam("", false, LENGTH, "", empty_hint);
|
2007-05-28 22:27:45 +00:00
|
|
|
all_params_["xrightmargin"] =
|
2007-05-27 11:55:46 +00:00
|
|
|
ListingsParam("", false, LENGTH, "", empty_hint);
|
2007-05-28 22:27:45 +00:00
|
|
|
all_params_["resetmargins"] =
|
2007-05-27 11:55:46 +00:00
|
|
|
ListingsParam("", false, TRUEFALSE, "", empty_hint);
|
2007-05-28 22:27:45 +00:00
|
|
|
all_params_["breaklines"] =
|
2007-05-27 11:55:46 +00:00
|
|
|
ListingsParam("", false, TRUEFALSE, "", empty_hint);
|
2007-05-28 22:27:45 +00:00
|
|
|
all_params_["prebreak"] =
|
2007-05-27 11:55:46 +00:00
|
|
|
ListingsParam("", false, ALL, "", empty_hint);
|
2007-05-28 22:27:45 +00:00
|
|
|
all_params_["postbreak"] =
|
2007-05-27 11:55:46 +00:00
|
|
|
ListingsParam("", false, ALL, "", empty_hint);
|
2007-05-28 22:27:45 +00:00
|
|
|
all_params_["breakindent"] =
|
2007-05-27 11:55:46 +00:00
|
|
|
ListingsParam("", false, LENGTH, "", empty_hint);
|
2007-05-28 22:27:45 +00:00
|
|
|
all_params_["breakautoindent"] =
|
2007-05-27 11:55:46 +00:00
|
|
|
ListingsParam("", false, TRUEFALSE, "", empty_hint);
|
2007-05-28 22:27:45 +00:00
|
|
|
all_params_["frame"] =
|
2007-05-27 11:55:46 +00:00
|
|
|
ListingsParam("", false, ALL, "", frame_hint);
|
2007-05-28 22:27:45 +00:00
|
|
|
all_params_["frameround"] =
|
2007-05-27 11:55:46 +00:00
|
|
|
ListingsParam("", false, SUBSETOF, "tf", frameround_hint);
|
2007-05-28 22:27:45 +00:00
|
|
|
all_params_["framesep"] =
|
2007-05-27 11:55:46 +00:00
|
|
|
ListingsParam("", false, LENGTH, "", empty_hint);
|
2007-05-28 22:27:45 +00:00
|
|
|
all_params_["rulesep"] =
|
2007-05-27 11:55:46 +00:00
|
|
|
ListingsParam("", false, LENGTH, "", empty_hint);
|
2007-05-28 22:27:45 +00:00
|
|
|
all_params_["framerule"] =
|
2007-05-27 11:55:46 +00:00
|
|
|
ListingsParam("", false, LENGTH, "", empty_hint);
|
2007-05-28 22:27:45 +00:00
|
|
|
all_params_["framexleftmargin"] =
|
2007-05-27 11:55:46 +00:00
|
|
|
ListingsParam("", false, LENGTH, "", empty_hint);
|
2007-05-28 22:27:45 +00:00
|
|
|
all_params_["framexrightmargin"] =
|
2007-05-27 11:55:46 +00:00
|
|
|
ListingsParam("", false, LENGTH, "", empty_hint);
|
2007-05-28 22:27:45 +00:00
|
|
|
all_params_["framextopmargin"] =
|
2007-05-27 11:55:46 +00:00
|
|
|
ListingsParam("", false, LENGTH, "", empty_hint);
|
2007-05-28 22:27:45 +00:00
|
|
|
all_params_["framexbottommargin"] =
|
2007-05-27 11:55:46 +00:00
|
|
|
ListingsParam("", false, LENGTH, "", empty_hint);
|
2007-05-28 22:27:45 +00:00
|
|
|
all_params_["backgroundcolor"] =
|
2007-05-27 11:55:46 +00:00
|
|
|
ListingsParam("", false, ALL, "", color_hint );
|
2007-05-28 22:27:45 +00:00
|
|
|
all_params_["rulecolor"] =
|
2007-05-27 11:55:46 +00:00
|
|
|
ListingsParam("", false, ALL, "", color_hint );
|
2007-05-28 22:27:45 +00:00
|
|
|
all_params_["fillcolor"] =
|
2007-05-27 11:55:46 +00:00
|
|
|
ListingsParam("", false, ALL, "", color_hint );
|
2007-05-28 22:27:45 +00:00
|
|
|
all_params_["rulesepcolor"] =
|
2007-05-27 11:55:46 +00:00
|
|
|
ListingsParam("", false, ALL, "", color_hint );
|
2007-05-28 22:27:45 +00:00
|
|
|
all_params_["frameshape"] =
|
2007-05-27 11:55:46 +00:00
|
|
|
ListingsParam("", false, ALL, "", empty_hint);
|
2007-05-28 22:27:45 +00:00
|
|
|
all_params_["index"] =
|
2007-05-27 11:55:46 +00:00
|
|
|
ListingsParam("", false, ALL, "", empty_hint);
|
2007-05-28 22:27:45 +00:00
|
|
|
all_params_["moreindex"] =
|
2007-05-27 11:55:46 +00:00
|
|
|
ListingsParam("", false, ALL, "", empty_hint);
|
2007-05-28 22:27:45 +00:00
|
|
|
all_params_["deleteindex"] =
|
2007-05-27 11:55:46 +00:00
|
|
|
ListingsParam("", false, ALL, "", empty_hint);
|
2007-05-28 22:27:45 +00:00
|
|
|
all_params_["indexstyle"] =
|
2007-05-27 11:55:46 +00:00
|
|
|
ListingsParam("", false, ALL, "", empty_hint);
|
2007-05-28 22:27:45 +00:00
|
|
|
all_params_["columns"] =
|
2007-05-27 11:55:46 +00:00
|
|
|
ListingsParam("", false, ALL, "", empty_hint);
|
2007-05-28 22:27:45 +00:00
|
|
|
all_params_["flexiblecolumns"] =
|
2007-05-27 11:55:46 +00:00
|
|
|
ListingsParam("", false, ALL, "", empty_hint);
|
2007-05-28 22:27:45 +00:00
|
|
|
all_params_["keepspaces"] =
|
2007-05-27 11:55:46 +00:00
|
|
|
ListingsParam("", false, TRUEFALSE, "", empty_hint);
|
2007-05-28 22:27:45 +00:00
|
|
|
all_params_["basewidth"] =
|
2007-05-27 11:55:46 +00:00
|
|
|
ListingsParam("", false, LENGTH, "", empty_hint);
|
2007-05-28 22:27:45 +00:00
|
|
|
all_params_["fontadjust"] =
|
2007-05-27 11:55:46 +00:00
|
|
|
ListingsParam("", true, TRUEFALSE, "", empty_hint);
|
2007-05-28 22:27:45 +00:00
|
|
|
all_params_["texcl"] =
|
2007-05-27 11:55:46 +00:00
|
|
|
ListingsParam("", false, TRUEFALSE, "", empty_hint);
|
2007-05-28 22:27:45 +00:00
|
|
|
all_params_["mathescape"] =
|
2007-05-27 11:55:46 +00:00
|
|
|
ListingsParam("", false, TRUEFALSE, "", empty_hint);
|
2007-05-28 22:27:45 +00:00
|
|
|
all_params_["escapechar"] =
|
2007-05-27 11:55:46 +00:00
|
|
|
ListingsParam("", false, ALL, "", empty_hint);
|
2007-05-28 22:27:45 +00:00
|
|
|
all_params_["escapeinside"] =
|
2007-05-27 11:55:46 +00:00
|
|
|
ListingsParam("", false, ALL, "", empty_hint);
|
2007-05-28 22:27:45 +00:00
|
|
|
all_params_["escepeinside"] =
|
2007-05-27 11:55:46 +00:00
|
|
|
ListingsParam("", false, ALL, "", empty_hint);
|
2007-05-28 22:27:45 +00:00
|
|
|
all_params_["escepebegin"] =
|
2007-05-27 11:55:46 +00:00
|
|
|
ListingsParam("", false, ALL, "", empty_hint);
|
2007-05-28 22:27:45 +00:00
|
|
|
all_params_["escepeend"] =
|
2007-05-27 11:55:46 +00:00
|
|
|
ListingsParam("", false, ALL, "", empty_hint);
|
2007-05-28 22:27:45 +00:00
|
|
|
all_params_["fancyvrb"] =
|
2007-05-27 11:55:46 +00:00
|
|
|
ListingsParam("", false, TRUEFALSE, "", empty_hint);
|
2007-05-28 22:27:45 +00:00
|
|
|
all_params_["fvcmdparams"] =
|
2007-05-27 11:55:46 +00:00
|
|
|
ListingsParam("", false, ALL, "", empty_hint);
|
2007-05-28 22:27:45 +00:00
|
|
|
all_params_["morefvcmdparams"] =
|
2007-05-27 11:55:46 +00:00
|
|
|
ListingsParam("", false, ALL, "", empty_hint);
|
2007-05-28 22:27:45 +00:00
|
|
|
all_params_["keywordsprefix"] =
|
2007-05-27 11:55:46 +00:00
|
|
|
ListingsParam("", false, ALL, "", empty_hint);
|
2007-05-28 22:27:45 +00:00
|
|
|
all_params_["keywords"] =
|
2007-05-27 11:55:46 +00:00
|
|
|
ListingsParam("", false, ALL, "", empty_hint);
|
2007-05-28 22:27:45 +00:00
|
|
|
all_params_["morekeywords"] =
|
2007-05-27 11:55:46 +00:00
|
|
|
ListingsParam("", false, ALL, "", empty_hint);
|
2007-05-28 22:27:45 +00:00
|
|
|
all_params_["deletekeywords"] =
|
2007-05-27 11:55:46 +00:00
|
|
|
ListingsParam("", false, ALL, "", empty_hint);
|
2007-05-28 22:27:45 +00:00
|
|
|
all_params_["ndkeywords"] =
|
2007-05-27 11:55:46 +00:00
|
|
|
ListingsParam("", false, ALL, "", empty_hint);
|
2007-05-28 22:27:45 +00:00
|
|
|
all_params_["morendkeywords"] =
|
2007-05-27 11:55:46 +00:00
|
|
|
ListingsParam("", false, ALL, "", empty_hint);
|
2007-05-28 22:27:45 +00:00
|
|
|
all_params_["deletendkeywords"] =
|
2007-05-27 11:55:46 +00:00
|
|
|
ListingsParam("", false, ALL, "", empty_hint);
|
2007-05-28 22:27:45 +00:00
|
|
|
all_params_["texcs"] =
|
2007-05-27 11:55:46 +00:00
|
|
|
ListingsParam("", false, ALL, "", empty_hint);
|
2007-05-28 22:27:45 +00:00
|
|
|
all_params_["moretexcs"] =
|
2007-05-27 11:55:46 +00:00
|
|
|
ListingsParam("", false, ALL, "", empty_hint);
|
2007-05-28 22:27:45 +00:00
|
|
|
all_params_["deletetexcs"] =
|
2007-05-27 11:55:46 +00:00
|
|
|
ListingsParam("", false, ALL, "", empty_hint);
|
2007-05-28 22:27:45 +00:00
|
|
|
all_params_["directives"] =
|
2007-05-27 11:55:46 +00:00
|
|
|
ListingsParam("", false, ALL, "", empty_hint);
|
2007-05-28 22:27:45 +00:00
|
|
|
all_params_["moredirectives"] =
|
2007-05-27 11:55:46 +00:00
|
|
|
ListingsParam("", false, ALL, "", empty_hint);
|
2007-05-28 22:27:45 +00:00
|
|
|
all_params_["deletedirectives"] =
|
2007-05-27 11:55:46 +00:00
|
|
|
ListingsParam("", false, ALL, "", empty_hint);
|
2007-05-28 22:27:45 +00:00
|
|
|
all_params_["sensitive"] =
|
2007-05-27 11:55:46 +00:00
|
|
|
ListingsParam("", false, ALL, "", empty_hint);
|
2007-05-28 22:27:45 +00:00
|
|
|
all_params_["alsoletter"] =
|
2007-05-27 11:55:46 +00:00
|
|
|
ListingsParam("", false, ALL, "", empty_hint);
|
2007-05-28 22:27:45 +00:00
|
|
|
all_params_["alsodigit"] =
|
2007-05-27 11:55:46 +00:00
|
|
|
ListingsParam("", false, ALL, "", empty_hint);
|
2007-05-28 22:27:45 +00:00
|
|
|
all_params_["alsoother"] =
|
2007-05-27 11:55:46 +00:00
|
|
|
ListingsParam("", false, ALL, "", empty_hint);
|
2007-05-28 22:27:45 +00:00
|
|
|
all_params_["otherkeywords"] =
|
2007-05-27 11:55:46 +00:00
|
|
|
ListingsParam("", false, ALL, "", empty_hint);
|
2007-05-28 22:27:45 +00:00
|
|
|
all_params_["tag"] =
|
2007-05-27 11:55:46 +00:00
|
|
|
ListingsParam("", false, ALL, "", empty_hint);
|
2007-05-28 22:27:45 +00:00
|
|
|
all_params_["string"] =
|
2007-05-27 11:55:46 +00:00
|
|
|
ListingsParam("", false, ALL, "", empty_hint);
|
2007-05-28 22:27:45 +00:00
|
|
|
all_params_["morestring"] =
|
2007-05-27 11:55:46 +00:00
|
|
|
ListingsParam("", false, ALL, "", empty_hint);
|
2007-05-28 22:27:45 +00:00
|
|
|
all_params_["deletestring"] =
|
2007-05-27 11:55:46 +00:00
|
|
|
ListingsParam("", false, ALL, "", empty_hint);
|
2007-05-28 22:27:45 +00:00
|
|
|
all_params_["comment"] =
|
2007-05-27 11:55:46 +00:00
|
|
|
ListingsParam("", false, ALL, "", empty_hint);
|
2007-05-28 22:27:45 +00:00
|
|
|
all_params_["morecomment"] =
|
2007-05-27 11:55:46 +00:00
|
|
|
ListingsParam("", false, ALL, "", empty_hint);
|
2007-05-28 22:27:45 +00:00
|
|
|
all_params_["deletecomment"] =
|
2007-05-27 11:55:46 +00:00
|
|
|
ListingsParam("", false, ALL, "", empty_hint);
|
2007-05-28 22:27:45 +00:00
|
|
|
all_params_["keywordcomment"] =
|
2007-05-27 11:55:46 +00:00
|
|
|
ListingsParam("", false, ALL, "", empty_hint);
|
2007-05-28 22:27:45 +00:00
|
|
|
all_params_["morekeywordcomment"] =
|
2007-05-27 11:55:46 +00:00
|
|
|
ListingsParam("", false, ALL, "", empty_hint);
|
2007-05-28 22:27:45 +00:00
|
|
|
all_params_["deletekeywordcomment"] =
|
2007-05-27 11:55:46 +00:00
|
|
|
ListingsParam("", false, ALL, "", empty_hint);
|
2007-05-28 22:27:45 +00:00
|
|
|
all_params_["keywordcommentsemicolon"] =
|
2007-05-27 11:55:46 +00:00
|
|
|
ListingsParam("", false, ALL, "", empty_hint);
|
2007-05-28 22:27:45 +00:00
|
|
|
all_params_["podcomment"] =
|
2007-05-27 11:55:46 +00:00
|
|
|
ListingsParam("", false, ALL, "", empty_hint);
|
2007-07-10 18:57:32 +00:00
|
|
|
// the following are experimental listings features
|
|
|
|
all_params_["procnamekeys"] =
|
|
|
|
ListingsParam("", false, ALL, "", empty_hint);
|
|
|
|
all_params_["moreprocnamekeys"] =
|
|
|
|
ListingsParam("", false, ALL, "", empty_hint);
|
|
|
|
all_params_["deleteprocnamekeys"] =
|
|
|
|
ListingsParam("", false, ALL, "", empty_hint);
|
|
|
|
all_params_["procnamestyle"] =
|
|
|
|
ListingsParam("", false, ALL, "", style_hint);
|
|
|
|
all_params_["indexprocnames"] =
|
|
|
|
ListingsParam("", false, TRUEFALSE, "", empty_hint);
|
|
|
|
all_params_["hyperref"] =
|
|
|
|
ListingsParam("", false, ALL, "", empty_hint);
|
|
|
|
all_params_["morehyperref"] =
|
|
|
|
ListingsParam("", false, ALL, "", empty_hint);
|
|
|
|
all_params_["deletehyperref"] =
|
|
|
|
ListingsParam("", false, ALL, "", empty_hint);
|
|
|
|
all_params_["hyperanchor"] =
|
|
|
|
ListingsParam("", false, ALL, "", empty_hint);
|
|
|
|
all_params_["hyperlink"] =
|
|
|
|
ListingsParam("", false, ALL, "", empty_hint);
|
|
|
|
all_params_["literate"] =
|
|
|
|
ListingsParam("", false, ALL, "", empty_hint);
|
|
|
|
all_params_["lgrindef"] =
|
|
|
|
ListingsParam("", false, ALL, "", empty_hint);
|
|
|
|
all_params_["rangebeginprefix"] =
|
|
|
|
ListingsParam("", false, ALL, "", empty_hint);
|
|
|
|
all_params_["rangebeginsuffix"] =
|
|
|
|
ListingsParam("", false, ALL, "", empty_hint);
|
|
|
|
all_params_["rangeendprefix"] =
|
|
|
|
ListingsParam("", false, ALL, "", empty_hint);
|
|
|
|
all_params_["rangeendsuffix"] =
|
|
|
|
ListingsParam("", false, ALL, "", empty_hint);
|
|
|
|
all_params_["rangeprefix"] =
|
|
|
|
ListingsParam("", false, ALL, "", empty_hint);
|
|
|
|
all_params_["rangesuffix"] =
|
|
|
|
ListingsParam("", false, ALL, "", empty_hint);
|
|
|
|
all_params_["includerangemarker"] =
|
|
|
|
ListingsParam("", false, TRUEFALSE, "", empty_hint);
|
|
|
|
all_params_["multicols"] =
|
|
|
|
ListingsParam("", false, INTEGER, "", empty_hint);
|
2007-05-27 11:55:46 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
|
2007-06-12 17:10:28 +00:00
|
|
|
docstring ParValidator::validate(string const & name,
|
2007-05-27 11:55:46 +00:00
|
|
|
string const & par) const
|
|
|
|
{
|
|
|
|
if (name.empty())
|
2007-06-12 17:10:28 +00:00
|
|
|
return _("Invalid (empty) listing parameter name.");
|
2007-05-27 11:55:46 +00:00
|
|
|
|
2007-06-05 22:08:43 +00:00
|
|
|
if (name[0] == '?') {
|
|
|
|
string suffix = trim(string(name, 1));
|
|
|
|
string param_names;
|
|
|
|
ListingsParams::const_iterator it = all_params_.begin();
|
|
|
|
ListingsParams::const_iterator end = all_params_.end();
|
|
|
|
for (; it != end; ++it) {
|
|
|
|
if (suffix.empty() || contains(it->first, suffix)) {
|
|
|
|
if (!param_names.empty())
|
|
|
|
param_names += ", ";
|
|
|
|
param_names += it->first;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
if (suffix.empty())
|
2007-06-12 17:10:28 +00:00
|
|
|
return bformat(
|
|
|
|
_("Available listing parameters are %1$s"), from_ascii(param_names));
|
2007-06-05 22:08:43 +00:00
|
|
|
else
|
2007-06-12 17:10:28 +00:00
|
|
|
return bformat(
|
2007-06-05 22:08:43 +00:00
|
|
|
_("Available listings parameters containing string \"%1$s\" are %2$s"),
|
2007-06-12 17:10:28 +00:00
|
|
|
from_utf8(suffix), from_utf8(param_names));
|
2007-06-05 22:08:43 +00:00
|
|
|
}
|
|
|
|
|
2007-05-27 11:55:46 +00:00
|
|
|
// locate name in parameter table
|
|
|
|
ListingsParams::const_iterator it = all_params_.find(name);
|
2007-06-12 17:10:28 +00:00
|
|
|
if (it != all_params_.end()) {
|
|
|
|
docstring msg = it->second.validate(par);
|
|
|
|
if (msg.empty())
|
|
|
|
return msg;
|
|
|
|
else
|
|
|
|
return bformat(_("Parameter %1$s: "), from_utf8(name)) + msg;
|
|
|
|
} else {
|
|
|
|
// otherwise, produce a meaningful error message.
|
|
|
|
string matching_names;
|
|
|
|
ListingsParams::const_iterator end = all_params_.end();
|
|
|
|
for (it = all_params_.begin(); it != end; ++it) {
|
|
|
|
if (prefixIs(it->first, name)) {
|
|
|
|
if (!matching_names.empty())
|
|
|
|
matching_names += ", ";
|
|
|
|
matching_names += it->first;
|
|
|
|
}
|
2007-05-27 11:55:46 +00:00
|
|
|
}
|
2007-06-12 17:10:28 +00:00
|
|
|
if (matching_names.empty())
|
|
|
|
return bformat(_("Unknown listing parameter name: %1$s"),
|
|
|
|
from_utf8(name));
|
|
|
|
else
|
|
|
|
return bformat(_("Parameters starting with '%1$s': %2$s"),
|
|
|
|
from_utf8(name), from_utf8(matching_names));
|
Add support for listings package. Two listings command \lstinline, \lstinputlisting and an environment \lstlisting are supported, along with preamble \lstset. \lstinputlisting is implemented through Include dialog, and the other two are implemented with a new inset listings, along with its dialog.
* src/LyXAction.cpp: listing-insert action
* src/insets/Inset.h,cpp: LISTINGS_CODE
* src/insets/InsetInclude.cpp: handle \lstinputlisting
* src/insets/InsetListings.h,cpp: new listings inset
* src/insets/InsetListingsParams.h,cpp: parameters from listings package
* src/insets/InsetCommandParams.h,cpp: handle lstinputlisting option
* src/Bidi.cpp: handle LISTINGS_CODE
* src/frontends/qt4/ui/TextLayoutUi.ui: update UI
* src/frontends/qt4/ui/ListingsUi.ui: new dialog
* src/frontends/qt4/ui/IncludeUi.ui: update UI
* src/frontends/qt4/QInclude.h,cpp: add lstinputlisting
* src/frontends/qt4/QDocument.h,cpp: add textedit for preamble listings_params
* src/frontends/qt4/QListings.h,cpp: new listings inset
* src/frontends/qt4/Dialogs.cpp: new listings dialog
* src/frontends/controllers/ControlInclude.h,cpp: add lstinputlisting
* src/frontends/controllers/ControlListings.h,cpp: new listings inset
* src/LyXFunc.cpp: handle LISTING_CODE
* src/Paragraph.cpp: handle LISTING_CODE
* src/factory.cpp: new listings inset
* src/CutAndPaste.cpp: handle LISTINGS_CODE
* src/LaTeXFeatures.cpp: require listings
* src/Text3.cpp: Handle LISTINGS_CODE
* src/lfuns.h: add LFUN_LISTING_INSERT
* src/Buffer.cpp: change lyx file format to 269
* src/BufferParams.h,cpp: add listings_params to preamble
* lib/lyx2lyx/LyX.py: lyx2lyx
* lib/lyx2lyx/lyx_1_5.py: lyx2lyx
* lib/ui/stdmenus.inc: new menu item (no shortcut!)
* src/insets/Makefile.am: update autotools
* src/frontends/controllers/Makefile.am
* src/frontends/qt4/Makefile.dialogs
* src/frontends/qt4/Makefile.am
* po/POTFILES.in: a few more translatable files.
* development/scons/scons_manifest.py: scons build system
* development/FORMAT: document format changes
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@18243 a592a061-630c-0410-9148-cb99ea01b6c8
2007-05-09 19:11:42 +00:00
|
|
|
}
|
2007-06-12 17:10:28 +00:00
|
|
|
return docstring();
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
bool ParValidator::onoff(string const & name) const
|
|
|
|
{
|
|
|
|
// locate name in parameter table
|
|
|
|
ListingsParams::const_iterator it = all_params_.find(name);
|
|
|
|
if (it != all_params_.end())
|
|
|
|
return it->second.onoff_;
|
2007-05-27 11:55:46 +00:00
|
|
|
else
|
2007-06-12 17:10:28 +00:00
|
|
|
return false;
|
Add support for listings package. Two listings command \lstinline, \lstinputlisting and an environment \lstlisting are supported, along with preamble \lstset. \lstinputlisting is implemented through Include dialog, and the other two are implemented with a new inset listings, along with its dialog.
* src/LyXAction.cpp: listing-insert action
* src/insets/Inset.h,cpp: LISTINGS_CODE
* src/insets/InsetInclude.cpp: handle \lstinputlisting
* src/insets/InsetListings.h,cpp: new listings inset
* src/insets/InsetListingsParams.h,cpp: parameters from listings package
* src/insets/InsetCommandParams.h,cpp: handle lstinputlisting option
* src/Bidi.cpp: handle LISTINGS_CODE
* src/frontends/qt4/ui/TextLayoutUi.ui: update UI
* src/frontends/qt4/ui/ListingsUi.ui: new dialog
* src/frontends/qt4/ui/IncludeUi.ui: update UI
* src/frontends/qt4/QInclude.h,cpp: add lstinputlisting
* src/frontends/qt4/QDocument.h,cpp: add textedit for preamble listings_params
* src/frontends/qt4/QListings.h,cpp: new listings inset
* src/frontends/qt4/Dialogs.cpp: new listings dialog
* src/frontends/controllers/ControlInclude.h,cpp: add lstinputlisting
* src/frontends/controllers/ControlListings.h,cpp: new listings inset
* src/LyXFunc.cpp: handle LISTING_CODE
* src/Paragraph.cpp: handle LISTING_CODE
* src/factory.cpp: new listings inset
* src/CutAndPaste.cpp: handle LISTINGS_CODE
* src/LaTeXFeatures.cpp: require listings
* src/Text3.cpp: Handle LISTINGS_CODE
* src/lfuns.h: add LFUN_LISTING_INSERT
* src/Buffer.cpp: change lyx file format to 269
* src/BufferParams.h,cpp: add listings_params to preamble
* lib/lyx2lyx/LyX.py: lyx2lyx
* lib/lyx2lyx/lyx_1_5.py: lyx2lyx
* lib/ui/stdmenus.inc: new menu item (no shortcut!)
* src/insets/Makefile.am: update autotools
* src/frontends/controllers/Makefile.am
* src/frontends/qt4/Makefile.dialogs
* src/frontends/qt4/Makefile.am
* po/POTFILES.in: a few more translatable files.
* development/scons/scons_manifest.py: scons build system
* development/FORMAT: document format changes
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@18243 a592a061-630c-0410-9148-cb99ea01b6c8
2007-05-09 19:11:42 +00:00
|
|
|
}
|
|
|
|
|
2007-05-26 14:45:38 +00:00
|
|
|
} // namespace anon.
|
Add support for listings package. Two listings command \lstinline, \lstinputlisting and an environment \lstlisting are supported, along with preamble \lstset. \lstinputlisting is implemented through Include dialog, and the other two are implemented with a new inset listings, along with its dialog.
* src/LyXAction.cpp: listing-insert action
* src/insets/Inset.h,cpp: LISTINGS_CODE
* src/insets/InsetInclude.cpp: handle \lstinputlisting
* src/insets/InsetListings.h,cpp: new listings inset
* src/insets/InsetListingsParams.h,cpp: parameters from listings package
* src/insets/InsetCommandParams.h,cpp: handle lstinputlisting option
* src/Bidi.cpp: handle LISTINGS_CODE
* src/frontends/qt4/ui/TextLayoutUi.ui: update UI
* src/frontends/qt4/ui/ListingsUi.ui: new dialog
* src/frontends/qt4/ui/IncludeUi.ui: update UI
* src/frontends/qt4/QInclude.h,cpp: add lstinputlisting
* src/frontends/qt4/QDocument.h,cpp: add textedit for preamble listings_params
* src/frontends/qt4/QListings.h,cpp: new listings inset
* src/frontends/qt4/Dialogs.cpp: new listings dialog
* src/frontends/controllers/ControlInclude.h,cpp: add lstinputlisting
* src/frontends/controllers/ControlListings.h,cpp: new listings inset
* src/LyXFunc.cpp: handle LISTING_CODE
* src/Paragraph.cpp: handle LISTING_CODE
* src/factory.cpp: new listings inset
* src/CutAndPaste.cpp: handle LISTINGS_CODE
* src/LaTeXFeatures.cpp: require listings
* src/Text3.cpp: Handle LISTINGS_CODE
* src/lfuns.h: add LFUN_LISTING_INSERT
* src/Buffer.cpp: change lyx file format to 269
* src/BufferParams.h,cpp: add listings_params to preamble
* lib/lyx2lyx/LyX.py: lyx2lyx
* lib/lyx2lyx/lyx_1_5.py: lyx2lyx
* lib/ui/stdmenus.inc: new menu item (no shortcut!)
* src/insets/Makefile.am: update autotools
* src/frontends/controllers/Makefile.am
* src/frontends/qt4/Makefile.dialogs
* src/frontends/qt4/Makefile.am
* po/POTFILES.in: a few more translatable files.
* development/scons/scons_manifest.py: scons build system
* development/FORMAT: document format changes
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@18243 a592a061-630c-0410-9148-cb99ea01b6c8
2007-05-09 19:11:42 +00:00
|
|
|
|
2007-06-12 17:10:28 +00:00
|
|
|
// define a global ParValidator
|
|
|
|
ParValidator * par_validator = NULL;
|
|
|
|
|
2007-05-27 22:46:09 +00:00
|
|
|
InsetListingsParams::InsetListingsParams()
|
|
|
|
: inline_(false), params_(), status_(InsetCollapsable::Open)
|
Add support for listings package. Two listings command \lstinline, \lstinputlisting and an environment \lstlisting are supported, along with preamble \lstset. \lstinputlisting is implemented through Include dialog, and the other two are implemented with a new inset listings, along with its dialog.
* src/LyXAction.cpp: listing-insert action
* src/insets/Inset.h,cpp: LISTINGS_CODE
* src/insets/InsetInclude.cpp: handle \lstinputlisting
* src/insets/InsetListings.h,cpp: new listings inset
* src/insets/InsetListingsParams.h,cpp: parameters from listings package
* src/insets/InsetCommandParams.h,cpp: handle lstinputlisting option
* src/Bidi.cpp: handle LISTINGS_CODE
* src/frontends/qt4/ui/TextLayoutUi.ui: update UI
* src/frontends/qt4/ui/ListingsUi.ui: new dialog
* src/frontends/qt4/ui/IncludeUi.ui: update UI
* src/frontends/qt4/QInclude.h,cpp: add lstinputlisting
* src/frontends/qt4/QDocument.h,cpp: add textedit for preamble listings_params
* src/frontends/qt4/QListings.h,cpp: new listings inset
* src/frontends/qt4/Dialogs.cpp: new listings dialog
* src/frontends/controllers/ControlInclude.h,cpp: add lstinputlisting
* src/frontends/controllers/ControlListings.h,cpp: new listings inset
* src/LyXFunc.cpp: handle LISTING_CODE
* src/Paragraph.cpp: handle LISTING_CODE
* src/factory.cpp: new listings inset
* src/CutAndPaste.cpp: handle LISTINGS_CODE
* src/LaTeXFeatures.cpp: require listings
* src/Text3.cpp: Handle LISTINGS_CODE
* src/lfuns.h: add LFUN_LISTING_INSERT
* src/Buffer.cpp: change lyx file format to 269
* src/BufferParams.h,cpp: add listings_params to preamble
* lib/lyx2lyx/LyX.py: lyx2lyx
* lib/lyx2lyx/lyx_1_5.py: lyx2lyx
* lib/ui/stdmenus.inc: new menu item (no shortcut!)
* src/insets/Makefile.am: update autotools
* src/frontends/controllers/Makefile.am
* src/frontends/qt4/Makefile.dialogs
* src/frontends/qt4/Makefile.am
* po/POTFILES.in: a few more translatable files.
* development/scons/scons_manifest.py: scons build system
* development/FORMAT: document format changes
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@18243 a592a061-630c-0410-9148-cb99ea01b6c8
2007-05-09 19:11:42 +00:00
|
|
|
{
|
|
|
|
}
|
|
|
|
|
|
|
|
|
2007-05-27 22:46:09 +00:00
|
|
|
InsetListingsParams::InsetListingsParams(string const & par, bool in,
|
|
|
|
InsetCollapsable::CollapseStatus s)
|
2007-05-24 22:19:58 +00:00
|
|
|
: inline_(in), params_(), status_(s)
|
Add support for listings package. Two listings command \lstinline, \lstinputlisting and an environment \lstlisting are supported, along with preamble \lstset. \lstinputlisting is implemented through Include dialog, and the other two are implemented with a new inset listings, along with its dialog.
* src/LyXAction.cpp: listing-insert action
* src/insets/Inset.h,cpp: LISTINGS_CODE
* src/insets/InsetInclude.cpp: handle \lstinputlisting
* src/insets/InsetListings.h,cpp: new listings inset
* src/insets/InsetListingsParams.h,cpp: parameters from listings package
* src/insets/InsetCommandParams.h,cpp: handle lstinputlisting option
* src/Bidi.cpp: handle LISTINGS_CODE
* src/frontends/qt4/ui/TextLayoutUi.ui: update UI
* src/frontends/qt4/ui/ListingsUi.ui: new dialog
* src/frontends/qt4/ui/IncludeUi.ui: update UI
* src/frontends/qt4/QInclude.h,cpp: add lstinputlisting
* src/frontends/qt4/QDocument.h,cpp: add textedit for preamble listings_params
* src/frontends/qt4/QListings.h,cpp: new listings inset
* src/frontends/qt4/Dialogs.cpp: new listings dialog
* src/frontends/controllers/ControlInclude.h,cpp: add lstinputlisting
* src/frontends/controllers/ControlListings.h,cpp: new listings inset
* src/LyXFunc.cpp: handle LISTING_CODE
* src/Paragraph.cpp: handle LISTING_CODE
* src/factory.cpp: new listings inset
* src/CutAndPaste.cpp: handle LISTINGS_CODE
* src/LaTeXFeatures.cpp: require listings
* src/Text3.cpp: Handle LISTINGS_CODE
* src/lfuns.h: add LFUN_LISTING_INSERT
* src/Buffer.cpp: change lyx file format to 269
* src/BufferParams.h,cpp: add listings_params to preamble
* lib/lyx2lyx/LyX.py: lyx2lyx
* lib/lyx2lyx/lyx_1_5.py: lyx2lyx
* lib/ui/stdmenus.inc: new menu item (no shortcut!)
* src/insets/Makefile.am: update autotools
* src/frontends/controllers/Makefile.am
* src/frontends/qt4/Makefile.dialogs
* src/frontends/qt4/Makefile.am
* po/POTFILES.in: a few more translatable files.
* development/scons/scons_manifest.py: scons build system
* development/FORMAT: document format changes
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@18243 a592a061-630c-0410-9148-cb99ea01b6c8
2007-05-09 19:11:42 +00:00
|
|
|
{
|
|
|
|
// this will activate parameter validation.
|
|
|
|
fromEncodedString(par);
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
void InsetListingsParams::write(ostream & os) const
|
|
|
|
{
|
|
|
|
if (inline_)
|
|
|
|
os << "true ";
|
|
|
|
else
|
|
|
|
os << "false ";
|
|
|
|
os << status_ << " \"" << encodedString() << "\"";
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
void InsetListingsParams::read(Lexer & lex)
|
|
|
|
{
|
|
|
|
lex >> inline_;
|
|
|
|
int s;
|
|
|
|
lex >> s;
|
|
|
|
if (lex)
|
|
|
|
status_ = static_cast<InsetCollapsable::CollapseStatus>(s);
|
|
|
|
string par;
|
|
|
|
lex >> par;
|
|
|
|
fromEncodedString(par);
|
|
|
|
}
|
|
|
|
|
|
|
|
|
2007-06-09 18:06:11 +00:00
|
|
|
string InsetListingsParams::params(string const & sep) const
|
2007-05-24 22:19:58 +00:00
|
|
|
{
|
|
|
|
string par;
|
|
|
|
for (map<string, string>::const_iterator it = params_.begin();
|
|
|
|
it != params_.end(); ++it) {
|
|
|
|
if (!par.empty())
|
|
|
|
par += sep;
|
2007-05-31 22:02:55 +00:00
|
|
|
// key=value,key=value1 is stored in params_ as key=value,key_=value1.
|
2007-05-24 22:19:58 +00:00
|
|
|
if (it->second.empty())
|
2007-06-09 18:06:11 +00:00
|
|
|
par += rtrim(it->first, "_");
|
2007-05-24 22:19:58 +00:00
|
|
|
else
|
2007-06-09 18:06:11 +00:00
|
|
|
par += rtrim(it->first, "_") + '=' + it->second;
|
2007-05-24 22:19:58 +00:00
|
|
|
}
|
|
|
|
return par;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
Add support for listings package. Two listings command \lstinline, \lstinputlisting and an environment \lstlisting are supported, along with preamble \lstset. \lstinputlisting is implemented through Include dialog, and the other two are implemented with a new inset listings, along with its dialog.
* src/LyXAction.cpp: listing-insert action
* src/insets/Inset.h,cpp: LISTINGS_CODE
* src/insets/InsetInclude.cpp: handle \lstinputlisting
* src/insets/InsetListings.h,cpp: new listings inset
* src/insets/InsetListingsParams.h,cpp: parameters from listings package
* src/insets/InsetCommandParams.h,cpp: handle lstinputlisting option
* src/Bidi.cpp: handle LISTINGS_CODE
* src/frontends/qt4/ui/TextLayoutUi.ui: update UI
* src/frontends/qt4/ui/ListingsUi.ui: new dialog
* src/frontends/qt4/ui/IncludeUi.ui: update UI
* src/frontends/qt4/QInclude.h,cpp: add lstinputlisting
* src/frontends/qt4/QDocument.h,cpp: add textedit for preamble listings_params
* src/frontends/qt4/QListings.h,cpp: new listings inset
* src/frontends/qt4/Dialogs.cpp: new listings dialog
* src/frontends/controllers/ControlInclude.h,cpp: add lstinputlisting
* src/frontends/controllers/ControlListings.h,cpp: new listings inset
* src/LyXFunc.cpp: handle LISTING_CODE
* src/Paragraph.cpp: handle LISTING_CODE
* src/factory.cpp: new listings inset
* src/CutAndPaste.cpp: handle LISTINGS_CODE
* src/LaTeXFeatures.cpp: require listings
* src/Text3.cpp: Handle LISTINGS_CODE
* src/lfuns.h: add LFUN_LISTING_INSERT
* src/Buffer.cpp: change lyx file format to 269
* src/BufferParams.h,cpp: add listings_params to preamble
* lib/lyx2lyx/LyX.py: lyx2lyx
* lib/lyx2lyx/lyx_1_5.py: lyx2lyx
* lib/ui/stdmenus.inc: new menu item (no shortcut!)
* src/insets/Makefile.am: update autotools
* src/frontends/controllers/Makefile.am
* src/frontends/qt4/Makefile.dialogs
* src/frontends/qt4/Makefile.am
* po/POTFILES.in: a few more translatable files.
* development/scons/scons_manifest.py: scons build system
* development/FORMAT: document format changes
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@18243 a592a061-630c-0410-9148-cb99ea01b6c8
2007-05-09 19:11:42 +00:00
|
|
|
void InsetListingsParams::addParam(string const & key, string const & value)
|
2007-05-28 22:27:45 +00:00
|
|
|
{
|
Add support for listings package. Two listings command \lstinline, \lstinputlisting and an environment \lstlisting are supported, along with preamble \lstset. \lstinputlisting is implemented through Include dialog, and the other two are implemented with a new inset listings, along with its dialog.
* src/LyXAction.cpp: listing-insert action
* src/insets/Inset.h,cpp: LISTINGS_CODE
* src/insets/InsetInclude.cpp: handle \lstinputlisting
* src/insets/InsetListings.h,cpp: new listings inset
* src/insets/InsetListingsParams.h,cpp: parameters from listings package
* src/insets/InsetCommandParams.h,cpp: handle lstinputlisting option
* src/Bidi.cpp: handle LISTINGS_CODE
* src/frontends/qt4/ui/TextLayoutUi.ui: update UI
* src/frontends/qt4/ui/ListingsUi.ui: new dialog
* src/frontends/qt4/ui/IncludeUi.ui: update UI
* src/frontends/qt4/QInclude.h,cpp: add lstinputlisting
* src/frontends/qt4/QDocument.h,cpp: add textedit for preamble listings_params
* src/frontends/qt4/QListings.h,cpp: new listings inset
* src/frontends/qt4/Dialogs.cpp: new listings dialog
* src/frontends/controllers/ControlInclude.h,cpp: add lstinputlisting
* src/frontends/controllers/ControlListings.h,cpp: new listings inset
* src/LyXFunc.cpp: handle LISTING_CODE
* src/Paragraph.cpp: handle LISTING_CODE
* src/factory.cpp: new listings inset
* src/CutAndPaste.cpp: handle LISTINGS_CODE
* src/LaTeXFeatures.cpp: require listings
* src/Text3.cpp: Handle LISTINGS_CODE
* src/lfuns.h: add LFUN_LISTING_INSERT
* src/Buffer.cpp: change lyx file format to 269
* src/BufferParams.h,cpp: add listings_params to preamble
* lib/lyx2lyx/LyX.py: lyx2lyx
* lib/lyx2lyx/lyx_1_5.py: lyx2lyx
* lib/ui/stdmenus.inc: new menu item (no shortcut!)
* src/insets/Makefile.am: update autotools
* src/frontends/controllers/Makefile.am
* src/frontends/qt4/Makefile.dialogs
* src/frontends/qt4/Makefile.am
* po/POTFILES.in: a few more translatable files.
* development/scons/scons_manifest.py: scons build system
* development/FORMAT: document format changes
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@18243 a592a061-630c-0410-9148-cb99ea01b6c8
2007-05-09 19:11:42 +00:00
|
|
|
if (key.empty())
|
|
|
|
return;
|
2007-05-27 11:55:46 +00:00
|
|
|
|
2007-05-12 15:07:18 +00:00
|
|
|
// duplicate parameters!
|
2007-05-31 22:02:55 +00:00
|
|
|
string keyname = key;
|
2007-05-24 22:19:58 +00:00
|
|
|
if (params_.find(key) != params_.end())
|
2007-05-31 22:02:55 +00:00
|
|
|
// key=value,key=value1 is allowed in listings
|
|
|
|
// use key_, key__, key___ etc to avoid name conflict
|
2007-09-16 10:36:57 +00:00
|
|
|
while (params_.find(keyname += '_') != params_.end()) { }
|
2007-05-24 22:19:58 +00:00
|
|
|
// check onoff flag
|
|
|
|
// onoff parameter with value false
|
2007-06-12 17:10:28 +00:00
|
|
|
if (!par_validator)
|
|
|
|
par_validator = new ParValidator();
|
|
|
|
if (par_validator->onoff(key) && (value == "false" || value == "{false}"))
|
2007-05-31 22:02:55 +00:00
|
|
|
params_[keyname] = string();
|
2007-05-24 22:19:58 +00:00
|
|
|
// if the parameter is surrounded with {}, good
|
|
|
|
else if (prefixIs(value, "{") && suffixIs(value, "}"))
|
2007-05-31 22:02:55 +00:00
|
|
|
params_[keyname] = value;
|
2007-05-28 22:27:45 +00:00
|
|
|
// otherwise, check if {} is needed. Add {} to all values with
|
2007-05-24 22:19:58 +00:00
|
|
|
// non-ascii/number characters, just to be safe
|
Add support for listings package. Two listings command \lstinline, \lstinputlisting and an environment \lstlisting are supported, along with preamble \lstset. \lstinputlisting is implemented through Include dialog, and the other two are implemented with a new inset listings, along with its dialog.
* src/LyXAction.cpp: listing-insert action
* src/insets/Inset.h,cpp: LISTINGS_CODE
* src/insets/InsetInclude.cpp: handle \lstinputlisting
* src/insets/InsetListings.h,cpp: new listings inset
* src/insets/InsetListingsParams.h,cpp: parameters from listings package
* src/insets/InsetCommandParams.h,cpp: handle lstinputlisting option
* src/Bidi.cpp: handle LISTINGS_CODE
* src/frontends/qt4/ui/TextLayoutUi.ui: update UI
* src/frontends/qt4/ui/ListingsUi.ui: new dialog
* src/frontends/qt4/ui/IncludeUi.ui: update UI
* src/frontends/qt4/QInclude.h,cpp: add lstinputlisting
* src/frontends/qt4/QDocument.h,cpp: add textedit for preamble listings_params
* src/frontends/qt4/QListings.h,cpp: new listings inset
* src/frontends/qt4/Dialogs.cpp: new listings dialog
* src/frontends/controllers/ControlInclude.h,cpp: add lstinputlisting
* src/frontends/controllers/ControlListings.h,cpp: new listings inset
* src/LyXFunc.cpp: handle LISTING_CODE
* src/Paragraph.cpp: handle LISTING_CODE
* src/factory.cpp: new listings inset
* src/CutAndPaste.cpp: handle LISTINGS_CODE
* src/LaTeXFeatures.cpp: require listings
* src/Text3.cpp: Handle LISTINGS_CODE
* src/lfuns.h: add LFUN_LISTING_INSERT
* src/Buffer.cpp: change lyx file format to 269
* src/BufferParams.h,cpp: add listings_params to preamble
* lib/lyx2lyx/LyX.py: lyx2lyx
* lib/lyx2lyx/lyx_1_5.py: lyx2lyx
* lib/ui/stdmenus.inc: new menu item (no shortcut!)
* src/insets/Makefile.am: update autotools
* src/frontends/controllers/Makefile.am
* src/frontends/qt4/Makefile.dialogs
* src/frontends/qt4/Makefile.am
* po/POTFILES.in: a few more translatable files.
* development/scons/scons_manifest.py: scons build system
* development/FORMAT: document format changes
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@18243 a592a061-630c-0410-9148-cb99ea01b6c8
2007-05-09 19:11:42 +00:00
|
|
|
else {
|
2007-05-24 22:19:58 +00:00
|
|
|
bool has_special_char = false;
|
|
|
|
for (size_t i = 0; i < value.size(); ++i)
|
|
|
|
if (!isAlphaASCII(value[i]) && !isDigit(value[i])) {
|
|
|
|
has_special_char = true;
|
|
|
|
break;
|
|
|
|
}
|
|
|
|
if (has_special_char)
|
2007-05-31 22:02:55 +00:00
|
|
|
params_[keyname] = "{" + value + "}";
|
Add support for listings package. Two listings command \lstinline, \lstinputlisting and an environment \lstlisting are supported, along with preamble \lstset. \lstinputlisting is implemented through Include dialog, and the other two are implemented with a new inset listings, along with its dialog.
* src/LyXAction.cpp: listing-insert action
* src/insets/Inset.h,cpp: LISTINGS_CODE
* src/insets/InsetInclude.cpp: handle \lstinputlisting
* src/insets/InsetListings.h,cpp: new listings inset
* src/insets/InsetListingsParams.h,cpp: parameters from listings package
* src/insets/InsetCommandParams.h,cpp: handle lstinputlisting option
* src/Bidi.cpp: handle LISTINGS_CODE
* src/frontends/qt4/ui/TextLayoutUi.ui: update UI
* src/frontends/qt4/ui/ListingsUi.ui: new dialog
* src/frontends/qt4/ui/IncludeUi.ui: update UI
* src/frontends/qt4/QInclude.h,cpp: add lstinputlisting
* src/frontends/qt4/QDocument.h,cpp: add textedit for preamble listings_params
* src/frontends/qt4/QListings.h,cpp: new listings inset
* src/frontends/qt4/Dialogs.cpp: new listings dialog
* src/frontends/controllers/ControlInclude.h,cpp: add lstinputlisting
* src/frontends/controllers/ControlListings.h,cpp: new listings inset
* src/LyXFunc.cpp: handle LISTING_CODE
* src/Paragraph.cpp: handle LISTING_CODE
* src/factory.cpp: new listings inset
* src/CutAndPaste.cpp: handle LISTINGS_CODE
* src/LaTeXFeatures.cpp: require listings
* src/Text3.cpp: Handle LISTINGS_CODE
* src/lfuns.h: add LFUN_LISTING_INSERT
* src/Buffer.cpp: change lyx file format to 269
* src/BufferParams.h,cpp: add listings_params to preamble
* lib/lyx2lyx/LyX.py: lyx2lyx
* lib/lyx2lyx/lyx_1_5.py: lyx2lyx
* lib/ui/stdmenus.inc: new menu item (no shortcut!)
* src/insets/Makefile.am: update autotools
* src/frontends/controllers/Makefile.am
* src/frontends/qt4/Makefile.dialogs
* src/frontends/qt4/Makefile.am
* po/POTFILES.in: a few more translatable files.
* development/scons/scons_manifest.py: scons build system
* development/FORMAT: document format changes
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@18243 a592a061-630c-0410-9148-cb99ea01b6c8
2007-05-09 19:11:42 +00:00
|
|
|
else
|
2007-05-31 22:02:55 +00:00
|
|
|
params_[keyname] = value;
|
Add support for listings package. Two listings command \lstinline, \lstinputlisting and an environment \lstlisting are supported, along with preamble \lstset. \lstinputlisting is implemented through Include dialog, and the other two are implemented with a new inset listings, along with its dialog.
* src/LyXAction.cpp: listing-insert action
* src/insets/Inset.h,cpp: LISTINGS_CODE
* src/insets/InsetInclude.cpp: handle \lstinputlisting
* src/insets/InsetListings.h,cpp: new listings inset
* src/insets/InsetListingsParams.h,cpp: parameters from listings package
* src/insets/InsetCommandParams.h,cpp: handle lstinputlisting option
* src/Bidi.cpp: handle LISTINGS_CODE
* src/frontends/qt4/ui/TextLayoutUi.ui: update UI
* src/frontends/qt4/ui/ListingsUi.ui: new dialog
* src/frontends/qt4/ui/IncludeUi.ui: update UI
* src/frontends/qt4/QInclude.h,cpp: add lstinputlisting
* src/frontends/qt4/QDocument.h,cpp: add textedit for preamble listings_params
* src/frontends/qt4/QListings.h,cpp: new listings inset
* src/frontends/qt4/Dialogs.cpp: new listings dialog
* src/frontends/controllers/ControlInclude.h,cpp: add lstinputlisting
* src/frontends/controllers/ControlListings.h,cpp: new listings inset
* src/LyXFunc.cpp: handle LISTING_CODE
* src/Paragraph.cpp: handle LISTING_CODE
* src/factory.cpp: new listings inset
* src/CutAndPaste.cpp: handle LISTINGS_CODE
* src/LaTeXFeatures.cpp: require listings
* src/Text3.cpp: Handle LISTINGS_CODE
* src/lfuns.h: add LFUN_LISTING_INSERT
* src/Buffer.cpp: change lyx file format to 269
* src/BufferParams.h,cpp: add listings_params to preamble
* lib/lyx2lyx/LyX.py: lyx2lyx
* lib/lyx2lyx/lyx_1_5.py: lyx2lyx
* lib/ui/stdmenus.inc: new menu item (no shortcut!)
* src/insets/Makefile.am: update autotools
* src/frontends/controllers/Makefile.am
* src/frontends/qt4/Makefile.dialogs
* src/frontends/qt4/Makefile.am
* po/POTFILES.in: a few more translatable files.
* development/scons/scons_manifest.py: scons build system
* development/FORMAT: document format changes
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@18243 a592a061-630c-0410-9148-cb99ea01b6c8
2007-05-09 19:11:42 +00:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
2007-05-12 15:07:18 +00:00
|
|
|
void InsetListingsParams::addParams(string const & par)
|
Add support for listings package. Two listings command \lstinline, \lstinputlisting and an environment \lstlisting are supported, along with preamble \lstset. \lstinputlisting is implemented through Include dialog, and the other two are implemented with a new inset listings, along with its dialog.
* src/LyXAction.cpp: listing-insert action
* src/insets/Inset.h,cpp: LISTINGS_CODE
* src/insets/InsetInclude.cpp: handle \lstinputlisting
* src/insets/InsetListings.h,cpp: new listings inset
* src/insets/InsetListingsParams.h,cpp: parameters from listings package
* src/insets/InsetCommandParams.h,cpp: handle lstinputlisting option
* src/Bidi.cpp: handle LISTINGS_CODE
* src/frontends/qt4/ui/TextLayoutUi.ui: update UI
* src/frontends/qt4/ui/ListingsUi.ui: new dialog
* src/frontends/qt4/ui/IncludeUi.ui: update UI
* src/frontends/qt4/QInclude.h,cpp: add lstinputlisting
* src/frontends/qt4/QDocument.h,cpp: add textedit for preamble listings_params
* src/frontends/qt4/QListings.h,cpp: new listings inset
* src/frontends/qt4/Dialogs.cpp: new listings dialog
* src/frontends/controllers/ControlInclude.h,cpp: add lstinputlisting
* src/frontends/controllers/ControlListings.h,cpp: new listings inset
* src/LyXFunc.cpp: handle LISTING_CODE
* src/Paragraph.cpp: handle LISTING_CODE
* src/factory.cpp: new listings inset
* src/CutAndPaste.cpp: handle LISTINGS_CODE
* src/LaTeXFeatures.cpp: require listings
* src/Text3.cpp: Handle LISTINGS_CODE
* src/lfuns.h: add LFUN_LISTING_INSERT
* src/Buffer.cpp: change lyx file format to 269
* src/BufferParams.h,cpp: add listings_params to preamble
* lib/lyx2lyx/LyX.py: lyx2lyx
* lib/lyx2lyx/lyx_1_5.py: lyx2lyx
* lib/ui/stdmenus.inc: new menu item (no shortcut!)
* src/insets/Makefile.am: update autotools
* src/frontends/controllers/Makefile.am
* src/frontends/qt4/Makefile.dialogs
* src/frontends/qt4/Makefile.am
* po/POTFILES.in: a few more translatable files.
* development/scons/scons_manifest.py: scons build system
* development/FORMAT: document format changes
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@18243 a592a061-630c-0410-9148-cb99ea01b6c8
2007-05-09 19:11:42 +00:00
|
|
|
{
|
|
|
|
string key;
|
|
|
|
string value;
|
|
|
|
bool isValue = false;
|
2007-05-12 15:07:18 +00:00
|
|
|
int braces = 0;
|
Add support for listings package. Two listings command \lstinline, \lstinputlisting and an environment \lstlisting are supported, along with preamble \lstset. \lstinputlisting is implemented through Include dialog, and the other two are implemented with a new inset listings, along with its dialog.
* src/LyXAction.cpp: listing-insert action
* src/insets/Inset.h,cpp: LISTINGS_CODE
* src/insets/InsetInclude.cpp: handle \lstinputlisting
* src/insets/InsetListings.h,cpp: new listings inset
* src/insets/InsetListingsParams.h,cpp: parameters from listings package
* src/insets/InsetCommandParams.h,cpp: handle lstinputlisting option
* src/Bidi.cpp: handle LISTINGS_CODE
* src/frontends/qt4/ui/TextLayoutUi.ui: update UI
* src/frontends/qt4/ui/ListingsUi.ui: new dialog
* src/frontends/qt4/ui/IncludeUi.ui: update UI
* src/frontends/qt4/QInclude.h,cpp: add lstinputlisting
* src/frontends/qt4/QDocument.h,cpp: add textedit for preamble listings_params
* src/frontends/qt4/QListings.h,cpp: new listings inset
* src/frontends/qt4/Dialogs.cpp: new listings dialog
* src/frontends/controllers/ControlInclude.h,cpp: add lstinputlisting
* src/frontends/controllers/ControlListings.h,cpp: new listings inset
* src/LyXFunc.cpp: handle LISTING_CODE
* src/Paragraph.cpp: handle LISTING_CODE
* src/factory.cpp: new listings inset
* src/CutAndPaste.cpp: handle LISTINGS_CODE
* src/LaTeXFeatures.cpp: require listings
* src/Text3.cpp: Handle LISTINGS_CODE
* src/lfuns.h: add LFUN_LISTING_INSERT
* src/Buffer.cpp: change lyx file format to 269
* src/BufferParams.h,cpp: add listings_params to preamble
* lib/lyx2lyx/LyX.py: lyx2lyx
* lib/lyx2lyx/lyx_1_5.py: lyx2lyx
* lib/ui/stdmenus.inc: new menu item (no shortcut!)
* src/insets/Makefile.am: update autotools
* src/frontends/controllers/Makefile.am
* src/frontends/qt4/Makefile.dialogs
* src/frontends/qt4/Makefile.am
* po/POTFILES.in: a few more translatable files.
* development/scons/scons_manifest.py: scons build system
* development/FORMAT: document format changes
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@18243 a592a061-630c-0410-9148-cb99ea01b6c8
2007-05-09 19:11:42 +00:00
|
|
|
for (size_t i = 0; i < par.size(); ++i) {
|
|
|
|
// end of par
|
2007-05-12 15:07:18 +00:00
|
|
|
if (par[i] == '\n') {
|
|
|
|
addParam(trim(key), trim(value));
|
|
|
|
key = string();
|
|
|
|
value = string();
|
|
|
|
isValue = false;
|
|
|
|
continue;
|
|
|
|
} else if (par[i] == ',' && braces == 0) {
|
Add support for listings package. Two listings command \lstinline, \lstinputlisting and an environment \lstlisting are supported, along with preamble \lstset. \lstinputlisting is implemented through Include dialog, and the other two are implemented with a new inset listings, along with its dialog.
* src/LyXAction.cpp: listing-insert action
* src/insets/Inset.h,cpp: LISTINGS_CODE
* src/insets/InsetInclude.cpp: handle \lstinputlisting
* src/insets/InsetListings.h,cpp: new listings inset
* src/insets/InsetListingsParams.h,cpp: parameters from listings package
* src/insets/InsetCommandParams.h,cpp: handle lstinputlisting option
* src/Bidi.cpp: handle LISTINGS_CODE
* src/frontends/qt4/ui/TextLayoutUi.ui: update UI
* src/frontends/qt4/ui/ListingsUi.ui: new dialog
* src/frontends/qt4/ui/IncludeUi.ui: update UI
* src/frontends/qt4/QInclude.h,cpp: add lstinputlisting
* src/frontends/qt4/QDocument.h,cpp: add textedit for preamble listings_params
* src/frontends/qt4/QListings.h,cpp: new listings inset
* src/frontends/qt4/Dialogs.cpp: new listings dialog
* src/frontends/controllers/ControlInclude.h,cpp: add lstinputlisting
* src/frontends/controllers/ControlListings.h,cpp: new listings inset
* src/LyXFunc.cpp: handle LISTING_CODE
* src/Paragraph.cpp: handle LISTING_CODE
* src/factory.cpp: new listings inset
* src/CutAndPaste.cpp: handle LISTINGS_CODE
* src/LaTeXFeatures.cpp: require listings
* src/Text3.cpp: Handle LISTINGS_CODE
* src/lfuns.h: add LFUN_LISTING_INSERT
* src/Buffer.cpp: change lyx file format to 269
* src/BufferParams.h,cpp: add listings_params to preamble
* lib/lyx2lyx/LyX.py: lyx2lyx
* lib/lyx2lyx/lyx_1_5.py: lyx2lyx
* lib/ui/stdmenus.inc: new menu item (no shortcut!)
* src/insets/Makefile.am: update autotools
* src/frontends/controllers/Makefile.am
* src/frontends/qt4/Makefile.dialogs
* src/frontends/qt4/Makefile.am
* po/POTFILES.in: a few more translatable files.
* development/scons/scons_manifest.py: scons build system
* development/FORMAT: document format changes
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@18243 a592a061-630c-0410-9148-cb99ea01b6c8
2007-05-09 19:11:42 +00:00
|
|
|
addParam(trim(key), trim(value));
|
|
|
|
key = string();
|
|
|
|
value = string();
|
|
|
|
isValue = false;
|
2007-05-12 15:07:18 +00:00
|
|
|
continue;
|
|
|
|
} else if (par[i] == '=' && braces == 0) {
|
Add support for listings package. Two listings command \lstinline, \lstinputlisting and an environment \lstlisting are supported, along with preamble \lstset. \lstinputlisting is implemented through Include dialog, and the other two are implemented with a new inset listings, along with its dialog.
* src/LyXAction.cpp: listing-insert action
* src/insets/Inset.h,cpp: LISTINGS_CODE
* src/insets/InsetInclude.cpp: handle \lstinputlisting
* src/insets/InsetListings.h,cpp: new listings inset
* src/insets/InsetListingsParams.h,cpp: parameters from listings package
* src/insets/InsetCommandParams.h,cpp: handle lstinputlisting option
* src/Bidi.cpp: handle LISTINGS_CODE
* src/frontends/qt4/ui/TextLayoutUi.ui: update UI
* src/frontends/qt4/ui/ListingsUi.ui: new dialog
* src/frontends/qt4/ui/IncludeUi.ui: update UI
* src/frontends/qt4/QInclude.h,cpp: add lstinputlisting
* src/frontends/qt4/QDocument.h,cpp: add textedit for preamble listings_params
* src/frontends/qt4/QListings.h,cpp: new listings inset
* src/frontends/qt4/Dialogs.cpp: new listings dialog
* src/frontends/controllers/ControlInclude.h,cpp: add lstinputlisting
* src/frontends/controllers/ControlListings.h,cpp: new listings inset
* src/LyXFunc.cpp: handle LISTING_CODE
* src/Paragraph.cpp: handle LISTING_CODE
* src/factory.cpp: new listings inset
* src/CutAndPaste.cpp: handle LISTINGS_CODE
* src/LaTeXFeatures.cpp: require listings
* src/Text3.cpp: Handle LISTINGS_CODE
* src/lfuns.h: add LFUN_LISTING_INSERT
* src/Buffer.cpp: change lyx file format to 269
* src/BufferParams.h,cpp: add listings_params to preamble
* lib/lyx2lyx/LyX.py: lyx2lyx
* lib/lyx2lyx/lyx_1_5.py: lyx2lyx
* lib/ui/stdmenus.inc: new menu item (no shortcut!)
* src/insets/Makefile.am: update autotools
* src/frontends/controllers/Makefile.am
* src/frontends/qt4/Makefile.dialogs
* src/frontends/qt4/Makefile.am
* po/POTFILES.in: a few more translatable files.
* development/scons/scons_manifest.py: scons build system
* development/FORMAT: document format changes
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@18243 a592a061-630c-0410-9148-cb99ea01b6c8
2007-05-09 19:11:42 +00:00
|
|
|
isValue = true;
|
2007-05-12 15:07:18 +00:00
|
|
|
continue;
|
|
|
|
} else if (par[i] == '{' && par[i - 1] == '=')
|
|
|
|
braces ++;
|
2007-05-28 22:27:45 +00:00
|
|
|
else if (par[i] == '}'
|
2007-05-27 22:46:09 +00:00
|
|
|
&& (i == par.size() - 1 || par[i + 1] == ',' || par[i + 1] == '\n'))
|
2007-05-12 15:07:18 +00:00
|
|
|
braces --;
|
2007-05-28 22:27:45 +00:00
|
|
|
|
2007-05-12 15:07:18 +00:00
|
|
|
if (isValue)
|
Add support for listings package. Two listings command \lstinline, \lstinputlisting and an environment \lstlisting are supported, along with preamble \lstset. \lstinputlisting is implemented through Include dialog, and the other two are implemented with a new inset listings, along with its dialog.
* src/LyXAction.cpp: listing-insert action
* src/insets/Inset.h,cpp: LISTINGS_CODE
* src/insets/InsetInclude.cpp: handle \lstinputlisting
* src/insets/InsetListings.h,cpp: new listings inset
* src/insets/InsetListingsParams.h,cpp: parameters from listings package
* src/insets/InsetCommandParams.h,cpp: handle lstinputlisting option
* src/Bidi.cpp: handle LISTINGS_CODE
* src/frontends/qt4/ui/TextLayoutUi.ui: update UI
* src/frontends/qt4/ui/ListingsUi.ui: new dialog
* src/frontends/qt4/ui/IncludeUi.ui: update UI
* src/frontends/qt4/QInclude.h,cpp: add lstinputlisting
* src/frontends/qt4/QDocument.h,cpp: add textedit for preamble listings_params
* src/frontends/qt4/QListings.h,cpp: new listings inset
* src/frontends/qt4/Dialogs.cpp: new listings dialog
* src/frontends/controllers/ControlInclude.h,cpp: add lstinputlisting
* src/frontends/controllers/ControlListings.h,cpp: new listings inset
* src/LyXFunc.cpp: handle LISTING_CODE
* src/Paragraph.cpp: handle LISTING_CODE
* src/factory.cpp: new listings inset
* src/CutAndPaste.cpp: handle LISTINGS_CODE
* src/LaTeXFeatures.cpp: require listings
* src/Text3.cpp: Handle LISTINGS_CODE
* src/lfuns.h: add LFUN_LISTING_INSERT
* src/Buffer.cpp: change lyx file format to 269
* src/BufferParams.h,cpp: add listings_params to preamble
* lib/lyx2lyx/LyX.py: lyx2lyx
* lib/lyx2lyx/lyx_1_5.py: lyx2lyx
* lib/ui/stdmenus.inc: new menu item (no shortcut!)
* src/insets/Makefile.am: update autotools
* src/frontends/controllers/Makefile.am
* src/frontends/qt4/Makefile.dialogs
* src/frontends/qt4/Makefile.am
* po/POTFILES.in: a few more translatable files.
* development/scons/scons_manifest.py: scons build system
* development/FORMAT: document format changes
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@18243 a592a061-630c-0410-9148-cb99ea01b6c8
2007-05-09 19:11:42 +00:00
|
|
|
value += par[i];
|
|
|
|
else
|
|
|
|
key += par[i];
|
|
|
|
}
|
|
|
|
if (!trim(key).empty())
|
|
|
|
addParam(trim(key), trim(value));
|
|
|
|
}
|
|
|
|
|
|
|
|
|
2007-05-12 15:07:18 +00:00
|
|
|
void InsetListingsParams::setParams(string const & par)
|
|
|
|
{
|
|
|
|
params_.clear();
|
|
|
|
addParams(par);
|
|
|
|
}
|
|
|
|
|
|
|
|
|
Add support for listings package. Two listings command \lstinline, \lstinputlisting and an environment \lstlisting are supported, along with preamble \lstset. \lstinputlisting is implemented through Include dialog, and the other two are implemented with a new inset listings, along with its dialog.
* src/LyXAction.cpp: listing-insert action
* src/insets/Inset.h,cpp: LISTINGS_CODE
* src/insets/InsetInclude.cpp: handle \lstinputlisting
* src/insets/InsetListings.h,cpp: new listings inset
* src/insets/InsetListingsParams.h,cpp: parameters from listings package
* src/insets/InsetCommandParams.h,cpp: handle lstinputlisting option
* src/Bidi.cpp: handle LISTINGS_CODE
* src/frontends/qt4/ui/TextLayoutUi.ui: update UI
* src/frontends/qt4/ui/ListingsUi.ui: new dialog
* src/frontends/qt4/ui/IncludeUi.ui: update UI
* src/frontends/qt4/QInclude.h,cpp: add lstinputlisting
* src/frontends/qt4/QDocument.h,cpp: add textedit for preamble listings_params
* src/frontends/qt4/QListings.h,cpp: new listings inset
* src/frontends/qt4/Dialogs.cpp: new listings dialog
* src/frontends/controllers/ControlInclude.h,cpp: add lstinputlisting
* src/frontends/controllers/ControlListings.h,cpp: new listings inset
* src/LyXFunc.cpp: handle LISTING_CODE
* src/Paragraph.cpp: handle LISTING_CODE
* src/factory.cpp: new listings inset
* src/CutAndPaste.cpp: handle LISTINGS_CODE
* src/LaTeXFeatures.cpp: require listings
* src/Text3.cpp: Handle LISTINGS_CODE
* src/lfuns.h: add LFUN_LISTING_INSERT
* src/Buffer.cpp: change lyx file format to 269
* src/BufferParams.h,cpp: add listings_params to preamble
* lib/lyx2lyx/LyX.py: lyx2lyx
* lib/lyx2lyx/lyx_1_5.py: lyx2lyx
* lib/ui/stdmenus.inc: new menu item (no shortcut!)
* src/insets/Makefile.am: update autotools
* src/frontends/controllers/Makefile.am
* src/frontends/qt4/Makefile.dialogs
* src/frontends/qt4/Makefile.am
* po/POTFILES.in: a few more translatable files.
* development/scons/scons_manifest.py: scons build system
* development/FORMAT: document format changes
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@18243 a592a061-630c-0410-9148-cb99ea01b6c8
2007-05-09 19:11:42 +00:00
|
|
|
string InsetListingsParams::encodedString() const
|
|
|
|
{
|
|
|
|
// Encode string!
|
2007-05-28 22:27:45 +00:00
|
|
|
// '"' is handled differently because it will
|
2007-05-24 22:19:58 +00:00
|
|
|
// terminate a lyx token.
|
|
|
|
string par = params();
|
|
|
|
// '"' is now " ==> '"' is now &quot;
|
|
|
|
par = subst(par, "&", "&");
|
|
|
|
// '"' is now &quot; ==> '"' is now &quot;
|
|
|
|
par = subst(par, "\"", """);
|
2007-05-28 22:27:45 +00:00
|
|
|
return par;
|
Add support for listings package. Two listings command \lstinline, \lstinputlisting and an environment \lstlisting are supported, along with preamble \lstset. \lstinputlisting is implemented through Include dialog, and the other two are implemented with a new inset listings, along with its dialog.
* src/LyXAction.cpp: listing-insert action
* src/insets/Inset.h,cpp: LISTINGS_CODE
* src/insets/InsetInclude.cpp: handle \lstinputlisting
* src/insets/InsetListings.h,cpp: new listings inset
* src/insets/InsetListingsParams.h,cpp: parameters from listings package
* src/insets/InsetCommandParams.h,cpp: handle lstinputlisting option
* src/Bidi.cpp: handle LISTINGS_CODE
* src/frontends/qt4/ui/TextLayoutUi.ui: update UI
* src/frontends/qt4/ui/ListingsUi.ui: new dialog
* src/frontends/qt4/ui/IncludeUi.ui: update UI
* src/frontends/qt4/QInclude.h,cpp: add lstinputlisting
* src/frontends/qt4/QDocument.h,cpp: add textedit for preamble listings_params
* src/frontends/qt4/QListings.h,cpp: new listings inset
* src/frontends/qt4/Dialogs.cpp: new listings dialog
* src/frontends/controllers/ControlInclude.h,cpp: add lstinputlisting
* src/frontends/controllers/ControlListings.h,cpp: new listings inset
* src/LyXFunc.cpp: handle LISTING_CODE
* src/Paragraph.cpp: handle LISTING_CODE
* src/factory.cpp: new listings inset
* src/CutAndPaste.cpp: handle LISTINGS_CODE
* src/LaTeXFeatures.cpp: require listings
* src/Text3.cpp: Handle LISTINGS_CODE
* src/lfuns.h: add LFUN_LISTING_INSERT
* src/Buffer.cpp: change lyx file format to 269
* src/BufferParams.h,cpp: add listings_params to preamble
* lib/lyx2lyx/LyX.py: lyx2lyx
* lib/lyx2lyx/lyx_1_5.py: lyx2lyx
* lib/ui/stdmenus.inc: new menu item (no shortcut!)
* src/insets/Makefile.am: update autotools
* src/frontends/controllers/Makefile.am
* src/frontends/qt4/Makefile.dialogs
* src/frontends/qt4/Makefile.am
* po/POTFILES.in: a few more translatable files.
* development/scons/scons_manifest.py: scons build system
* development/FORMAT: document format changes
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@18243 a592a061-630c-0410-9148-cb99ea01b6c8
2007-05-09 19:11:42 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
string InsetListingsParams::separatedParams(bool keepComma) const
|
|
|
|
{
|
2007-05-24 22:19:58 +00:00
|
|
|
if (keepComma)
|
|
|
|
return params(",\n");
|
|
|
|
else
|
|
|
|
return params("\n");
|
Add support for listings package. Two listings command \lstinline, \lstinputlisting and an environment \lstlisting are supported, along with preamble \lstset. \lstinputlisting is implemented through Include dialog, and the other two are implemented with a new inset listings, along with its dialog.
* src/LyXAction.cpp: listing-insert action
* src/insets/Inset.h,cpp: LISTINGS_CODE
* src/insets/InsetInclude.cpp: handle \lstinputlisting
* src/insets/InsetListings.h,cpp: new listings inset
* src/insets/InsetListingsParams.h,cpp: parameters from listings package
* src/insets/InsetCommandParams.h,cpp: handle lstinputlisting option
* src/Bidi.cpp: handle LISTINGS_CODE
* src/frontends/qt4/ui/TextLayoutUi.ui: update UI
* src/frontends/qt4/ui/ListingsUi.ui: new dialog
* src/frontends/qt4/ui/IncludeUi.ui: update UI
* src/frontends/qt4/QInclude.h,cpp: add lstinputlisting
* src/frontends/qt4/QDocument.h,cpp: add textedit for preamble listings_params
* src/frontends/qt4/QListings.h,cpp: new listings inset
* src/frontends/qt4/Dialogs.cpp: new listings dialog
* src/frontends/controllers/ControlInclude.h,cpp: add lstinputlisting
* src/frontends/controllers/ControlListings.h,cpp: new listings inset
* src/LyXFunc.cpp: handle LISTING_CODE
* src/Paragraph.cpp: handle LISTING_CODE
* src/factory.cpp: new listings inset
* src/CutAndPaste.cpp: handle LISTINGS_CODE
* src/LaTeXFeatures.cpp: require listings
* src/Text3.cpp: Handle LISTINGS_CODE
* src/lfuns.h: add LFUN_LISTING_INSERT
* src/Buffer.cpp: change lyx file format to 269
* src/BufferParams.h,cpp: add listings_params to preamble
* lib/lyx2lyx/LyX.py: lyx2lyx
* lib/lyx2lyx/lyx_1_5.py: lyx2lyx
* lib/ui/stdmenus.inc: new menu item (no shortcut!)
* src/insets/Makefile.am: update autotools
* src/frontends/controllers/Makefile.am
* src/frontends/qt4/Makefile.dialogs
* src/frontends/qt4/Makefile.am
* po/POTFILES.in: a few more translatable files.
* development/scons/scons_manifest.py: scons build system
* development/FORMAT: document format changes
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@18243 a592a061-630c-0410-9148-cb99ea01b6c8
2007-05-09 19:11:42 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
void InsetListingsParams::fromEncodedString(string const & in)
|
|
|
|
{
|
2007-05-24 22:19:58 +00:00
|
|
|
// Decode string! Reversal of encodedString
|
|
|
|
string par = in;
|
|
|
|
// '"' is now &quot; ==> '"' is now &quot;
|
|
|
|
par = subst(par, """, "\"");
|
|
|
|
// '"' is now &quot; ==> '"' is now "
|
|
|
|
par = subst(par, "&", "&");
|
|
|
|
setParams(par);
|
Add support for listings package. Two listings command \lstinline, \lstinputlisting and an environment \lstlisting are supported, along with preamble \lstset. \lstinputlisting is implemented through Include dialog, and the other two are implemented with a new inset listings, along with its dialog.
* src/LyXAction.cpp: listing-insert action
* src/insets/Inset.h,cpp: LISTINGS_CODE
* src/insets/InsetInclude.cpp: handle \lstinputlisting
* src/insets/InsetListings.h,cpp: new listings inset
* src/insets/InsetListingsParams.h,cpp: parameters from listings package
* src/insets/InsetCommandParams.h,cpp: handle lstinputlisting option
* src/Bidi.cpp: handle LISTINGS_CODE
* src/frontends/qt4/ui/TextLayoutUi.ui: update UI
* src/frontends/qt4/ui/ListingsUi.ui: new dialog
* src/frontends/qt4/ui/IncludeUi.ui: update UI
* src/frontends/qt4/QInclude.h,cpp: add lstinputlisting
* src/frontends/qt4/QDocument.h,cpp: add textedit for preamble listings_params
* src/frontends/qt4/QListings.h,cpp: new listings inset
* src/frontends/qt4/Dialogs.cpp: new listings dialog
* src/frontends/controllers/ControlInclude.h,cpp: add lstinputlisting
* src/frontends/controllers/ControlListings.h,cpp: new listings inset
* src/LyXFunc.cpp: handle LISTING_CODE
* src/Paragraph.cpp: handle LISTING_CODE
* src/factory.cpp: new listings inset
* src/CutAndPaste.cpp: handle LISTINGS_CODE
* src/LaTeXFeatures.cpp: require listings
* src/Text3.cpp: Handle LISTINGS_CODE
* src/lfuns.h: add LFUN_LISTING_INSERT
* src/Buffer.cpp: change lyx file format to 269
* src/BufferParams.h,cpp: add listings_params to preamble
* lib/lyx2lyx/LyX.py: lyx2lyx
* lib/lyx2lyx/lyx_1_5.py: lyx2lyx
* lib/ui/stdmenus.inc: new menu item (no shortcut!)
* src/insets/Makefile.am: update autotools
* src/frontends/controllers/Makefile.am
* src/frontends/qt4/Makefile.dialogs
* src/frontends/qt4/Makefile.am
* po/POTFILES.in: a few more translatable files.
* development/scons/scons_manifest.py: scons build system
* development/FORMAT: document format changes
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@18243 a592a061-630c-0410-9148-cb99ea01b6c8
2007-05-09 19:11:42 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
|
2007-05-18 20:01:56 +00:00
|
|
|
bool InsetListingsParams::isFloat() const
|
|
|
|
{
|
2007-05-24 22:19:58 +00:00
|
|
|
return params_.find("float") != params_.end();
|
2007-05-18 20:01:56 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
|
2007-05-18 14:40:39 +00:00
|
|
|
string InsetListingsParams::getParamValue(string const & param) const
|
|
|
|
{
|
|
|
|
// is this parameter defined?
|
2007-05-24 22:19:58 +00:00
|
|
|
map<string, string>::const_iterator it = params_.find(param);
|
2007-06-06 21:19:15 +00:00
|
|
|
string par = (it == params_.end()) ? string() : it->second;
|
|
|
|
if (prefixIs(par, "{") && suffixIs(par, "}"))
|
|
|
|
return par.substr(1, par.size() - 2);
|
|
|
|
else
|
|
|
|
return par;
|
2007-05-18 14:40:39 +00:00
|
|
|
}
|
|
|
|
|
Add support for listings package. Two listings command \lstinline, \lstinputlisting and an environment \lstlisting are supported, along with preamble \lstset. \lstinputlisting is implemented through Include dialog, and the other two are implemented with a new inset listings, along with its dialog.
* src/LyXAction.cpp: listing-insert action
* src/insets/Inset.h,cpp: LISTINGS_CODE
* src/insets/InsetInclude.cpp: handle \lstinputlisting
* src/insets/InsetListings.h,cpp: new listings inset
* src/insets/InsetListingsParams.h,cpp: parameters from listings package
* src/insets/InsetCommandParams.h,cpp: handle lstinputlisting option
* src/Bidi.cpp: handle LISTINGS_CODE
* src/frontends/qt4/ui/TextLayoutUi.ui: update UI
* src/frontends/qt4/ui/ListingsUi.ui: new dialog
* src/frontends/qt4/ui/IncludeUi.ui: update UI
* src/frontends/qt4/QInclude.h,cpp: add lstinputlisting
* src/frontends/qt4/QDocument.h,cpp: add textedit for preamble listings_params
* src/frontends/qt4/QListings.h,cpp: new listings inset
* src/frontends/qt4/Dialogs.cpp: new listings dialog
* src/frontends/controllers/ControlInclude.h,cpp: add lstinputlisting
* src/frontends/controllers/ControlListings.h,cpp: new listings inset
* src/LyXFunc.cpp: handle LISTING_CODE
* src/Paragraph.cpp: handle LISTING_CODE
* src/factory.cpp: new listings inset
* src/CutAndPaste.cpp: handle LISTINGS_CODE
* src/LaTeXFeatures.cpp: require listings
* src/Text3.cpp: Handle LISTINGS_CODE
* src/lfuns.h: add LFUN_LISTING_INSERT
* src/Buffer.cpp: change lyx file format to 269
* src/BufferParams.h,cpp: add listings_params to preamble
* lib/lyx2lyx/LyX.py: lyx2lyx
* lib/lyx2lyx/lyx_1_5.py: lyx2lyx
* lib/ui/stdmenus.inc: new menu item (no shortcut!)
* src/insets/Makefile.am: update autotools
* src/frontends/controllers/Makefile.am
* src/frontends/qt4/Makefile.dialogs
* src/frontends/qt4/Makefile.am
* po/POTFILES.in: a few more translatable files.
* development/scons/scons_manifest.py: scons build system
* development/FORMAT: document format changes
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@18243 a592a061-630c-0410-9148-cb99ea01b6c8
2007-05-09 19:11:42 +00:00
|
|
|
|
2007-06-12 17:10:28 +00:00
|
|
|
docstring InsetListingsParams::validate() const
|
|
|
|
{
|
|
|
|
docstring msg;
|
|
|
|
if (!par_validator)
|
|
|
|
par_validator = new ParValidator();
|
|
|
|
for (map<string, string>::const_iterator it = params_.begin();
|
|
|
|
it != params_.end(); ++it) {
|
|
|
|
msg = par_validator->validate(it->first, it->second);
|
|
|
|
if (!msg.empty())
|
|
|
|
return msg;
|
|
|
|
}
|
|
|
|
return msg;
|
|
|
|
}
|
|
|
|
|
Add support for listings package. Two listings command \lstinline, \lstinputlisting and an environment \lstlisting are supported, along with preamble \lstset. \lstinputlisting is implemented through Include dialog, and the other two are implemented with a new inset listings, along with its dialog.
* src/LyXAction.cpp: listing-insert action
* src/insets/Inset.h,cpp: LISTINGS_CODE
* src/insets/InsetInclude.cpp: handle \lstinputlisting
* src/insets/InsetListings.h,cpp: new listings inset
* src/insets/InsetListingsParams.h,cpp: parameters from listings package
* src/insets/InsetCommandParams.h,cpp: handle lstinputlisting option
* src/Bidi.cpp: handle LISTINGS_CODE
* src/frontends/qt4/ui/TextLayoutUi.ui: update UI
* src/frontends/qt4/ui/ListingsUi.ui: new dialog
* src/frontends/qt4/ui/IncludeUi.ui: update UI
* src/frontends/qt4/QInclude.h,cpp: add lstinputlisting
* src/frontends/qt4/QDocument.h,cpp: add textedit for preamble listings_params
* src/frontends/qt4/QListings.h,cpp: new listings inset
* src/frontends/qt4/Dialogs.cpp: new listings dialog
* src/frontends/controllers/ControlInclude.h,cpp: add lstinputlisting
* src/frontends/controllers/ControlListings.h,cpp: new listings inset
* src/LyXFunc.cpp: handle LISTING_CODE
* src/Paragraph.cpp: handle LISTING_CODE
* src/factory.cpp: new listings inset
* src/CutAndPaste.cpp: handle LISTINGS_CODE
* src/LaTeXFeatures.cpp: require listings
* src/Text3.cpp: Handle LISTINGS_CODE
* src/lfuns.h: add LFUN_LISTING_INSERT
* src/Buffer.cpp: change lyx file format to 269
* src/BufferParams.h,cpp: add listings_params to preamble
* lib/lyx2lyx/LyX.py: lyx2lyx
* lib/lyx2lyx/lyx_1_5.py: lyx2lyx
* lib/ui/stdmenus.inc: new menu item (no shortcut!)
* src/insets/Makefile.am: update autotools
* src/frontends/controllers/Makefile.am
* src/frontends/qt4/Makefile.dialogs
* src/frontends/qt4/Makefile.am
* po/POTFILES.in: a few more translatable files.
* development/scons/scons_manifest.py: scons build system
* development/FORMAT: document format changes
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@18243 a592a061-630c-0410-9148-cb99ea01b6c8
2007-05-09 19:11:42 +00:00
|
|
|
} // namespace lyx
|