Commit Graph

127 Commits

Author SHA1 Message Date
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
Jean-Marc Lasgouttes
864773d7d9 Allow literate documents other than noweb to work out of the box. Currently
only sweave is supported (for building documentation, not programs).

Layout files allow a new OutputFormat tag 

Modules can be conditionned on a feature of the type from->to, indicating that
it should be possible to convert from format 'from' to format 'to'.

Layout format incremented to 15.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@29874 a592a061-630c-0410-9148-cb99ea01b6c8
2009-05-28 08:59:25 +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
Richard Heck
4ae0333a99 Redundancy.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@28467 a592a061-630c-0410-9148-cb99ea01b6c8
2009-02-12 15:01:12 +00:00
Richard Heck
52d3a1e426 Move some code around in an effort to make information about modules
available to tex2lyx. The point is to move the crucial routines that 
deal with modules out of BufferParams.cpp, which tex2lyx does not have,
and into TextClass.cpp, which it does.

This is all cleanup that makes a lot of sense independently.

Note that LayoutModuleList will shortly become a real class.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@28456 a592a061-630c-0410-9148-cb99ea01b6c8
2009-02-11 23:22:10 +00:00
Richard Heck
5ee35ace6f Introduce the InToc tag for InsetLayout.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@28377 a592a061-630c-0410-9148-cb99ea01b6c8
2009-02-06 17:54:33 +00:00
Pavel Sanda
6d74fca5f7 next bit
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@28358 a592a061-630c-0410-9148-cb99ea01b6c8
2009-02-04 20:25:58 +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
Richard Heck
fa6d2fd93d Currently, a second InsetLayout declaration of a given inset completely
overwrites the existing definition, instead of updating it, as our Style
declarations do. This patch fixes this behavior, so that e.g.:

#\DeclareLyXModule{ERT}
#DescriptionBegin
#Make ERT Classic
#DescriptionEnd

Format 11

InsetLayout ERT
	Decoration classic
End

will do as advertised.



git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@27900 a592a061-630c-0410-9148-cb99ea01b6c8
2008-12-16 16:11:15 +00:00
Richard Heck
6525159a41 Exit early to avoid indentation.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@27897 a592a061-630c-0410-9148-cb99ea01b6c8
2008-12-16 16:01:32 +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
9dfac74265 This patch introduces ProvidesModule and ExcludesModule layout tags.
See http://www.mail-archive.com/lyx-devel@lists.lyx.org/msg145129.html.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@27041 a592a061-630c-0410-9148-cb99ea01b6c8
2008-10-23 00:27:03 +00:00
Richard Heck
2078e09e67 The default modules should be kept in order.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@26801 a592a061-630c-0410-9148-cb99ea01b6c8
2008-10-07 15:53:05 +00:00
Richard Heck
d841355b7e Fix bug 5316 properly. The fix is to make the routine that reads a counter
update an existing counter rather than overwrite it.

This turns out to be more complicated than it might seem. There are two 
large parts to the patch. One moves the counter read routine out of TextClass
and into the Counter and Counters classes. The other changes the syntax of 
counters from:
	Counter
		Name whatever
	....
to:
	Counter whatever
	....
This allows us to get the name of the counter right away, so we can decide
whether it is an old one or a new one. So the layout format had to be 
changed (again), with corresponding layout2layout code.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@26779 a592a061-630c-0410-9148-cb99ea01b6c8
2008-10-06 14:37:28 +00:00
Richard Heck
63644744fd Whitespace and comment cleanup.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@26777 a592a061-630c-0410-9148-cb99ea01b6c8
2008-10-06 12:16:17 +00:00
Richard Heck
94bc5c3086 Further to r26743, add CustomPars and ForcePlain layout tags to InsetLayout,
so that the allowParagraphCustomization() and forcePlainLayout() features can
be independently controlled.

At present, these are active only for InsetFlex. In future, they should be made
active for InsetCollapsable, in general. 


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@26757 a592a061-630c-0410-9148-cb99ea01b6c8
2008-10-05 19:38:22 +00:00
Pavel Sanda
c1173eb11c Coding style
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@26335 a592a061-630c-0410-9148-cb99ea01b6c8
2008-09-08 01:18:33 +00:00
Richard Heck
0a8d713fad A bit more empty-->plain. I've also changed createEmptyLayout() to createBasicLayout(),
as the former could be confusing. It's not really empty....


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@26027 a592a061-630c-0410-9148-cb99ea01b6c8
2008-08-01 21:13:03 +00:00
Richard Heck
36ce36f341 More empty-->plain changes.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@26026 a592a061-630c-0410-9148-cb99ea01b6c8
2008-08-01 21:03:45 +00:00
Richard Heck
cca78e3c8a Change the "empty layout" to the "plain layout", to try to avoid confusion.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@26025 a592a061-630c-0410-9148-cb99ea01b6c8
2008-08-01 20:57:27 +00:00
Richard Heck
5d95df6e39 Add CopyStyle tag for InsetLayout, per request of Steve Litt.
Update documentation for new tag.



git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@25933 a592a061-630c-0410-9148-cb99ea01b6c8
2008-07-28 15:14:37 +00:00
Richard Heck
56a35c2c61 Add UseModule tag for layout files. This allows the AMS files, in particular, to "require" the
theorems-ams module, which is what most users will want. A later commit will allow users also
to "exclude" this module, in case they wanted to do that.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@25880 a592a061-630c-0410-9148-cb99ea01b6c8
2008-07-25 15:51:27 +00:00
Abdelrazak Younes
794aa69fc7 Add masks to temp file names, easier for debugging in case of crash.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@25832 a592a061-630c-0410-9148-cb99ea01b6c8
2008-07-23 09:41:26 +00:00
Richard Heck
1ca1c0a326 Add a comment about bug 4812.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@25641 a592a061-630c-0410-9148-cb99ea01b6c8
2008-07-15 18:09:44 +00:00
Richard Heck
8981e0bad6 Some minor upgrades to r25555. Moved addLayoutIfNeeded() to DocumentClass, most importantly. This should not change any functionality, as the calls were via DocumentClass objects, anyway.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@25639 a592a061-630c-0410-9148-cb99ea01b6c8
2008-07-15 17:51:57 +00:00
Richard Heck
f854295dab 'Default'-->'Empty' in Bo's recent commit. Default means something else in the code.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@25556 a592a061-630c-0410-9148-cb99ea01b6c8
2008-07-11 03:41:56 +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
Richard Heck
780bce0f96 Rename empty layout stuff to plain layout stuff.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@25541 a592a061-630c-0410-9148-cb99ea01b6c8
2008-07-10 17:41:52 +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
Jean-Marc Lasgouttes
9b4a26a252 rename assert.h to lassert.h
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@24559 a592a061-630c-0410-9148-cb99ea01b6c8
2008-04-30 08:26:40 +00:00
André Pönitz
b8c086b363 a leak in DocumentClassBundle.
However, I am not really sure we should care about these. It's not much
difference, except that application shutdown in slower after 'fixing'
them.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@24305 a592a061-630c-0410-9148-cb99ea01b6c8
2008-04-16 21:23:45 +00:00
Richard Heck
61354cd3b2 Fix comment.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@24267 a592a061-630c-0410-9148-cb99ea01b6c8
2008-04-15 15:32:46 +00:00
Richard Heck
c4f8a516bd This string cannot be translated here, because it is a layout identifier.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@24266 a592a061-630c-0410-9148-cb99ea01b6c8
2008-04-15 15:32:02 +00:00
André Pönitz
7f461f4392 infrastructure for 'graceful asserts'
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@24216 a592a061-630c-0410-9148-cb99ea01b6c8
2008-04-10 21:49:34 +00:00
André Pönitz
cda83b2a62 cosmetics
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@24107 a592a061-630c-0410-9148-cb99ea01b6c8
2008-04-03 21:36:57 +00:00
André Pönitz
c88e7a7ef6 simplify Lexer handling a bit more
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@24106 a592a061-630c-0410-9148-cb99ea01b6c8
2008-04-03 20:55:09 +00:00
André Pönitz
11a0458d3f next try...
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@24100 a592a061-630c-0410-9148-cb99ea01b6c8
2008-04-02 23:06:22 +00:00
André Pönitz
2012beb58e revert last patch. there's something wrong, possibly unrelated to this
patch, but as this was rather largish...


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@24099 a592a061-630c-0410-9148-cb99ea01b6c8
2008-04-02 22:44:33 +00:00
André Pönitz
7677e9487c simplify Lexer use a bit
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@24098 a592a061-630c-0410-9148-cb99ea01b6c8
2008-04-02 22:14:45 +00:00
Pavel Sanda
5183c380b7 PlainLayout -> Plain Layout
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@23934 a592a061-630c-0410-9148-cb99ea01b6c8
2008-03-24 21:08:51 +00:00
Richard Heck
d252730dff New AddToPreamble tag for layout files. This tag will ADD some information to the document premable rather than completely over-write it, as the Preamble tag does.
Increment layout format to 7.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@23916 a592a061-630c-0410-9148-cb99ea01b6c8
2008-03-24 13:11:16 +00:00
Richard Heck
700af7e701 Add support for document-local layout information. GUI is to follow.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@23913 a592a061-630c-0410-9148-cb99ea01b6c8
2008-03-24 12:31:07 +00:00
Abdelrazak Younes
f0771cecc2 MSVC Compile fix.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@23540 a592a061-630c-0410-9148-cb99ea01b6c8
2008-03-07 19:43:17 +00:00
Richard Heck
6edb3984bf BaseClassList --> LayoutFileList
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@23532 a592a061-630c-0410-9148-cb99ea01b6c8
2008-03-07 03:53:21 +00:00
Richard Heck
ac6e5b871c Get rid of the boost::shared_ptr's in TextClass.{h,cpp}. It's not clear what these were really doing here now, and they will cause bugs now that DocumentClass objects are more dynamic.
Abdel suggested it might be worth pimpl'ing the FloatList and Counter objects, to get the header dependencies back down.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@23530 a592a061-630c-0410-9148-cb99ea01b6c8
2008-03-07 03:41:12 +00:00
Richard Heck
6f1cb456cf Improve performance of TextClass type objects by making BaseClassList and DocumentClassBundle containers of pointers rather than of objects, thus reducing the need to copy. Since these classes are singletons that live the life of the process, there's not much need to worry about memory leaks.
We take the opportunity to make TextClass objects noncopyable, nonassignable, etc.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@23526 a592a061-630c-0410-9148-cb99ea01b6c8
2008-03-06 23:31:40 +00:00
Richard Heck
f401ce5d29 Changes LayoutList from a vector<LayoutPtr> to a vector<Layout>.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@23519 a592a061-630c-0410-9148-cb99ea01b6c8
2008-03-06 20:01:30 +00:00
Richard Heck
592f951ba0 Kill indexing into the list of layouts.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@23505 a592a061-630c-0410-9148-cb99ea01b6c8
2008-03-06 05:59:21 +00:00
Jürgen Spitzmüller
ac1977018b ** subfig support **
* src/Buffer.cpp:
* development/FORMAT:
	- bump format to 316.

* src/insets/InsetFloat.{cpp, h}:
	- let nested floats be subfloats
	  NOTE: docbook support is missing.
* src/insets/InsetCaption.{cpp, h}:
	- handle subfigure captions
* src/insets/InsetGraphics.cpp:
* src/insets/InsetGraphicsParams.{cpp, h}:
	- remove old subfigure support

* lib/chkconfig.ltx:
* lib/doc/LaTeXConfig.lyx:
	- check for subfig instead of subfigure.

* lib/lyx2lyx/LyX.py:
* lib/lyx2lyx/lyx_1_6.py:
	- conversion/reversion routines for subfig -> subfloats
	  NOTE: the reversion routine still has bugs.

* src/Counters.{cpp, h}: 
	- add identifiers for subfloats

* src/LaTeXFeatures.{cpp, h}:
	- support for subfig

* src/TextClass.cpp:
	- set up subfloat counter for all custom floats.

* src/frontends/qt4/GuiGraphics.cpp:
* src/frontends/qt4/ui/GrahicsUi.ui:
	- remove subfigure UI.

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@23381 a592a061-630c-0410-9148-cb99ea01b6c8
2008-03-02 11:30:50 +00:00
Richard Heck
2b3bd7b5f4 This is the last of the commits that hopes to enforce the distinction between "layout files" and "document classes" that was introduced by the modules code. For the most part, these changes just refactor code from TextClass between: (a) a TextClass base class; (b) a LayoutFile subclass, which represents the information in a .layout file; and (c) a DocumentClass subclass, which represents the layout information associated with a Buffer---a LayoutFile plus Modules. Methods from TextClass have been apportioned between the three classes depending upon what is needed where, and signatures have been changed where necessary so that the right kind of class is required.
At this point, there are no simple TextClass objects in the main LyX code, and it is impossible to create them, since the TextClass constructor is protected. Only LayoutFile and DocumentClass objects can be constructed, and for the most part these are constructed only by their respective containers: BaseClassList and DocumentClassBundle. There is an exception: LayoutFile does have a public default constructor, but if anyone knows how to make it go away, please do.

There will be one or two more commits along these lines, but these will be simple renamings. For example, BaseClassList should be LayoutFileList.

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@23343 a592a061-630c-0410-9148-cb99ea01b6c8
2008-02-29 02:45:33 +00:00