Commit Graph

388 Commits

Author SHA1 Message Date
Richard Heck
46611ba1cc Fixes to the theorem modules.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@22502 a592a061-630c-0410-9148-cb99ea01b6c8
2008-01-12 05:17:52 +00:00
Richard Heck
d5d665482e This commit changes the way individual LyXModule's are represented, both internally and in the .lyx files. The earlier version represented them by their `descriptive name', e.g., "Endnote" or "Theorems (AMS)", these being the same names used in the UI. This was a mistake, as becomes readily apparent when one starts to think about translating these strings. The modules ought to be represented by their filename, without the extension, just as TextClass's are.
The changes that accomplish this part are in ModuleList.{h,cpp}, configure.py, and the *.module files themselves. This is a format change, and the lyx2lyx is in those files.

By itself, that change would not be major, except for the fact that we do not want the module to be represented in the UI by its filename---e.g., theorems-std---but rather by a descriptive name, such as "Theorems". But that change turns out to be wholly non-trivial. The mechanism for choosing modules was the same as---indeed, was borrowed from---that in GuiCitation: You get a list of modules, and choosing them involves moving strings from one QListView to another. The models underlying these views are just QStringListModels, which means that, when you want to know what modules have been selected, you see what strings are in the "selected" QListView. But these are just the descriptive names, and we can't look up a module by its descriptive name if it's been translated. That, indeed, was the whole point of the change to the new representation.

So, we need a more complicated model underlying the QListView, one that will pair an identifying string---the filename minus the extension, in this case---with each item. This turns out not to be terribly difficult, though it took rather a while for me to understand why it's not difficult. There are two parts:
(i)  GuiSelectionManger gets re-written to use any QAbstractListModel, not just a QStringListModel. This actually seems to improve the code, independently.
(ii) We then subclass QAbstractListModel to get the associated ID string, using the Qt::UserRole slot associated with each item to store its ID. This would be almost completely trivial if QAbstractListItem::itemData() included the QVariant associated with this role, but it doesn't, so there are some additional hoops through which to jump.

The new model, a GuiIdListModel, is defined in the files by that name. The changes in GuiSelectionManger.{h,cpp} make it more abstract; the changes in GuiDocument.{h,cpp} adapt it to the new framework. 

I've also updated the module documenation to accord with this change.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@22501 a592a061-630c-0410-9148-cb99ea01b6c8
2008-01-12 04:28:12 +00:00
Richard Heck
098dc1f93b Remove comment.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@22472 a592a061-630c-0410-9148-cb99ea01b6c8
2008-01-10 07:30:22 +00:00
Richard Heck
795c729776 Remove layout stuff made obsolete by modularization.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@22471 a592a061-630c-0410-9148-cb99ea01b6c8
2008-01-10 07:24:53 +00:00
Richard Heck
4aea2f6a73 More tweaks, and some fixes for missing files in the makefiles, while we're at it.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@22469 a592a061-630c-0410-9148-cb99ea01b6c8
2008-01-10 07:19:07 +00:00
Richard Heck
736418751a AMS module tweaks.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@22468 a592a061-630c-0410-9148-cb99ea01b6c8
2008-01-10 07:13:01 +00:00
Richard Heck
b258ae2d26 Move stuff around.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@22467 a592a061-630c-0410-9148-cb99ea01b6c8
2008-01-10 06:34:33 +00:00
Richard Heck
b4341a8dae Minor tweaks, and a new module for unnumbered theorems only.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@22464 a592a061-630c-0410-9148-cb99ea01b6c8
2008-01-10 05:14:12 +00:00
Richard Heck
e66ced0383 File no longer needed.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@22463 a592a061-630c-0410-9148-cb99ea01b6c8
2008-01-10 05:01:36 +00:00
Richard Heck
8d541e3675 Fix comments. Other credits are in other files.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@22462 a592a061-630c-0410-9148-cb99ea01b6c8
2008-01-10 05:00:11 +00:00
Richard Heck
f5a5be4d18 Modularization of the AMS classes, and the theorem environments generally.
This is Part I: The changes to the layout files and modules. Part II, still
to come, will involve lyx2lyx to help people who were using the older classes.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@22461 a592a061-630c-0410-9148-cb99ea01b6c8
2008-01-10 04:58:20 +00:00
Richard Heck
7c28905b17 This commit adds some new functionality to the modules stuff. In particular, it introduces the concept of "required" and "excluded" modules: A given module may require one of some list of modules, or it may be incompatible with some other modules. (Complex Boolean combinations are not supported!!) These facts can be noted in the module file, and the UI responds appropriately: Required and excluded modules are noted in the description, and the "Add" button is enabled only if at least one of the required modules has already been selected and no excluded module is selected. Getting this to work involved a fair bit of cleanup of the existing code---including ways Angus, I think, had already pointed out were required---and also involved changing the syntax of the headers of the module files, but in ways that are probably best anyway.
None of the extant modules require any other modules, but the Theorem modules all exclude one another. (See the screenshot.) When I modularize the AMS classes---that is the next task---we'll have requires.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@22456 a592a061-630c-0410-9148-cb99ea01b6c8
2008-01-09 18:51:02 +00:00
Richard Heck
4b8edace67 It turns out we do need this optional argument, because configure.py needs to be able to tell what packages a given module requires.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@22425 a592a061-630c-0410-9148-cb99ea01b6c8
2008-01-07 23:21:40 +00:00
Jürgen Spitzmüller
adea337417 Requires amsmath does not work. No idea why.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@22421 a592a061-630c-0410-9148-cb99ea01b6c8
2008-01-07 18:31:05 +00:00
Jürgen Spitzmüller
59389fbf3a * lib/layouts/chess.layout:
- require chess (instead of manually loading in the preamble).

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@22420 a592a061-630c-0410-9148-cb99ea01b6c8
2008-01-07 18:15:49 +00:00
Jürgen Spitzmüller
a5d5a633d9 some more uses of Requires.
The package ifthen needs to be added to LaTeXConfig.lyx. I'll do this when that file can be opened again.

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@22419 a592a061-630c-0410-9148-cb99ea01b6c8
2008-01-07 17:32:47 +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
Uwe Stöhr
81f48ded87 add a module for typesetting Braille
(entry for the LaTeXConfig.lyx file follows when bug 4460
http://bugzilla.lyx.org/show_bug.cgi?id=4460
is fixed)

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@22393 a592a061-630c-0410-9148-cb99ea01b6c8
2008-01-06 13:39:58 +00:00
Richard Heck
dafeaaa9cf amsmath.sty should always be available.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@22383 a592a061-630c-0410-9148-cb99ea01b6c8
2008-01-05 16:47:17 +00:00
Jürgen Spitzmüller
ccd6d709cb Add Linguistics module.
* lib/layouts/linguistics.module:
	- a new module with some linguistics support.
* lib/doc/examples/linguistics.lyx:
	- some documentation.
* lib/chkconfig.ltx:
* lib/doc/LaTeXConfig.lyx:
	- add packages covington, csquotes and enumitem.

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@22230 a592a061-630c-0410-9148-cb99ea01b6c8
2007-12-21 12:12:19 +00:00
Jürgen Spitzmüller
8994f4f46f * lib/layouts/mwbk.layout:
* lib/layouts/mwrep.layout:
	- add missing include of numreport (fix bug 4419).

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@22084 a592a061-630c-0410-9148-cb99ea01b6c8
2007-12-11 16:36:06 +00:00
Abdelrazak Younes
770c4d41fd stdinset.inc: Some more documentation from Martin.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@21986 a592a061-630c-0410-9148-cb99ea01b6c8
2007-12-06 07:56:39 +00:00
Jürgen Spitzmüller
e0b4fc9da4 * lib/layouts.memoir.layout:
- memoir.cls provides framed.sty.
* src/LaTeXFeatures.cpp:
	- also output the shadecolor definition if framed.sty
	  is provided by a class.

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@21947 a592a061-630c-0410-9148-cb99ea01b6c8
2007-12-04 10:27:27 +00:00
Jürgen Spitzmüller
3582be1441 framed.sty goes InsetBox:
* src/insets/InsetBox.{cpp,h}:
* src/frontends/qt4/GuiBox.{cpp,h}:
* src/frontends/qt4/ui/BoxUi.ui:
	- add and handle Framed and Shaded boxes
	- use more descriptive label names
	- implement name() function for Box:Shaded's sake

* src/insets/InsetNote.{cpp,h}:
* src/frontends/qt4/GuiNote.cpp:
* src/frontends/qt4/ui/NoteUi.ui:
	- remove Framed and Shaded.

* lib/layouts/stdinsets.inc:
	- remove Note:Framed and Note:Shaded
	- add Box:Shaded

* Buffer.cpp:
	- bump format to 304.

* lib/lyx2lyx/LyX.py:
* lib/lyx2lyx/lyx_1_6.py:
	- add conversion/reversion of framed/shaded notes to boxes.

* development/FORMAT:
	- document file format change.

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@21945 a592a061-630c-0410-9148-cb99ea01b6c8
2007-12-04 09:25:50 +00:00
Abdelrazak Younes
44ab27cb98 Add some documentation.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@21937 a592a061-630c-0410-9148-cb99ea01b6c8
2007-12-03 15:24:53 +00:00
Uwe Stöhr
228bd9b277 amsdefs.inc, amsmaths.inc: allow optional arguments for AMS environments, fixes http://bugzilla.lyx.org/show_bug.cgi?id=4344
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@21683 a592a061-630c-0410-9148-cb99ea01b6c8
2007-11-19 22:38:33 +00:00
Abdelrazak Younes
bba8891efb Add InsetOptArg to standard insets.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@21627 a592a061-630c-0410-9148-cb99ea01b6c8
2007-11-15 15:40:01 +00:00
Richard Heck
39386042f1 Fix URL output.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@21615 a592a061-630c-0410-9148-cb99ea01b6c8
2007-11-14 18:06:11 +00:00
Martin Vermeer
979239a248 Make URL a standard inset
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@21576 a592a061-630c-0410-9148-cb99ea01b6c8
2007-11-13 10:03:16 +00:00
Richard Heck
2749ea4721 Fix URL module.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@21533 a592a061-630c-0410-9148-cb99ea01b6c8
2007-11-09 17:18:32 +00:00
Abdelrazak Younes
074dee47c3 add Figure and Table.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@21399 a592a061-630c-0410-9148-cb99ea01b6c8
2007-11-03 01:55:16 +00:00
Abdelrazak Younes
fc0f77044d fix layout of InsetBox and remove unused InsetCollapsable methods.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@21393 a592a061-630c-0410-9148-cb99ea01b6c8
2007-11-02 22:10:59 +00:00
Martin Vermeer
7819fc91b5 NeedProtect inside Index inset
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@21316 a592a061-630c-0410-9148-cb99ea01b6c8
2007-11-01 07:09:58 +00:00
Martin Vermeer
1d894fd5e3 Fix inset font inheritance mechanism; smaller clean-ups
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@21315 a592a061-630c-0410-9148-cb99ea01b6c8
2007-11-01 06:25:47 +00:00
Martin Vermeer
3d443b4c9d Implement ForceLtR; cleanup of collapsable insets
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@21285 a592a061-630c-0410-9148-cb99ea01b6c8
2007-10-30 12:30:46 +00:00
Uwe Stöhr
507c651dd5 amsmaths.inc: revert r21228 since this has unwanted side effects, see
http://www.mail-archive.com/lyx-devel@lists.lyx.org/msg131183.html

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@21275 a592a061-630c-0410-9148-cb99ea01b6c8
2007-10-29 22:50:44 +00:00
Uwe Stöhr
89a2658a21 amsmaths.inc: allow Theorems and the like to be empty, fixes bug 4304.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@21228 a592a061-630c-0410-9148-cb99ea01b6c8
2007-10-27 17:49:02 +00:00
Enrico Forestieri
8c17e2fee4 Fix IEEEtran layout by loading counters before the sectioning styles,
in order to avoid having sections numbered as 0.X instead of simply X.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@21225 a592a061-630c-0410-9148-cb99ea01b6c8
2007-10-27 16:12:19 +00:00
Martin Vermeer
1f07a7f929 Introduce inset parameters keepempty, freespacing, needprotect and rename verbatim->passthru
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@21197 a592a061-630c-0410-9148-cb99ea01b6c8
2007-10-25 09:19:26 +00:00
Jean-Marc Lasgouttes
af5c4977cd * layouts/ijmpd.layout:
* layouts/amsmaths.inc: do not use the notation @Section@ for 
	LabelString.

	* layouts/ijmpc.layout: use \thefoo instead of \arabic{foo}. The 
	classes ijmpc and ijmpd are now very similar, and one of them could
	be made to include the other.



git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@21179 a592a061-630c-0410-9148-cb99ea01b6c8
2007-10-24 12:19:54 +00:00
Jean-Marc Lasgouttes
b14af6b43c * layouts/amsmaths-seq.inc:
* layouts/amsmaths.inc: make sure that the preamble of the Theorem
	layout is output when using other theorem like layouts that
	need its counter (bug 4282).


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@21174 a592a061-630c-0410-9148-cb99ea01b6c8
2007-10-24 09:40:15 +00:00
Martin Vermeer
5ab6d5bf65 Simplify ERT by using verbatim
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@21121 a592a061-630c-0410-9148-cb99ea01b6c8
2007-10-22 18:01:21 +00:00
Martin Vermeer
ccacb487f2 Verbatim for URL inset, \protect for special phrases (index inset)
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@21083 a592a061-630c-0410-9148-cb99ea01b6c8
2007-10-20 17:05:28 +00:00
Martin Vermeer
4f5d7bc4e8 Make URL inset better behaved
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@21075 a592a061-630c-0410-9148-cb99ea01b6c8
2007-10-19 18:52:56 +00:00
Jürgen Spitzmüller
83c0ffa01d * lib/layouts/beamer.layout:
* lib/layouts/foils.layout:
* lib/layouts/powerdot.layout:
* lib/layouts/slides.layout:
	- put slides/foils in the TOC/outliner. This fixes bug 78 [sic!].

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@21055 a592a061-630c-0410-9148-cb99ea01b6c8
2007-10-19 11:23:51 +00:00
Uwe Stöhr
fd912b1bab add Japanese layout files, provided by Yokata-san
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@20965 a592a061-630c-0410-9148-cb99ea01b6c8
2007-10-14 11:09:26 +00:00
Martin Vermeer
0f4d519108 A saner way to reset paragraphs to default when inserting inset around selection
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@20888 a592a061-630c-0410-9148-cb99ea01b6c8
2007-10-10 13:25:37 +00:00
Martin Vermeer
2b0fd3325b Further charstyle -> element fixes, thx John
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@20741 a592a061-630c-0410-9148-cb99ea01b6c8
2007-10-05 05:08:51 +00:00
Martin Vermeer
67e5b12f30 Charstyle->Element, thx John
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@20740 a592a061-630c-0410-9148-cb99ea01b6c8
2007-10-05 05:02:26 +00:00
Enrico Forestieri
91d8498890 Fix (again) bug 3510 after r20508
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@20725 a592a061-630c-0410-9148-cb99ea01b6c8
2007-10-03 23:56:34 +00:00
Martin Vermeer
d21a3bb445 Index as collapsible, preserving existing feature set
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@20699 a592a061-630c-0410-9148-cb99ea01b6c8
2007-10-03 13:38:19 +00:00
Jürgen Spitzmüller
f367964247 * lib/layouts/ams*.layout:
* lib/layouts/ams*.inc:
	- updates from Paul A. Rubin.

Maybe some tweaks for 1.6 are still needed (e.g. counters).

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@20496 a592a061-630c-0410-9148-cb99ea01b6c8
2007-09-25 16:38:56 +00:00
Richard Heck
5aec75f931 Add module to create hanging paragraphs.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@20443 a592a061-630c-0410-9148-cb99ea01b6c8
2007-09-23 05:46:22 +00:00
Richard Heck
8f4b99167c Disallow setting of alignment in protected environments, where it is broken. And, as earlier discussion revealed, it ought not really be done, anyway. This is a class-level decision.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@20438 a592a061-630c-0410-9148-cb99ea01b6c8
2007-09-22 18:02:43 +00:00
Richard Heck
0e4e230f01 Remove redundant AlignPossible lines.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@20437 a592a061-630c-0410-9148-cb99ea01b6c8
2007-09-22 18:00:36 +00:00
Jürgen Spitzmüller
a418607505 * lib/layouts/beamer.layout:
- add plain title layout (bug 3133)

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@20436 a592a061-630c-0410-9148-cb99ea01b6c8
2007-09-22 16:36:18 +00:00
Martin Vermeer
9417258ebb fix typo
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@20355 a592a061-630c-0410-9148-cb99ea01b6c8
2007-09-19 08:32:56 +00:00
Richard Heck
df08a4e4b8 Move logical markup to a module, per Martin.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@20342 a592a061-630c-0410-9148-cb99ea01b6c8
2007-09-18 16:29:38 +00:00
Richard Heck
8a42fa39c2 Add a note to the theorem module descriptions.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@20341 a592a061-630c-0410-9148-cb99ea01b6c8
2007-09-18 16:27:14 +00:00
Richard Heck
c7e92d1cff Remove endnote from stdcustom.inc, as it is now in the endnotes module.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@20340 a592a061-630c-0410-9148-cb99ea01b6c8
2007-09-18 16:24:36 +00:00
Richard Heck
1da3290453 Add decoration to endnotes module.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@20339 a592a061-630c-0410-9148-cb99ea01b6c8
2007-09-18 16:23:46 +00:00
Uwe Stöhr
62a9ce0dd6 amsmaths.inc: fix copy and paste bug spotted by Georg, see http://www.lyx.org/trac/changeset/20257
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@20264 a592a061-630c-0410-9148-cb99ea01b6c8
2007-09-13 18:33:06 +00:00
Martin Vermeer
ef743fc5d5 Add XML elements as a third flex inset variant
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@20105 a592a061-630c-0410-9148-cb99ea01b6c8
2007-09-06 14:45:17 +00:00
Martin Vermeer
6c73681b07 Add error fallback to custom insets
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@20030 a592a061-630c-0410-9148-cb99ea01b6c8
2007-09-04 03:48:24 +00:00
Martin Vermeer
ed6f900552 Use Minimalistic for branches
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@19973 a592a061-630c-0410-9148-cb99ea01b6c8
2007-09-01 11:40:09 +00:00
Richard Heck
2607927e2f Modularize the theorem modules.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@19952 a592a061-630c-0410-9148-cb99ea01b6c8
2007-08-31 15:01:17 +00:00
Richard Heck
8a947f63da This is one of a series of patches that will merge the layout modules development in personal/branches/rgheck back into the tree.
Design goal: Allow the use of layout "modules", which are to LaTeX packages as layout files are to LaTeX document classes. Thus, one could have a module that defined certain character styles, environments, commands, or what have you, and include it in various documents, each of which uses a different document class, without having to modify the layout files themselves. For example, a theorems.module could be used with article.layout to provide support for theorem-type environments, without having to modify article.layout itself, and the same module could be used with book.layout, etc.

This patch adds the backend. The ModuleList class holds a list of the available modules, which are retrieved from lyxmodules.lst, itself generated by configure.py. There are two LFUNs available: modules-clear and module-add, which do the obvious thing; you can test by typing these into the minibuffer, along with the name of one of the available modules: URL (a CharStyle), Endnote (a Custom Inset), and---with the spaces---End To Foot (View>LaTeX and look at the user preamble), which are themselves in lib/layouts. There are some others, too, that allow theorems to be added to classes like article and book.

The GUI will come next.

Issues: (i) The configure.py script could be improved. It'd be nice, for example, if it tested for the presence of the LaTeX packages a particular module needs. But this would mean re-working the LaTeX script, and I don't know how to do that. Note that at present, the packages are ignored. This will change shortly. (ii) I've used std::string in LyXModule, following what seemed to be a precedent in TextClass. If some of these should be docstrings, please let me know, and I'll change them. (iii) There is at present no distinction between LaTeX and DocBook modules. Should there be? That is: Should there be modules that are available when the document class is a LaTeX class and others that are available only when it is DocBook? Or should there just be one set of modules? Each module can of course indicate for what it is suitable in its description.

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@19893 a592a061-630c-0410-9148-cb99ea01b6c8
2007-08-29 17:59:49 +00:00
Martin Vermeer
794ff76622 Add some more logical charstyles
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@19892 a592a061-630c-0410-9148-cb99ea01b6c8
2007-08-29 16:04:56 +00:00
Martin Vermeer
12210a88fb Oops...
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@19851 a592a061-630c-0410-9148-cb99ea01b6c8
2007-08-28 14:33:44 +00:00
Martin Vermeer
18299149f5 some more inclusions of stdinsets.inc
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@19850 a592a061-630c-0410-9148-cb99ea01b6c8
2007-08-28 14:32:06 +00:00
Martin Vermeer
77b575e562 Move background colour into the layout files -- for all collapsables
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@19813 a592a061-630c-0410-9148-cb99ea01b6c8
2007-08-26 20:32:58 +00:00
Martin Vermeer
8eb22fd082 Updated versions to 5; added stdinsets.inc where I felt confident
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@19804 a592a061-630c-0410-9148-cb99ea01b6c8
2007-08-26 09:10:52 +00:00
Martin Vermeer
9fe6ea87b2 fixed some classes to include inset defs, updated some version nrs
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@19802 a592a061-630c-0410-9148-cb99ea01b6c8
2007-08-26 08:33:03 +00:00
Martin Vermeer
e31d201dd6 Decoration added
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@19795 a592a061-630c-0410-9148-cb99ea01b6c8
2007-08-25 18:41:58 +00:00
Martin Vermeer
30506f8e11 Clean-up in CharStyles, externalize detection of undefined styles to
layout files



git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@19790 a592a061-630c-0410-9148-cb99ea01b6c8
2007-08-25 14:43:59 +00:00
Martin Vermeer
d9a7f647c8 Oops -- thanks Richard
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@19773 a592a061-630c-0410-9148-cb99ea01b6c8
2007-08-24 15:15:38 +00:00
Martin Vermeer
540f3564f0 Inset configurability: separate charstyle and custom insets
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@19769 a592a061-630c-0410-9148-cb99ea01b6c8
2007-08-24 12:45:40 +00:00
Martin Vermeer
e38b581bcb add preamble snippets to charstyles
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@19732 a592a061-630c-0410-9148-cb99ea01b6c8
2007-08-22 18:55:03 +00:00
Martin Vermeer
612af5c5f0 inset configurability: ERT
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@19702 a592a061-630c-0410-9148-cb99ea01b6c8
2007-08-21 21:29:13 +00:00
Martin Vermeer
005c3ea9c0 charstyle update for beamer
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@19697 a592a061-630c-0410-9148-cb99ea01b6c8
2007-08-21 19:44:47 +00:00
Martin Vermeer
1bd92eb2f1 The necessary changes to these XML layouts (charstyle new format)
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@19696 a592a061-630c-0410-9148-cb99ea01b6c8
2007-08-21 19:43:10 +00:00
Martin Vermeer
e710636ee8 Symbolic colour names work\!
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@19664 a592a061-630c-0410-9148-cb99ea01b6c8
2007-08-20 18:57:48 +00:00
Martin Vermeer
96336caed7 make these definitions useful for latex
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@19656 a592a061-630c-0410-9148-cb99ea01b6c8
2007-08-20 14:22:39 +00:00
Martin Vermeer
ff682ec3e4 partial merge of charstyle and insetlayout stuff, part 2 (lyx2lyx)
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@19622 a592a061-630c-0410-9148-cb99ea01b6c8
2007-08-17 15:48:41 +00:00
Jean-Marc Lasgouttes
f86fc8d88c The counters labelstring patch. Part 3: adapt some layout files and documentation
* numarticle.inc:
	* numreport.inc: 
	* stdcounter.inc:
	* stdsections.inc:
	* stdstarsections.inc:
	* stdclass.inc:
	* scrbook.layout:
	* amsmath.inc: adapt: remove most of the LabelString in layouts,
	add the necessary stuff to counters.

	* lib/doc/Customization.lyx: document the new stuff.



git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@19604 a592a061-630c-0410-9148-cb99ea01b6c8
2007-08-16 11:16:07 +00:00
Jean-Marc Lasgouttes
1c1a1eca82 fix file format
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@19592 a592a061-630c-0410-9148-cb99ea01b6c8
2007-08-15 19:25:59 +00:00
Jean-Marc Lasgouttes
b0d1a6b717 Fix bug 409 (Add support for numbered footnotes)
* src/insets/InsetFoot.cpp (updateLabels): number the footnote if
	(1) the footnote counter exists and (2) it is not in a title
	layout

	* lib/layouts/stdcounters.inc: add a footnote counter.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@19524 a592a061-630c-0410-9148-cb99ea01b6c8
2007-08-13 20:29:33 +00:00
Martin Vermeer
2bd998c29e Prepare for inset configurability
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@19498 a592a061-630c-0410-9148-cb99ea01b6c8
2007-08-13 12:13:17 +00:00
José Matox
29d106fbf7 Convert layout files to utf8
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@19189 a592a061-630c-0410-9148-cb99ea01b6c8
2007-07-24 17:16:35 +00:00
Uwe Stöhr
ab507ec444 elsart.layout: fix Acknowlegments enviroment
(bug 3931: http://bugzilla.lyx.org/show_bug.cgi?id=3931)

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@18937 a592a061-630c-0410-9148-cb99ea01b6c8
2007-06-28 22:37:15 +00:00
Uwe Stöhr
6b7436766c moderncv: update layout and example to version 0.6 of moderncv.layout
This means:
 - added subsection style in moderncv.layout
 (I had to promise to JMarc when I added the moderncv support to add this as soon as the new noderncv version is out.)
 - actualize preamble of modernCV.lyx to make it compile with the new version
 - better explanation of customization possibilities in the preamble of modernCV.lyx

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@18808 a592a061-630c-0410-9148-cb99ea01b6c8
2007-06-17 00:21:35 +00:00
Enrico Forestieri
8561f4f2ca Better fix for bug 3510 (by me, Juergen, and Jean-Marc)
* lib/layouts/IEEEtran.layout: Add a proper definition to the
	preamble when using the MarkBoth environment (fix bug 3510).
	Allow inserting an optional argument for theorem like environments.
	Remove white space from begin of line in preamble stuff.

	* lib/templates/IEEEtran.lyx: Reintroduce the MarkBoth environment
	in the document body thanks to the fix above. Use optional argument
	instead of ERT in Theorem environment. Use the new --Separator--
	environment for splitting biography environments.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@18767 a592a061-630c-0410-9148-cb99ea01b6c8
2007-06-13 22:50:17 +00:00
Bo Peng
dad101c2e3 Add --Separator-- environment
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@18764 a592a061-630c-0410-9148-cb99ea01b6c8
2007-06-13 15:09:28 +00:00
Uwe Stöhr
fddca82d95 add layout and template for iopart
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@18745 a592a061-630c-0410-9148-cb99ea01b6c8
2007-06-12 01:09:49 +00:00
Jürgen Spitzmüller
b5eb31d698 * lib/layouts/amsdefs.inc:
- fix whatever went wrong on r18712.

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@18713 a592a061-630c-0410-9148-cb99ea01b6c8
2007-06-08 07:26:37 +00:00
Jürgen Spitzmüller
13f6e7b912 * lib/layouts/amsdefs.inc:
- allow optional argument in title (from Paul A. Rubin).

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@18712 a592a061-630c-0410-9148-cb99ea01b6c8
2007-06-08 07:19:47 +00:00
Michael Schmitt
3fa2f90800 * lib/layouts/*.layout: harmonize text class names
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@18694 a592a061-630c-0410-9148-cb99ea01b6c8
2007-06-07 06:32:46 +00:00
Uwe Stöhr
221b6a8452 clean up the CV document class layouts
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@18686 a592a061-630c-0410-9148-cb99ea01b6c8
2007-06-05 22:07:15 +00:00
Michael Schmitt
00925e923b * lib/layout/ijmpd.layout: remove yet another trailing space
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@18664 a592a061-630c-0410-9148-cb99ea01b6c8
2007-06-04 18:28:39 +00:00
Michael Schmitt
fe300cf3f7 * lib/layouts/ijmpc.layout:
* lib/layouts/beamer.layout: remove trailing spaces


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@18663 a592a061-630c-0410-9148-cb99ea01b6c8
2007-06-04 18:26:06 +00:00