Commit Graph

40 Commits

Author SHA1 Message Date
André Pönitz
cc4b9be893 shuffle stuff around
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@20225 a592a061-630c-0410-9148-cb99ea01b6c8
2007-09-11 21:27:57 +00:00
Bo Peng
3611b0ff33 Embedding patch 4: interaction between buffer and the embedding dialog. Emit embeddingChanged signal to update the embedding dialog.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@20038 a592a061-630c-0410-9148-cb99ea01b6c8
2007-09-04 14:34:42 +00:00
Abdelrazak Younes
2cf5e9b563 LyXView::loadLyXFile(): only add a new work area if the file is not already loaded.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@19768 a592a061-630c-0410-9148-cb99ea01b6c8
2007-08-24 07:19:40 +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
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
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
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
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
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
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
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
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
André Pönitz
848c89564f remove lyxrc dependence from support/*
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@19441 a592a061-630c-0410-9148-cb99ea01b6c8
2007-08-11 22:37:09 +00:00
Richard Heck
47b9d13bb7 Deal with a UI bug discussed on the list.
The effect is this: If you try to open a file that is already open,
LyX (i) checks if the buffer is dirty, and just switches buffers if
it is not; (ii) if it is, you get this message:
 The document %1$s is already loaded and has unsaved changes. 
 Do you want to abandon your changes and reload the document?
    [Reload] [Keep Changes]
If you hit the latter, you just get switched to the document.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@19331 a592a061-630c-0410-9148-cb99ea01b6c8
2007-08-06 04:14:26 +00:00
Richard Heck
eacbcb3f3a Fix bug 4096. Don't disconnect the buffer until we're ready to connect again.
Also, clean up the code a little.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@19287 a592a061-630c-0410-9148-cb99ea01b6c8
2007-08-03 14:07:39 +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
Abdelrazak Younes
19e12e5fab Fix crash when closing a child document after having played with the Preference dialog.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@19015 a592a061-630c-0410-9148-cb99ea01b6c8
2007-07-09 16:52:09 +00:00
Abdelrazak Younes
39d3f11612 Fix this bug reported by Mael Hilléreau:
1. Open a document with child documents, each comprising divisions;
2. Show the outline pane. You can see childs' divisions;
3. Select (view) one of the childs;
4. Close this child doc. The focus comes back to the master doc;
5. Click in the outline pane at some point corresponding to the child doc you closed. LyX crashes with SIGSEGV (instead of reopening the child...).


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@18939 a592a061-630c-0410-9148-cb99ea01b6c8
2007-06-29 10:31:51 +00:00
Abdelrazak Younes
3cf838c4d1 Fix a few quirks and a crash introduced by a bad manual merge of local tree at revision 18828. Sorry.
* LyXView::setBuffer(): update labels and toc only if we change parents.
* LyXView::loadLyXFile(): 
  - update labels in _any_ case and before setting the Buffer.
  - update GUI controls in case we move to a saved position.




git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@18829 a592a061-630c-0410-9148-cb99ea01b6c8
2007-06-19 17:04:09 +00:00
Abdelrazak Younes
144e721b65 Polish revision 18825 and fix some remaining issues with child documents. The diff is bigger than it should because of white space issues.
* buffer_funcs.{h,cpp}: new checkAndLoadLyXFile() transferred from BufferView::loadLyXFile().

* BufferView::loadLyXFile(): deleted.

* LyXView::loadLyXFile(): simplify logic and fix some issues:
  - buggy child document leads to crash due to error list dialog.
  - ensure that we switch to buffer if there's some errors.
  - use LyXView::setBuffer() instead of repeating code.



git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@18828 a592a061-630c-0410-9148-cb99ea01b6c8
2007-06-19 16:03:47 +00:00
Richard Heck
d3003c1022 Polish the Toc and labels updating when loading a child document.
Fix Bug 3860: Toc crash when loading a child documents.

* BufferView::loadLyXFile(): simplify, transfer last part to
  LyXView::loadLyXFile().
  Change return value to Buffer created by load (or 0 if none).
  Ultimately, this should all be moved to buffer_funcs.cpp, as it is no
  longer needed here.

* Buffer::setParentName(): small fix to avoid recursive includes.

* LyXView:
- setBuffer(): properly update the labels and the Toc if this is [LOAD Child
  Document] command. Move buffer connection and disconnection, simplifying
  earlier code.
- loadLyXFile(): get some code from BufferView::loadLyXFile() and from
  LyXFunc::LFUN_BUFFER_CHILD_OPEN, properly handle the child document case.
  There's a lot of overlap with setBuffer() here. This needs cleaning.

* LyXFunc: add optional argument to LFUN_BUFFER_CHILD_OPEN to indicate if
  the document is being opened by LyX itself rather than the user (as on 
  View>DVI, for example).

* LyX: adapt to loadLyXFile() API changes.

* insets/InsetInclude: use LFUN_BUFFER_CHILD_OPEN rather than calling
  loadLyXFile() directly. Make use of new optional argument.

With this in place, the only thing missing for proper multipart document support is to automatically update the parent Buffer when switching from the parent Buffer. This would be very useful when you work with multiple document sharing the same child documents (as I often do).



git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@18825 a592a061-630c-0410-9148-cb99ea01b6c8
2007-06-19 14:56:52 +00:00
Abdelrazak Younes
dbd31072c4 Fix bug 3850.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@18740 a592a061-630c-0410-9148-cb99ea01b6c8
2007-06-11 16:38:45 +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
Richard Heck
558f51f5e7 Fix bug 3701: Allow buffer dependent dialogs to remain open when buffer is closed, so long as there is still an open buffer.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@18651 a592a061-630c-0410-9148-cb99ea01b6c8
2007-06-04 14:09:51 +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
Richard Heck
431caa02e3 Fix for bug 3488. Need to reconnect buffer if load of new buffer fails. Also added comments regarding possible fix for bug 3701.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@18526 a592a061-630c-0410-9148-cb99ea01b6c8
2007-05-26 17:38:26 +00:00
Abdelrazak Younes
9092bffc32 This patch solves this crash (due to an assertion):
1) Open EmbeddedObject.lyx
2) Open Toc
3) Click on section 7.2.2 which is in the second child document
4) assertion.

This commit adds proper support for multi-part documents. With this each child document has access to the _full_ TOC tree (including LOT and LOF). This enables to switch between master and child document using the TOC.

* buffer_funcs.cpp:
  - updateLabels(): do not emit Buffer::structureChanged() signal for child document
  - checkBufferStructure(): update the structure of the master document.

* ControlToc.cpp: always use the TocBackend of the master document.

* LyXView::connectBuffer(): connect structureChanged() of master document.

* TocBackend:
  - TocItem: get rid of child_ member.
  - TocBackend::item(): only compare items from the same document.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@18386 a592a061-630c-0410-9148-cb99ea01b6c8
2007-05-17 19:19:37 +00:00
André Pönitz
e0d54dd3b4 LyXText -> Text
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@18103 a592a061-630c-0410-9148-cb99ea01b6c8
2007-04-29 23:33:02 +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
André Pönitz
32871c1284 rename InsetBase to Inset
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@18089 a592a061-630c-0410-9148-cb99ea01b6c8
2007-04-29 13:39:47 +00:00
Bo Peng
e36fba33ab Last (?) batch of renames:
src/frontends/Alert.h src/frontends/alert.h
src/frontends/Alert.cpp src/frontends/alert.cpp
src/frontends/Alert_pimpl.cpp src/frontends/alert_pimpl.cpp
src/frontends/qt4/Alert_pimpl.cpp src/frontends/qt4/alert_pimpl.cpp
src/frontends/controllers/ButtonPolicies.cpp src/frontends/controllers/ButtonPolicy.cpp
src/frontends/controllers/ButtonPolicies.h src/frontends/controllers/ButtonPolicy.h
src/insets/InsetEnv.cpp src/insets/InsetEnvironment.cpp
src/insets/InsetEnv.h src/insets/InsetEnvironment.h
src/mathed/MathMacroTable.h src/mathed/MacroTable.h
src/mathed/MathMacroTable.cpp src/mathed/MacroTable.cpp
src/lyx_cb.h src/callback.h
src/lyx_cb.cpp src/callback.cpp
src/UpdateFlags.h src/update_flags.h


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@18076 a592a061-630c-0410-9148-cb99ea01b6c8
2007-04-28 20:44:46 +00:00
André Pönitz
42123ab8a7 rename LCursor->Cursor
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@18040 a592a061-630c-0410-9148-cb99ea01b6c8
2007-04-26 14:56:30 +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