Commit Graph

10491 Commits

Author SHA1 Message Date
Alfredo Braunstein
ebab4e7033 remove fake constness in DocIterator
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@19761 a592a061-630c-0410-9148-cb99ea01b6c8
2007-08-23 21:13:01 +00:00
Alfredo Braunstein
fbf4b51c7b allow one past-the-end position in CursorSlice, as it eases iteration
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@19760 a592a061-630c-0410-9148-cb99ea01b6c8
2007-08-23 21:00:41 +00:00
Alfredo Braunstein
c0d2633b8c remove fake constness in CursorSlice
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@19759 a592a061-630c-0410-9148-cb99ea01b6c8
2007-08-23 20:55:34 +00:00
André Pönitz
39c7e2faf0 rename Layout_ptr into LayoutPtr
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@19758 a592a061-630c-0410-9148-cb99ea01b6c8
2007-08-23 19:59:07 +00:00
André Pönitz
50d78265aa do not compiler iowin32.* on Non-Windows
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@19757 a592a061-630c-0410-9148-cb99ea01b6c8
2007-08-23 19:01:46 +00:00
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
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
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
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
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
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
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
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
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
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
Alfredo Braunstein
c1b155fbe8 simplify setInsetFont, removing a potential bug (an invalid DocIterator was built). Use CursorSlices when possible.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@19690 a592a061-630c-0410-9148-cb99ea01b6c8
2007-08-21 10:54:04 +00:00
Abdelrazak Younes
1356543c45 The BufferView/WorkArea/LyXView reorg a.k.a Multiple WorkAreas:
* Buffer:
- get rid of cursor_ and anchor_
- ~Buffer(): update the labels of its master buffer before closing
- closing(): pass the Buffer address.

* BufferView():
- BufferView(): needs a valid Buffer (should be const in the future.
- most of the change is about removing all test of buffer_ nullity.
- resize(): deleted.
- setBuffer(): deleted.

* Application:
- newLyXView(): simplification
- updated design description in Application.h

* Gui/GuiImplementation: remove all WorkAreas and BufferView creation/Deletion. Workareas are directly handled by  LyXView/GuiView and BufferView is created/delete by WorkArea.

* LyXView/GuiView: implement the new design

What is not working yet:
- the close tab button: it is implemented but does not show up.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@19686 a592a061-630c-0410-9148-cb99ea01b6c8
2007-08-21 07:33:46 +00:00
Abdelrazak Younes
7206f23872 fix MSVC warnings
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@19685 a592a061-630c-0410-9148-cb99ea01b6c8
2007-08-21 07:17:49 +00:00
Bo Peng
f982b5e051 Fix crash when a user removes a formula when its preview is being generated. (Another signal/destructor/gcc3 bug)
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@19667 a592a061-630c-0410-9148-cb99ea01b6c8
2007-08-20 21:30:33 +00:00
Martin Vermeer
f289399bf5 Inset configurability, LaTeX work
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@19665 a592a061-630c-0410-9148-cb99ea01b6c8
2007-08-20 19:02:38 +00:00
Georg Baum
aff3772b34 fix bug 4132: parse some more column specifiers
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@19662 a592a061-630c-0410-9148-cb99ea01b6c8
2007-08-20 17:30:45 +00:00
Georg Baum
d81eb848ff compile fix for qt 4.2.1.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@19661 a592a061-630c-0410-9148-cb99ea01b6c8
2007-08-20 17:23:33 +00:00
Richard Heck
cd772c60a5 Biblio.{h,cpp} --> BiblioInfo.{h,cpp}
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@19660 a592a061-630c-0410-9148-cb99ea01b6c8
2007-08-20 17:04:36 +00:00
Richard Heck
7a870a41d1 Fix margin problem.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@19659 a592a061-630c-0410-9148-cb99ea01b6c8
2007-08-20 17:04:00 +00:00