Commit Graph

86 Commits

Author SHA1 Message Date
Richard Heck
808ff6650c Introduce a simple macro facility for citation formats. Also introduce
simple, translatable units for use in such formats.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@33924 a592a061-630c-0410-9148-cb99ea01b6c8
2010-03-29 20:01:28 +00:00
Richard Heck
f1912e1c33 Read the citation formats from a file, rather than hardcoding them. This
allows for layout- or module-level customization of the display in the
citation dialog and of the XHTML bibliography output.

There is more of this to come, by the way. The next step is to allow
macros. That will make it easier to deal with translation issues, which
ought to be the final step.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@33920 a592a061-630c-0410-9148-cb99ea01b6c8
2010-03-29 18:37:25 +00:00
Richard Heck
1577c83484 Improve yet further the error reporting when we try to load a document
class that is unavailable. 

In addition, add some explanations about this kind of thing to the User
Guide, to which we can direct the user in the error message. This kind
of question comes up often enough that we need something right up front
about it. It isn't enough to have it in the other manuals.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@33864 a592a061-630c-0410-9148-cb99ea01b6c8
2010-03-25 00:44:15 +00:00
Richard Heck
36ddfbcdf2 Style.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@33846 a592a061-630c-0410-9148-cb99ea01b6c8
2010-03-23 14:16:02 +00:00
Richard Heck
cf8646083f Fix bug #3686, by collecting information about missing prerequisites for
document classes, etc. Patch from Julien Rioux.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@33838 a592a061-630c-0410-9148-cb99ea01b6c8
2010-03-22 12:25:16 +00:00
Richard Heck
9f2e85d565 Revert r33039, which did not work at all.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@33045 a592a061-630c-0410-9148-cb99ea01b6c8
2010-01-14 23:45:53 +00:00
Richard Heck
e0eaa73224 Minor InsetLayout cleanup.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@33039 a592a061-630c-0410-9148-cb99ea01b6c8
2010-01-14 21:31:27 +00:00
Richard Heck
fdbd6064e9 New layout tag for specifying the style used for TOCs, etc, in XHTML
output.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@32991 a592a061-630c-0410-9148-cb99ea01b6c8
2010-01-12 19:38:31 +00:00
Richard Heck
d2f85c7978 Style.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@32458 a592a061-630c-0410-9148-cb99ea01b6c8
2009-12-10 18:12:35 +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
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
Jürgen Spitzmüller
60d2b3295a * new per-document default output format. File format change.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@29181 a592a061-630c-0410-9148-cb99ea01b6c8
2009-04-10 11:06:53 +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
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
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
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
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
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
Richard Heck
53c764ed9b More comments.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@25507 a592a061-630c-0410-9148-cb99ea01b6c8
2008-07-08 18:13:47 +00:00
Richard Heck
b53dc7a033 Comments.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@25506 a592a061-630c-0410-9148-cb99ea01b6c8
2008-07-08 17:57:20 +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
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
Richard Heck
3882a0c759 Comment cleanup.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@23766 a592a061-630c-0410-9148-cb99ea01b6c8
2008-03-15 19:35:08 +00:00
Richard Heck
04af00c98e Comment.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@23703 a592a061-630c-0410-9148-cb99ea01b6c8
2008-03-13 01:09:41 +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
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
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
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
Richard Heck
cef5f40f47 Fix oddity in bibtotoc handling.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@23339 a592a061-630c-0410-9148-cb99ea01b6c8
2008-02-28 21:25:57 +00:00
Richard Heck
80500c426a Comment.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@23329 a592a061-630c-0410-9148-cb99ea01b6c8
2008-02-28 18:16:36 +00:00
Richard Heck
d8a6b5bfd0 Remove TextClassPtr without losing the type safety it provided.
See these threads:
http://www.mail-archive.com/lyx-devel@lists.lyx.org/msg136112.html
http://www.mail-archive.com/lyx-devel@lists.lyx.org/msg136062.html
http://www.mail-archive.com/lyx-devel@lists.lyx.org/msg135997.html
for some background.



git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@23299 a592a061-630c-0410-9148-cb99ea01b6c8
2008-02-28 01:42:02 +00:00
Richard Heck
98a72aac8a Comments, cosmetics.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@23236 a592a061-630c-0410-9148-cb99ea01b6c8
2008-02-25 22:19:59 +00:00
Richard Heck
b2475f6625 Replace boost::shared_ptr<TextClass> with a global cache of sorts of the TextClass's used by Buffers---or, more strictly, constructed by BufferParams::makeTextClass(). The action is in TextClass.{h,cpp}.
I've left the typedef in TextClassPtr.h. At the moment, it's kind of silly. But I've left it mostly because it helps to identify where the TextClass's stored in the TextClassBundle are used, and maybe it'd be worth having some sort of strong typedef like the one for BaseClassIndex here.

I need to check whether the textClass_ member of InsetCollapsable is needed now. I think not.



git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@23232 a592a061-630c-0410-9148-cb99ea01b6c8
2008-02-25 19:31:31 +00:00
Richard Heck
4c6180d209 Try to make the distinction between base classes and text classes clearer in the code.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@23198 a592a061-630c-0410-9148-cb99ea01b6c8
2008-02-24 16:59:49 +00:00
Richard Heck
69de04feac Restore Andre's TextClassIndex, but now in the form of BaseClassIndex. It seems worth distinguishing more clearly than we do at the moment between TextClass's and BaseClass's. The latter correspond to *.layout files; the former are based upon *.layout files but may be modified by modules.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@23197 a592a061-630c-0410-9148-cb99ea01b6c8
2008-02-24 16:29:40 +00:00
Richard Heck
2e7d1199df Revert 23154.
Sorry, Andre, but this broke not only the modules stuff but the general handling of TextClasses. I'm not opposed to doing this sort of thing, but it's going to be a little more complicated. I'll do it when I get a bit of time, or I can explain what the issue is here if you want to do it.

I'll separately re-commit some of the cleanup here.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@23189 a592a061-630c-0410-9148-cb99ea01b6c8
2008-02-24 14:59:23 +00:00
Richard Heck
2d59bf35ec Typo.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@23188 a592a061-630c-0410-9148-cb99ea01b6c8
2008-02-24 14:05:06 +00:00
André Pönitz
0fb8f3fba1 mostly s/Paragraph::layout(...)/Paragraph::setLayout(...)/
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@23159 a592a061-630c-0410-9148-cb99ea01b6c8
2008-02-23 16:45:38 +00:00