Commit Graph

12 Commits

Author SHA1 Message Date
Richard Heck
6e93e77f22 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 first patch does some reworking of the infrastructrue. We need to distinguish between the TextClass that a particular document is using and the layout of that document, since modules, in particular, can modify the layout. The solution adopted here is to add a TextClass pointer to BufferParams, which will hold the layout. The layout itself is then constructed from the TextClass the document is using. At present, this is completely trivial, but that will change when modules are added.

The pointer in question is a boost::shared_ptr. This is needed because CutAndPaste saves a copy of the layout with each cut or copied selection. We cannot assume the selection vanishes when the document is closed, so there are two options: (i) keep a list of all the layouts that have ever been used by any document; (ii) used some kind of smart pointer. The latter seems preferable, as the former would waste memory. More importantly, the use of a smart pointer allows modules to be modified on disk and then reloaded while LyX is running, and it will eventually allow the same for layout files.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@19756 a592a061-630c-0410-9148-cb99ea01b6c8
2007-08-23 16:41:13 +00:00
Abdelrazak Younes
db59cc47ee headers
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@19555 a592a061-630c-0410-9148-cb99ea01b6c8
2007-08-14 12:25:21 +00:00
Abdelrazak Younes
32268e2632 cosmetics + move frontends/* to frontend namespace.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@19553 a592a061-630c-0410-9148-cb99ea01b6c8
2007-08-14 09:54:59 +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
Michael Schmitt
39cf8bcf16 * src/frontends/LyXView.h:
* src/frontends/Toolbars.cpp:
	* src/frontends/qt4/QLToolbar.cpp:
	* src/frontends/LyXView.cpp:
	* src/frontends/Toolbars.h:
	* src/LyXFunc.cpp:
	* src/ToolbarBackend.cpp:
	* src/ToolbarBackend.h: fix toolbar issues: translate toolbar name
	in user message; check for ill-formed toolbars in UI files; output
	reasonable error messages in case of erroneous toolbar names


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@19018 a592a061-630c-0410-9148-cb99ea01b6c8
2007-07-09 20:33:32 +00:00
Jürgen Spitzmüller
77f63866bf * src/frontends/Toolbars.cpp: fix "Bjønnes".
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@18714 a592a061-630c-0410-9148-cb99ea01b6c8
2007-06-08 07:58:19 +00:00
Jean-Marc Lasgouttes
36481c2744 Fix bug 3799.
* src/LyXAction.cpp:
	* src/lfuns.h: remove LFUN_TOOLBAR_TOGGLE_STATE.

	* src/LyXFunc.cpp (getStatus, dispatch): merge LFUN_TOOLBAR_TOGGLE
	and LFUN_TOOLBAR_TOGGLE_STATE. Add an informational message after 
	dispatch.

	* src/frontends/LyXView.cpp (toggleToolbarState):
	* src/frontends/Toolbars.cpp (toggleToolbarState): add allowauto 
	parameter. 

	* src/MenuBackend.cpp (expandToolbars): adapt.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@18690 a592a061-630c-0410-9148-cb99ea01b6c8
2007-06-06 13:52:31 +00:00
Lars Gullik Bjønnes
897436efbb Whitespace cleanup
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@18550 a592a061-630c-0410-9148-cb99ea01b6c8
2007-05-28 22:27:45 +00:00
Edwin Leuven
630fe09637 - introduces toolbar_toggle lfun
- adds a "toggle math toolbar" and "toggle table toolbar" buttons to the main toolbar
 (i also moved "toggle toc" there)
- adds a "toggle math panels" button to the math toolbar
- reshuffles the Big Operators panel to avoid confusion with the sum icon on the math toolbar
- adds some icons

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@18478 a592a061-630c-0410-9148-cb99ea01b6c8
2007-05-23 22:08:07 +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
Bo Peng
00e305c9d9 Rename .C ==> .cpp for files in src, part one
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@18018 a592a061-630c-0410-9148-cb99ea01b6c8
2007-04-26 04:41:58 +00:00
Bo Peng
9a17e559f2 Rename .C ==> .cpp for files in src/frontends, part two
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@18017 a592a061-630c-0410-9148-cb99ea01b6c8
2007-04-26 04:03:46 +00:00