Commit Graph

119 Commits

Author SHA1 Message Date
Georg Baum
7bdc34a987 Implement forced local layouts
These should be used if any new style needs to be introduced in the stable
2.1 series: If the ForceLocal flag of the style is set, it will always be
written to the document header, so that even older 2.1 versions can read
and correctly output the document.
2013-05-15 07:19:49 +02:00
Georg Baum
7462381a27 Fix layout write bugs found by tests 2013-03-31 18:17:40 +02:00
Georg Baum
7cf8b9da78 Implement writing of layouts
This will be needed for layout forward compatibility, and could also be used
for a layout editor. Writing was only implemented for styles, not for complete
layout files (text class). I rarely made use of default values for missing
variables which exist in read(), so the output it a bit verbose (but more safe
against future changes). Also, some things like CopyStyle are never written for
obvious reasons.
2013-03-31 15:33:26 +02:00
Juergen Spitzmueller
41060c9723 Allow to specify default argument for layout/inset argments
This default argument is inserted iff no inset argument is present. This is useful particularly for mandatory arguments that need to have a sensible default value.
2013-02-24 11:29:21 +01:00
Richard Heck
32b0e8cbdb Change LabelType Top_Environment to LabelType Above, and LabelType
Centered_Top_Environment to LabelType Centered.
2013-02-09 13:44:06 -05:00
Juergen Spitzmueller
37f41fd4b5 Support for command argument placement after the workarea argument 2012-12-28 11:21:24 +01:00
Juergen Spitzmueller
c3aa718151 Make the \item command in lists customizable 2012-12-19 16:55:22 +01:00
Vincent van Ravesteijn
bec9c1325e Introduce Layout::args() and simplify code 2012-12-17 22:26:11 +01:00
Juergen Spitzmueller
dd21e57bd3 Option to auto-insert a paragraph style option, particularly useful for specific mandatory arguments (such as beamer block or frame titles) 2012-12-16 13:37:14 +01:00
Juergen Spitzmueller
e93f4d470d Possibility to specify a preset argument
This will be needed for beamer plain and fragile frame support.
2012-12-10 14:09:51 +01:00
Juergen Spitzmueller
25ef8e7eef Allow to separate menu string from label string for arguments 2012-12-09 19:15:41 +01:00
Juergen Spitzmueller
1500e44cba Support for \item arguments 2012-11-29 15:34:20 +01:00
Juergen Spitzmueller
e0f392e075 Allow for some argument visual customization 2012-11-26 09:10:14 +01:00
Juergen Spitzmueller
6f086763ae Add LeftDelim and RightDelim to the Style and InsetLayout repertoire 2012-11-25 19:10:16 +01:00
Juergen Spitzmueller
182d13ee6a Do not separate the shortcut from the label string 2012-11-23 18:26:02 +01:00
Juergen Spitzmueller
2e69c66195 InsetArgument revision, first working version 2012-11-19 14:21:02 +01:00
Georg Baum
a2e8cb758b Translations for listings insets
The listings inset and include inset of type listings use two english terms
that are not localized yet: "Listing" for the caption and "Listings" for the
list of listings (not supported natively by LyX yet). The existing layout
translation mechanism has been extended to translate these terms as well:

1) Support [[stuff]] context in lib/layouttranslations
2) Support BabelPreamble and LangPreamble in InsetLayout
3) Use a InsetLayout for InsetInclude of type listings
4) Define BabelPreamble and LangPreamble in the layouts for InsetInclude
   and InsetListings
2012-04-10 20:21:01 +02:00
Enrico Forestieri
07b2898afe After r40612, the check for isFullUnicode is redundant. So, partially
revert r40607 and accordingly adapt the code.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@40613 a592a061-630c-0410-9148-cb99ea01b6c8
2012-01-14 14:27:55 +00:00
Enrico Forestieri
08ba2b9b45 Refine fix for bug #7800. Don't use \inputencoding with unicode backends.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@40607 a592a061-630c-0410-9148-cb99ea01b6c8
2012-01-13 00:52:03 +00:00
Enrico Forestieri
8edfef001d Refine fix for bug #7800. Also allow setting the document encoding to
an encoding different from the automatically chosen one.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@39823 a592a061-630c-0410-9148-cb99ea01b6c8
2011-10-09 14:45:51 +00:00
Enrico Forestieri
33c5f6d628 Fix bug #7800 (Lyx cannot create dvi with Russian)
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@39820 a592a061-630c-0410-9148-cb99ea01b6c8
2011-10-08 22:13:38 +00:00
Richard Heck
a72642a174 Remove obsolete layout tags.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@38096 a592a061-630c-0410-9148-cb99ea01b6c8
2011-03-28 15:11:57 +00:00
Jürgen Spitzmüller
089927dd6f make i18npreamble work with polyglossia.
We might want to rename the babelpreamble tokens to something more general.

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@36773 a592a061-630c-0410-9148-cb99ea01b6c8
2010-12-08 12:10:22 +00:00
Jean-Marc Lasgouttes
6aa26820fd Introduce new tag ParbreakIsNewline in Layout and InsetLayout (not yet used)
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@35110 a592a061-630c-0410-9148-cb99ea01b6c8
2010-08-09 21:20:29 +00:00
Richard Heck
b0097bcddb Introduce a new "RequiredArgs" tag for layouts. This functions much as
the OptionalArgs tag does and is implemented by the now misnamed
InsetOptArgs, except that its content gets wrapped in "{}" rather than
"[]". Required arguments do not actually have to be provided, but they
are always output. 

This will allow e.g. beamer's Block environment to be implemented
without ERT.

Documentation to follow.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@34591 a592a061-630c-0410-9148-cb99ea01b6c8
2010-06-04 21:50:08 +00:00
Richard Heck
4cd5bcefe9 Introduce a RefPrefix tag for Style, InsetLayout, and Float, that
indicates what prefix to use when constructing formatted references.
Documentation to follow.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@33784 a592a061-630c-0410-9148-cb99ea01b6c8
2010-03-17 12:23:24 +00:00
Jürgen Spitzmüller
947d3ffd80 Add the spellcheck tag also to paragraph styles.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@33469 a592a061-630c-0410-9148-cb99ea01b6c8
2010-02-13 17:57:11 +00:00
Richard Heck
1832a388c5 Collect the title for XHTML output, and use it.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@33097 a592a061-630c-0410-9148-cb99ea01b6c8
2010-01-19 19:43:15 +00:00
Richard Heck
ffe73b795b Initial work for InsetTOC. This does actually write a TOC, but without
any links. That is the next step.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@32459 a592a061-630c-0410-9148-cb99ea01b6c8
2009-12-10 18:30:48 +00:00
Richard Heck
9929f89856 Fix bug 5842: Add InPreamble tag for layouts.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@32277 a592a061-630c-0410-9148-cb99ea01b6c8
2009-12-01 14:34:05 +00:00
Richard Heck
8ad0e96631 Style.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@32001 a592a061-630c-0410-9148-cb99ea01b6c8
2009-11-15 02:30:02 +00:00
Richard Heck
4c004e0485 Forgot this in a previous commit.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@31770 a592a061-630c-0410-9148-cb99ea01b6c8
2009-10-27 14:32:45 +00:00
Richard Heck
2e871e1ae3 Renaming.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@31769 a592a061-630c-0410-9148-cb99ea01b6c8
2009-10-27 14:14:24 +00:00
Richard Heck
e90add4f15 We need to do some cleanup on the layout name before we can
use it as a class name.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@31768 a592a061-630c-0410-9148-cb99ea01b6c8
2009-10-27 13:58:23 +00:00
Richard Heck
c2b8eeaf96 Rename some things to improve clarity.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@31765 a592a061-630c-0410-9148-cb99ea01b6c8
2009-10-27 13:29:26 +00:00
Richard Heck
331d8060b5 Move the defaults to Layout.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@31751 a592a061-630c-0410-9148-cb99ea01b6c8
2009-10-26 20:45:29 +00:00
Richard Heck
67b7ca00a0 Some framework stuff for default-generated CSS.
The actual generation is still to come.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@31749 a592a061-630c-0410-9148-cb99ea01b6c8
2009-10-26 16:13:09 +00:00
Richard Heck
dfe5bd2e40 Allow the suppression of LyX's own labels.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@31746 a592a061-630c-0410-9148-cb99ea01b6c8
2009-10-26 02:51:51 +00:00
Richard Heck
cb138c6c24 This commit does two things.
First, it introduces some sensible defaults for the html 
output; these are described in layout.h and implemented in 
the openTag, etc, routines.

Second, it modifies the way standard environments are handled.
The previous version was outputing the label for each paragraph
of e.g. a theorem.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@31744 a592a061-630c-0410-9148-cb99ea01b6c8
2009-10-26 02:21:59 +00:00
Richard Heck
d7d1b39adc More typos.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@31718 a592a061-630c-0410-9148-cb99ea01b6c8
2009-10-24 20:25:35 +00:00
Richard Heck
e3cb00d7c7 Fix a couple typos.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@31717 a592a061-630c-0410-9148-cb99ea01b6c8
2009-10-24 20:21:54 +00:00
Jean-Marc Lasgouttes
95e983c382 Remove Layout::labelstring_appendix method; add a bool parameter to Layout::labelstring instead.
Fix the rest of the code, whih implies fixing a few potential bugs where the appendix status was not taken in account.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@30524 a592a061-630c-0410-9148-cb99ea01b6c8
2009-07-12 21:48:50 +00:00
Richard Heck
e47d30e907 Fix a bug. Cosmetics.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@29983 a592a061-630c-0410-9148-cb99ea01b6c8
2009-06-06 03:32:55 +00:00
Richard Heck
70899f0c15 Separate HTML preamble information. This could be used for javascript,
or anything else one would like to add to the header.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@29967 a592a061-630c-0410-9148-cb99ea01b6c8
2009-06-05 19:42:56 +00:00
Richard Heck
0dbf7d0d3d Layout infrastructure for HTML output.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@29947 a592a061-630c-0410-9148-cb99ea01b6c8
2009-06-05 17:26:30 +00:00
Richard Heck
4df7d8ab1a A little cleanup of the layout files.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@29903 a592a061-630c-0410-9148-cb99ea01b6c8
2009-06-02 13:45:32 +00:00
Georg Baum
9aad4bc27f Better fix for bug 1476 (following an idea by Jean-Marc).
Don't go into an endless loop if layout2layout cannot produce the desired file format.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@28529 a592a061-630c-0410-9148-cb99ea01b6c8
2009-02-17 20:25:56 +00:00
Georg Baum
cd27d171d5 Partial fix of bug 1476:
Implement infrastructure to add translations to layout files and translate one .inc file.
Some others are missing.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@28356 a592a061-630c-0410-9148-cb99ea01b6c8
2009-02-04 20:06:50 +00:00
André Pönitz
f1cba8ff64 more latin1..utf8 schanges. all of src/* should be utf8 now
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@27425 a592a061-630c-0410-9148-cb99ea01b6c8
2008-11-14 15:58:50 +00:00
Richard Heck
7eb60756fd Remove unused code related to InsetEnvironment experiment.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@26768 a592a061-630c-0410-9148-cb99ea01b6c8
2008-10-06 04:23:26 +00:00
Bo Peng
763ef015ce Improve the local layout feature by better handling of unknown textclass, unknown layouts, and switch between textclasses.
* src/TextClass.h[.cpp]: add addLayoutIfNeeded() and createDefaultLayout()
	* src/Layout.h[.cpp]: add unknown_ to mark if a layout is a default layout for an unknown one.
	* src/LayoutFile.cpp: add addDefaultClass and change addLayoutFile to addLocalLayout.
	* src/Text.cpp: add unknown layouts that are not recognizable by a new textclass.
	* src/frontends/qt4/GuiToolbar.cpp: display (unknown) for unknown layouts.
	* src/frontends/qt4/GuiDocument.cpp: restore 'browse layout' button.
	* src/frontends/qt4/ui/LaTeXUi.ui: restore 'browse layout' button.
	* src/CutAndPaste.cpp: do not convert unknown layouts from pasted text
	* src/BufferParams.cpp: add a default textclass when a document with unknown textclass is loaded.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@25555 a592a061-630c-0410-9148-cb99ea01b6c8
2008-07-11 02:43:02 +00:00
Pavel Sanda
20b9e0ba93 Remove InsetEnvironment. This is unfinished decade old stuff.
http://www.mail-archive.com/lyx-devel@lists.lyx.org/msg141609.html


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@25479 a592a061-630c-0410-9148-cb99ea01b6c8
2008-07-07 16:34:55 +00:00
André Pönitz
835d051ae3 more Lexer;
also move tex2lyx specific code to tex2lyx


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@24129 a592a061-630c-0410-9148-cb99ea01b6c8
2008-04-05 19:01:43 +00:00
Richard Heck
a01cb111a0 Change the interface to a paragraph's layout. We still store a LayoutPtr, but now privately, and make a Layout const & available to clients.
The need for a LayoutPtr arises from the fact that (a) we do not want to give our clients a Layout &, since we do not want them to be able to change our Layout; but (b) we also need to be able to change which layout is ours. So we cannot store a Layout const &. Or so it seems to the compiler.



git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@23522 a592a061-630c-0410-9148-cb99ea01b6c8
2008-03-06 21:31:27 +00:00
Richard Heck
a307f3b9ae Backend support for layout categorization.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@23501 a592a061-630c-0410-9148-cb99ea01b6c8
2008-03-06 05:01:44 +00:00
Richard Heck
369d21f4e2 Fix Layout::read() API.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@22991 a592a061-630c-0410-9148-cb99ea01b6c8
2008-02-14 04:12:15 +00:00
Abdelrazak Younes
e30cefeb5f Document Layout::read() and TextClass::read() return value. This should be fixed.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@22981 a592a061-630c-0410-9148-cb99ea01b6c8
2008-02-13 14:46:19 +00:00
Jean-Marc Lasgouttes
11bea5a763 Use a set<string> instead of a vecctor<string> for list of features. This
allows to simplify the code to some extent.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@22734 a592a061-630c-0410-9148-cb99ea01b6c8
2008-02-01 15:12:04 +00:00
Jürgen Spitzmüller
9e5eebc14c *** Requires tag for classes, layouts and custom insets ***
* src/TextClass{cpp,h}:
	- implement Requires tag for class and InsetLayout.
* src/Layout.{cpp,h}:
	- implement Requires tag for layouts.
	- increase layouts format to 6.
* src/Paragraph.cpp:
	- request required features for paragraph layouts.
* src/LaTeXFeatures.cpp:
	- add some packages needed by modules.
	- remove Preamble method for InsetLayout. This is now done
	  in InsetFlex::validate.
* src/BufferParams.cpp (validate):
	- request required features for the class.
* src/insets/InsetLayout.h:
	- new member "requires".
* src/insets/InsetFlex.{cpp,h}:
	- implement validate method and request required features and preamble snippets.

* lib/layouts/*.{layout,module,inc}:
	- increase layouts format to 6.
	- use Requires tags in some modules (more can be done later).

* lib/doc/Customization.lyx:
	- document Requires tag.

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@22414 a592a061-630c-0410-9148-cb99ea01b6c8
2008-01-07 16:59:10 +00:00
Abdelrazak Younes
5ddc612b73 Splitup Font in saner bits:
* Font::FontBits -> FontInfo
* Font::FONT_XXX -> all enums transfered to FontEnums.h and renamed to FontXxx

I've replaced Font uses with FontInfo were the language() member was not needed, basically all draw() and metrics methods. There's one problematic cases with InsetQuotes which I solved by taking the Buffer main language.




git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@21240 a592a061-630c-0410-9148-cb99ea01b6c8
2007-10-28 18:51:54 +00:00
André Pönitz
cd72af583f cosmetics
(maily move layout related enums into a header of there own to remov
include dependencies, alos rename a few things)


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@20598 a592a061-630c-0410-9148-cb99ea01b6c8
2007-09-29 20:02:32 +00:00
André Pönitz
82309f0c2d Remove a few includes from Text.h
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@20386 a592a061-630c-0410-9148-cb99ea01b6c8
2007-09-20 20:44:08 +00:00
Abdelrazak Younes
98008dc568 * Layout.h
- leftMargin, rightMargin, labelsep, labelindent, parindent are now docstring.

* TextClass.h:
- leftMargin() and rightMargin(): now return a docstring.

All other files: adapt to change above.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@19633 a592a061-630c-0410-9148-cb99ea01b6c8
2007-08-18 13:21:12 +00:00
Richard Heck
519e73acc8 Make LYX_ALIGN_LAYOUT always be an available layout. This simplifies a couple
chunks of code and makes a lot of sense.



git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@19332 a592a061-630c-0410-9148-cb99ea01b6c8
2007-08-06 05:04:38 +00:00
Abdelrazak Younes
4a53fa6e01 Allow unicode in Layout names.
* Layout.h:
  - name_, obsoleted_by_, depends_on_ are now docstrings.

All other changes results from the above string -> docstring changes. In particular, we now try to translate the layout names only if possible (i.e. if they are ASCII only).



git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@19042 a592a061-630c-0410-9148-cb99ea01b6c8
2007-07-11 13:39:08 +00:00
Jean-Marc Lasgouttes
a6f32927ea Fix bug 3750: this code is a kludge and should be removed when tex2lyx is
updated to support format >= 257 (with InsetCaption).

	* src/Layout.cpp (forCaption): new method. Returns a pointer to a newly 
	allocated Layout suitable for representing a caption.

	* src/tex2lyx/tex2lyx.cpp (tex2lyx): allocate a captionlayout object

	* src/tex2lyx/text.cpp: use the captionlayout object to recognize the 
	\caption command.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@18962 a592a061-630c-0410-9148-cb99ea01b6c8
2007-07-02 16:02:41 +00:00
André Pönitz
757d5d67ac resolve the layout.h <=> Layout.h conflict
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@18099 a592a061-630c-0410-9148-cb99ea01b6c8
2007-04-29 22:04:32 +00:00
André Pönitz
6add1994c7 rename LyXTextClass* into TextClass*
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@18097 a592a061-630c-0410-9148-cb99ea01b6c8
2007-04-29 19:53:54 +00:00
André Pönitz
0bf9ac02a8 rename LyXLayout into Layout
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@18096 a592a061-630c-0410-9148-cb99ea01b6c8
2007-04-29 18:58:28 +00:00