Commit Graph

13962 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
24a36d01a0 header cleanup
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@19755 a592a061-630c-0410-9148-cb99ea01b6c8
2007-08-23 16:31:58 +00:00
Alfredo Braunstein
68748f5344 compilation fix
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@19754 a592a061-630c-0410-9148-cb99ea01b6c8
2007-08-23 14:35:31 +00:00
Abdelrazak Younes
c7d83abbac Put LyXView on a diet, step 2: Transfer ControlCommandBuffer handling from LyXView to QCommandBuffer.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@19753 a592a061-630c-0410-9148-cb99ea01b6c8
2007-08-23 13:20:01 +00:00
Abdelrazak Younes
5e5f824376 sync with rev 19751: delete Menubar.h
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@19752 a592a061-630c-0410-9148-cb99ea01b6c8
2007-08-23 12:55:51 +00:00
Abdelrazak Younes
8381d36098 delete unneeded Menubar virtual interface.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@19751 a592a061-630c-0410-9148-cb99ea01b6c8
2007-08-23 12:54:35 +00:00
Abdelrazak Younes
77d4d1256d Put LyXView on a diet, step 2: get rid of menubar direct access from the core. Menubar handling is a frontend thing.
* LyXView:
- getMenubars(): deleted.
- menubar_: transfered to GuiView::private.
- updateMenubar(): deleted, QLMenubar::update() is a void method anyway (to be deleted soon).


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@19750 a592a061-630c-0410-9148-cb99ea01b6c8
2007-08-23 12:44:21 +00:00
Abdelrazak Younes
674632104f Put LyXView on a diet, step 1: get rid of toolbars direct access from the core. Toolbar handling is a frontend thing; the goal is to progressively transfer that to the frontend.
* LyXView:
- getToolbars(): deleted.
- toolbars_: now protected. The goal is to transfer that to GuiView.
- openLayoutList(): new method. The core should not know how this list is displayed.
- showMiniBuffer(): new pure virtual method to show the mini-buffer.
- focus_command_buffer: deleted.

* GuiView:
- focus_command_widget(): deleted.
- showMiniBuffer(): implemented.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@19748 a592a061-630c-0410-9148-cb99ea01b6c8
2007-08-23 12:21:47 +00:00
Abdelrazak Younes
a2022b1950 Delete include of config.h. This was needed only for the qt3 port.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@19747 a592a061-630c-0410-9148-cb99ea01b6c8
2007-08-23 08:58:22 +00:00
Abdelrazak Younes
23c7c10656 Hide tab bar if there's only one tab.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@19746 a592a061-630c-0410-9148-cb99ea01b6c8
2007-08-23 08:56:13 +00:00
Bo Peng
04e741ac94 allow the use of snapshot version os scons, improve efficiency
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@19745 a592a061-630c-0410-9148-cb99ea01b6c8
2007-08-23 03:03:54 +00:00
André Pönitz
b1401eb791 mention source of inspiration
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@19741 a592a061-630c-0410-9148-cb99ea01b6c8
2007-08-22 23:53:24 +00:00
André Pönitz
87a901784c adjust tex2lyx cmake build
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@19740 a592a061-630c-0410-9148-cb99ea01b6c8
2007-08-22 23:33:14 +00:00
André Pönitz
ef521debc2 add #include for BOOST_CURRENT_FUNCTION
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@19738 a592a061-630c-0410-9148-cb99ea01b6c8
2007-08-22 22:58:31 +00:00
André Pönitz
ef999ad9d5 wrong slashs...
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@19737 a592a061-630c-0410-9148-cb99ea01b6c8
2007-08-22 21:48:06 +00:00
Uwe Stöhr
209496e52e LINGUAS: add Finnish as now are enough translated messages
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@19735 a592a061-630c-0410-9148-cb99ea01b6c8
2007-08-22 20:14:05 +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
Uwe Stöhr
68a28b60c9 Hebrew Tutorial.lyx: fix old link, fixes bug 4165
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@19730 a592a061-630c-0410-9148-cb99ea01b6c8
2007-08-22 18:50:03 +00:00
Richard Heck
5d57df7508 Forgot this one in an earlier commit.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@19729 a592a061-630c-0410-9148-cb99ea01b6c8
2007-08-22 16:44:11 +00:00
Abdelrazak Younes
65e16cdb27 add comments and remove dead code from revision 19721.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@19726 a592a061-630c-0410-9148-cb99ea01b6c8
2007-08-22 14:44:34 +00:00
Abdelrazak Younes
7e6d5cb553 bug fix.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@19725 a592a061-630c-0410-9148-cb99ea01b6c8
2007-08-22 14:38:25 +00:00
Abdelrazak Younes
4c1144c187 cosmetics: return early whenever possible to reduce indentation.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@19724 a592a061-630c-0410-9148-cb99ea01b6c8
2007-08-22 14:36:18 +00:00
Martin Vermeer
a921f1b7ae layout2layout, changeover to version 5
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@19723 a592a061-630c-0410-9148-cb99ea01b6c8
2007-08-22 14:36:07 +00:00
Abdelrazak Younes
e809647c77 simplify BufferView::moveToPosition() use for the external use (in LyXView and LyXFunc).
* BufferView::moveToPosition()
- now only return success boolean
- now schedule a screen centering
- now set the current font to the new position.



git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@19722 a592a061-630c-0410-9148-cb99ea01b6c8
2007-08-22 14:25:51 +00:00
Abdelrazak Younes
5203c56db4 Fix bug 3427:
http://bugzilla.lyx.org/show_bug.cgi?id=3427

The problem was that offset_ref_ was calculated based on an empty metrics. The solution is delay the calculation up until the next metrics update.

* BufferView:
- center(): now just set the anchor_ref and program a new screen recentering.
- updateOffsetRef(): update the offset_ref_


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@19721 a592a061-630c-0410-9148-cb99ea01b6c8
2007-08-22 14:14:52 +00:00
Abdelrazak Younes
8202f63160 transfer cursor position saving (in the session) from ~WorkArea to ~BufferView.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@19719 a592a061-630c-0410-9148-cb99ea01b6c8
2007-08-22 09:06:13 +00:00
Abdelrazak Younes
a0e5ee9fac * restore lastfile feature.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@19718 a592a061-630c-0410-9148-cb99ea01b6c8
2007-08-22 09:04:31 +00:00
Abdelrazak Younes
13a2812c22 Fix crash on first load with mouse wheel: this was because the scrollbar was not updated.
* loadLyXFile::setBuffer(): get rid of a premature optimisation, we make sure that everything is properly drawn in any case.

* GuiView::setCurrentWorkArea(): make sure everything is updated if we don't change tab.



git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@19717 a592a061-630c-0410-9148-cb99ea01b6c8
2007-08-22 08:48:01 +00:00
Abdelrazak Younes
2419c80657 Fix crash when session is empty.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@19716 a592a061-630c-0410-9148-cb99ea01b6c8
2007-08-22 08:34:48 +00:00
Abdelrazak Younes
5eb43656d7 revert 19714, this is not the right fix. LyXView::loadLyXFile() is not about displaying a buffer.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@19715 a592a061-630c-0410-9148-cb99ea01b6c8
2007-08-22 08:22:32 +00:00
Abdelrazak Younes
0c00916333 Fix crash on first load with mouse wheel: this was because the scrollbar was not updated. The solution is just to force a redraw in LyXView::loadLyXFile().
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@19714 a592a061-630c-0410-9148-cb99ea01b6c8
2007-08-22 07:51:39 +00:00
Enrico Forestieri
468d29423e Compile fix for mingw
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@19713 a592a061-630c-0410-9148-cb99ea01b6c8
2007-08-22 04:52:40 +00:00
André Pönitz
9d711c62fc simplify build process of tex2lyx
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@19712 a592a061-630c-0410-9148-cb99ea01b6c8
2007-08-21 23:17:37 +00:00
André Pönitz
212f6d10df "proper" fix for utime use in filetools.cpp
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@19711 a592a061-630c-0410-9148-cb99ea01b6c8
2007-08-21 23:16:49 +00:00
André Pönitz
61e6445f2e compile fix for ubuntu, probably not generic enough
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@19710 a592a061-630c-0410-9148-cb99ea01b6c8
2007-08-21 23:05:48 +00:00
Bo Peng
6973591797 fix a wrong scons fix due to the removal of /TP option
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@19708 a592a061-630c-0410-9148-cb99ea01b6c8
2007-08-21 22:14:30 +00:00
Bo Peng
bb045a4fba Fix file inclusion in src/support/filetools.cpp under mac
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@19707 a592a061-630c-0410-9148-cb99ea01b6c8
2007-08-21 22:10:58 +00:00
Uwe Stöhr
c63db51ad1 add Joan Montané to the credits
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@19705 a592a061-630c-0410-9148-cb99ea01b6c8
2007-08-21 21:52:06 +00:00
Abdelrazak Younes
8db4a8dd46 * LyXView:
- setBuffer(): LyXView has no business in setting parent document.
- loadLyXFile():  delete dead code.



git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@19703 a592a061-630c-0410-9148-cb99ea01b6c8
2007-08-21 21:41:12 +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
Bo Peng
bb0f26bc05 SCons: msvc gives different result for this ICONV_CONST test so I need to change the test to .cpp
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@19701 a592a061-630c-0410-9148-cb99ea01b6c8
2007-08-21 21:21:39 +00:00
Peter Kümmel
281f44e295 minizip fixes for msvc and cmake
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@19700 a592a061-630c-0410-9148-cb99ea01b6c8
2007-08-21 21:09:45 +00:00
Bo Peng
25b22bc54d Add autotools support for src/support/minizip stuff
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@19699 a592a061-630c-0410-9148-cb99ea01b6c8
2007-08-21 20:40:02 +00:00
Bo Peng
0f7d814280 Change src/support/minizip/* from K&R to ANSI style so that a C++ compiler can compile them
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@19698 a592a061-630c-0410-9148-cb99ea01b6c8
2007-08-21 20:02:05 +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
05776800df more translations
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@19694 a592a061-630c-0410-9148-cb99ea01b6c8
2007-08-21 18:15:04 +00:00
Bo Peng
b38d22d2e7 SCons: msvc does not need this /TP option any more after we rename .C => .cpp. Also fix a CXX_GLOBAL_CSTD bug (not quite sure)
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@19693 a592a061-630c-0410-9148-cb99ea01b6c8
2007-08-21 16:46:05 +00:00
Bo Peng
52fa9e584e Embedding feature patch 1: add zipFiles and unzipToDir to support
* src/support/lyxlib.h: add makedir(), used by unzipToDir
	* src/support/filetools.[h|cpp]: add zipFiles() and unzipToDir()
	* src/support/mkdir.cpp: add makedir() and mymkdir(char*).
	* src/support/minizip: add zlib-1.2.3/contrib/minizip files to lyx svn
	* src/support/minizip/iowin32.h
	* src/support/minizip/ioapi.c
	* src/support/minizip/zip.c
	* src/support/minizip/unzip.c
	* src/support/minizip/crypt.h
	* src/support/minizip/ioapi.h
	* src/support/minizip/zip.h
	* src/support/minizip/unzip.h
	* src/support/minizip/iowin32.c
	* development/scons/scons_manifest.py: adjust scons
	* development/scons/SConstruct


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@19692 a592a061-630c-0410-9148-cb99ea01b6c8
2007-08-21 14:48:47 +00:00
Abdelrazak Younes
0fcae6cc10 * BufferView::buffer() returns a reference instead of a pointer.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@19691 a592a061-630c-0410-9148-cb99ea01b6c8
2007-08-21 13:03:55 +00:00