]> git.lyx.org Git - features.git/commit
This commit adds some new functionality to the modules stuff. In particular, it intro...
authorRichard Heck <rgheck@comcast.net>
Wed, 9 Jan 2008 18:51:02 +0000 (18:51 +0000)
committerRichard Heck <rgheck@comcast.net>
Wed, 9 Jan 2008 18:51:02 +0000 (18:51 +0000)
commit7c28905b177b8366531915903ac903a0fff716de
tree99f4c7d88da6a6ac0dffcb32dc9e723f3fc3f4a8
parente97583553046a97d006688287b2e2da4943a7215
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
20 files changed:
lib/configure.py
lib/doc/Customization.lyx
lib/layouts/braille.module
lib/layouts/endnotes.module
lib/layouts/foottoend.module
lib/layouts/hanging.module
lib/layouts/linguistics.module
lib/layouts/logicalmkup.module
lib/layouts/theorems-ams-withinsec.module
lib/layouts/theorems-ams.module
lib/layouts/theorems-std.module
lib/layouts/theorems-withinchap.module
lib/layouts/theorems-withinsec.module
src/BufferParams.cpp
src/ModuleList.cpp
src/ModuleList.h
src/frontends/qt4/GuiDocument.cpp
src/frontends/qt4/GuiDocument.h
src/frontends/qt4/GuiSelectionManager.cpp
src/frontends/qt4/GuiSelectionManager.h