Commit Graph

376 Commits

Author SHA1 Message Date
Abdelrazak Younes
2fe0529df8 Forgot this...
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15698 a592a061-630c-0410-9148-cb99ea01b6c8
2006-11-03 00:21:48 +00:00
Bo Peng
f49f2f6e22 New bookmarks implementation:
* src/lyxfunc.C: handle LFUN_BOOKMARK_GOTO and LFUN_BOOKMARK_CLEAR
	* src/session.h/C: store bookmarks here.
	* src/lfuns.h, src/LyXAction.C: add LFUN_BOOKMARK_CLEAR
	* src/BufferView.h/C: remove saved_positions, move LFUN_BOOKMARK_GOTO to lyxfunc.C
	* src/MenuBackend.h/C: add Bookmarks menu type
	* lib/ui/stdmenus.ui: change bookmarks menu items


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15673 a592a061-630c-0410-9148-cb99ea01b6c8
2006-11-01 15:55:17 +00:00
Abdelrazak Younes
eb651c3d61 Move BufferView cached pointer out of LyXText:
* LyXText
  - bv(), bv_owner, : deleted.
  - These methods now need a (Buffer const &) argument: getFont(), applyOuterFont(), getLayoutFont(), getLabelFont(), setCharFont(), setLayout(), singleWidth(), leftMargin(), rightMargin(), computeRowMetrics(), isMainText(), spacing(), isRTL(), cursorX(), rowBreakPoint(), setRowWidth(), labelFill(), labelEnd().
  - These methods now need a (BufferView const &) argument and are propably candidates for future removal when 1.6 is opened for development: redoParagraph(), x2pos(), getRowNearY(), getColumnNearX(), checkInsetHit(), setHeightOfRow().
  - recUndo(): now need a LCursor argument.
 
* CoordCache::get(LyXText const *, pit_type):
  - now const.
  - use const_iterator instead of iterator.

* FontIterator:
  - add (Buffer const &) argument to ctor
  - buffer_: new const reference to applicable BufferView.

* InsetBase
  - xo(), yo(), covers() and neverIndent() are now const.

* InsetText::setViewCache(): deleted

All other changes are due to the LyXText and InsetBase API changes.



 
  

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15618 a592a061-630c-0410-9148-cb99ea01b6c8
2006-10-30 12:45:33 +00:00
Bo Peng
b9c604e968 session: rename some functions
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15607 a592a061-630c-0410-9148-cb99ea01b6c8
2006-10-29 20:01:00 +00:00
Georg Baum
7fd7b25a3c Fix more member variable initialization order warnings from gcc.
Does nobody care about this???



git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15604 a592a061-630c-0410-9148-cb99ea01b6c8
2006-10-29 16:16:00 +00:00
Bo Peng
0fc684e6e6 class session reorganization
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15581 a592a061-630c-0410-9148-cb99ea01b6c8
2006-10-27 14:18:03 +00:00
Abdelrazak Younes
128a8ef3e8 This commit fixes 3 crashes when reverting a document:
1) crash in GuiWorkArea::paintEvent(), this one is solved by by encapsulating the file loading in LyXView by busy(true)/busy(false) and by disabling/enabling the work area update in GuiView::busy().

2) crash in the cursor blinking because the cursor is timed out at the moment you click on "Revert". So the blinking cursor is now disabled/enabled in GuiView::busy().

3) crash in BufferView::setBuffer() because the current buffer was already closed folling the "revert" command. 
* BufferView::loadLyXFile(): set buffer_ to 0 in case of a reload (when document is reverted)

* LyXView:
  - busy() is not const anymore (work_area_ is modified in GuiView) 
  - loadLyXFile(): encapsulate the file loading with busy(true)/busy(false)
  - setBuffer(): encapsulate the buffer-switching with busy(true)/busy(false)

* GuiView::busy()
  - disable/enable workarea updates.
  - disable/enable blinking cursor.

* WorkArea: new startBlinkingCursor() and stopBlinkingCursor() methods.

* rowpainter.C:
  - paintText(): make sure there is a Buffer from which to paint.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15556 a592a061-630c-0410-9148-cb99ea01b6c8
2006-10-26 13:29:10 +00:00
Abdelrazak Younes
e0c193fa92 add some initialization and some assertion.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15554 a592a061-630c-0410-9148-cb99ea01b6c8
2006-10-26 08:10:22 +00:00
Asger Ottar Alstrup
2c0d4b31ee - Fix sign error in Cursor::setSelection
- Add debugging input
- If cursor::dispatch does not handle the func, then it should not request an update
- Dump metrics cache after redraw


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15443 a592a061-630c-0410-9148-cb99ea01b6c8
2006-10-21 11:29:34 +00:00
Asger Ottar Alstrup
6ac15c5bb9 - Dump the inset position cache as well
- More debugging printing stuff


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15441 a592a061-630c-0410-9148-cb99ea01b6c8
2006-10-21 10:56:36 +00:00
André Pönitz
6c300f72a2 move everything into namespace lyx
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15422 a592a061-630c-0410-9148-cb99ea01b6c8
2006-10-21 00:16:43 +00:00
Asger Ottar Alstrup
e035d673ff - Dump parpos cache if you use -dbg workarea on command line
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15419 a592a061-630c-0410-9148-cb99ea01b6c8
2006-10-20 20:57:21 +00:00
Georg Baum
ffe7cb1b78 Use the new InsetCommandParams interface (inset part), from Ugras and me
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15413 a592a061-630c-0410-9148-cb99ea01b6c8
2006-10-20 16:12:49 +00:00
Abdelrazak Younes
205e59a03a revert change in revision 15375. It had bad side effect on buffer-end and buffer-begin.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15401 a592a061-630c-0410-9148-cb99ea01b6c8
2006-10-20 12:38:26 +00:00
Lars Gullik Bjønnes
0d449056ef Output docbook as utf8. Probably quite a bit more work needed, but then help form a docbook person is needed.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15387 a592a061-630c-0410-9148-cb99ea01b6c8
2006-10-19 21:00:33 +00:00
Abdelrazak Younes
fc15b14b50 Hopefully temporary fix for the Tabular crash problem. Of course, this is not the right fix but I spend hours debugging through this code without success. So unless someone knows that code better...
* BufferView::updateMetrics(): add a big FIXME and don't clear out the coord_cache_.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15375 a592a061-630c-0410-9148-cb99ea01b6c8
2006-10-19 16:02:12 +00:00
Abdelrazak Younes
4cc7a7708e This commit fixes a crash when accessing a math inset. This was due to an invalid CursorSlice::text() null pointer accessed in InsetMathNest::cursorPos():
CoordCache & coord_cache = sl.text()->bv()->coordCache();

As you can see, I used this indirection to access the BufferView::CoordCache(). Bad luck, the passed CursorSlice was not completely valid inside a mathed inset, hence the crash. My solution is to pass BufferView to InsetBase::cursorPos() and all its derivative.

* InsetBase::cursorPos(): pass BufferView const &

* bufferview_funcs::coordOffset(): ditto.




git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15356 a592a061-630c-0410-9148-cb99ea01b6c8
2006-10-17 16:23:27 +00:00
Abdelrazak Younes
562d55989a MacOSX compile fix: The class Point conflicted with a struct defined in MacTypes.h.
* coordcache.[Ch]: put everything in the LyX namespace.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15340 a592a061-630c-0410-9148-cb99ea01b6c8
2006-10-15 22:32:56 +00:00
Abdelrazak Younes
d37fae169c In order to support multiple LyXView each BufferView needs its own CoordCache. This is what's implemented in this commit.
theCoords is now a thing of the past and all CoordCache accesses are done via BufferView::coordCache() now. I had to modify a number of methods to pass BufferView.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15324 a592a061-630c-0410-9148-cb99ea01b6c8
2006-10-13 16:44:44 +00:00
Georg Baum
79c876d4c3 Convert labels to unicode
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15305 a592a061-630c-0410-9148-cb99ea01b6c8
2006-10-12 10:50:45 +00:00
Michael Schmitt
1b5f5e58ed Change tracking:
* src/paragraph.h: remove enum ChangeTracking;
	remove default parameters for insertChar and insertInset
	* src/BufferView.h: constify getCurrentChange()
	* src/changes.h: make Change constructor explicit
	* src/insets/*.C: 
	* src/*.C: adjust accordingly; add FIXMEs


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15302 a592a061-630c-0410-9148-cb99ea01b6c8
2006-10-11 20:01:32 +00:00
Abdelrazak Younes
28ad960255 This commit cleans up everything related to singleton. The other important change is that lyx::dispatch() and lyx::getStatus become _the_ official way to use LyXFunc equivalent methods.
* lyxfunc.h:
  - theLyXFunc(): new function in the global namespace.
  - lyx::dispatch():  new function in the lyx namespace.
  - lyx::getStatus():  new function in the lyx namespace.

* bufferlist.h:
  - theBufferList(): new function in the global namespace.

* Clipboard.h:
  - theClipboard(): new function in the global namespace.

* Selection.h:
  - theSelection(): new function in the global namespace.

* FontLoader.h:
  - theFontLoader(): new function in the global namespace.

* FontMetrics.h:
  - theFontMetrics(LyXFont const &): new function in the global namespace.

* Application.C: implements the functions defined above.

* LyXView.h:
  - getLyXFunc(): deleted.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15298 a592a061-630c-0410-9148-cb99ea01b6c8
2006-10-11 17:24:46 +00:00
Abdelrazak Younes
f5f4b31f4a This commit is converting everything related to browsing to unicode (qt4 only).
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15293 a592a061-630c-0410-9148-cb99ea01b6c8
2006-10-09 16:33:20 +00:00
Georg Baum
6ada61e182 Rename namespace Alert to lyx::frontend::Alert.
This prevents a name clash with Qt 4.2.0 on OS X.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15267 a592a061-630c-0410-9148-cb99ea01b6c8
2006-10-07 16:47:54 +00:00
Abdelrazak Younes
00edcc582f This commit is a big rework of the FontLoader/FontMetrics interaction. Only Qt4 for now, I would be grateful is somebody steps up for qt3 and gtk.
Basically, I replaced all methods in the font_metrics namespace by a proper virtual interface FontMetrics. The FontLoader is _the_ container for FontMetrics.

This patch should also bring some optimizations in a number of place in the code. This is because we do not need any more to search for the LyXFont at each font_metrics call. In effect, the speed advantage is not as sensible and this is a bit deceiving considering that this was my primary motivation behind the patch. But I like the patch anyway as it cleans up the relation and interfacing between fonts, metrics and frontends.

* frontends/FontMetrics.h: new virtual interface. Renamed from font_metrics.h

* qt4/GuiFontMetrics: corresponding qt4 implememtation. Renamed from qfont_metrics.C. The smallCaps particular case treatment has been transfered here as well as the width cache for MacOSX and Windows.

* qt4/QLPainter.C: the smallCapsText has been reworked to return the width of the drawn text.C

all other files: replace font_metric helper function call with corresponding FontMetrics method calls.



git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15265 a592a061-630c-0410-9148-cb99ea01b6c8
2006-10-07 16:15:06 +00:00
Michael Schmitt
eb11f2c542 Change tracking:
* rename output_changes to outputChanges
 * rename tracking_changes to trackChanges
 * add FIXMEs for later revision
 * remove trackChanges(); the CT data structure will always be set up
 * decouple LFUNs changes-output/change-accept/change-reject/
   all-changes-accept/all-changes-reject from LFUN changes-track



git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15261 a592a061-630c-0410-9148-cb99ea01b6c8
2006-10-06 18:53:35 +00:00
Michael Schmitt
4160f069a7 * src/LyXAction.C:
* src/BufferView.C:
	* src/lfuns.h: introduce LFUN_CHANGE_NEXT

	* src/text3.C: activate LFUN_ACCEPT/REJECT_CHANGE only in CT mode

	* src/rowpainter.C: reduce change bar width
	* src/rowpainter.h: enlarge change bar margin

	* lib/ui/stdmenus.ui: add "Next Change" in "Navigate" menu


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15249 a592a061-630c-0410-9148-cb99ea01b6c8
2006-10-04 21:43:40 +00:00
Abdelrazak Younes
ca5411f913 This commit introduces Application_pimpl and cleanup the header includes of the affected .C files.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15182 a592a061-630c-0410-9148-cb99ea01b6c8
2006-09-29 22:06:28 +00:00
Abdelrazak Younes
1396c73262 replace global variable bufferlist with Application class member access.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15161 a592a061-630c-0410-9148-cb99ea01b6c8
2006-09-27 10:24:13 +00:00
Abdelrazak Younes
b171e5f150 Free BufferView from LyXView!
* BufferView
  - layoutChanged: new boost signal.
  - LyXView owner(), owner_: deleted

* text3.C
  - emit BufferView::layoutChanged instead of calling LyXView::setLayout directly
  - LFUN_MOUSE_RELEASE: delete LyXView updateMenubar() and updateToolbars() direct calls.
    The update is of both bars is done in WorkArea::dispatch().

* WorkArea.C
  - dispatch(): add LyXView updateMenubar() call.

* LyXView
  - connects to BufferView::layoutChanged directly to Toolbars::setLayout()
  - setLayout(): deleted.

* qt4/GuiImplementation: modify BufferView construction (without LyXView).

All other files: cleanup header declaration of LyXView.h


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15153 a592a061-630c-0410-9148-cb99ea01b6c8
2006-09-26 10:06:46 +00:00
Abdelrazak Younes
12a82dd4f2 This commit replaces BufferView->LyXView->Gui->[selection,clipboard] with theApp->[selection,clipboard]
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15125 a592a061-630c-0410-9148-cb99ea01b6c8
2006-09-22 15:02:41 +00:00
Abdelrazak Younes
311ac9b192 This is the continuation of my BufferView/LyXView cleanup. This commit replaces BufferView->LyXView->getDialogs().[show(), update()] with BufferView signal emissions.
The associated WorkArea is then responsible to connect these signals to its LyXView parent.

* BufferView:
  - showDialog, showDialogWithData, showInsetDialog: new boost signals

* LyXView:
  - connectBufferView(), disconnectBufferView(): new method in charge of the connection/disconnection of the above signal to associate private methods (showDialog(), etc).

* WorkArea
  - setBufferView(): will connect/disconnect the BufferView to its LyXView parent.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15068 a592a061-630c-0410-9148-cb99ea01b6c8
2006-09-19 13:36:20 +00:00
Abdelrazak Younes
1a786c8e17 * Transfer Intl member from LyXView to BufferView.
* delete unused offset_ref() method.




git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15030 a592a061-630c-0410-9148-cb99ea01b6c8
2006-09-17 10:03:00 +00:00
Abdelrazak Younes
397605290d delete unsetXSel() method
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15025 a592a061-630c-0410-9148-cb99ea01b6c8
2006-09-17 08:48:06 +00:00
Abdelrazak Younes
574e4444a8 Move X11 specific selection code from BufferView to the frontends.
* BufferView:
 - selectionRequested(): renamed to requestSelection() and cleaned up.
 - selectionLost(): renamed to clearSelection()

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15024 a592a061-630c-0410-9148-cb99ea01b6c8
2006-09-17 08:35:12 +00:00
Abdelrazak Younes
1a0f5eaf8d deledelete BufferView::available() method because buffer serves the same purpose.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15018 a592a061-630c-0410-9148-cb99ea01b6c8
2006-09-16 14:00:13 +00:00
Abdelrazak Younes
972e1eec7c delete BufferView::text() method and add two FIXME in text.C
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15017 a592a061-630c-0410-9148-cb99ea01b6c8
2006-09-16 13:34:09 +00:00
Abdelrazak Younes
bcb71b1fbe Merge BufferView and BufferView_pimpl
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15013 a592a061-630c-0410-9148-cb99ea01b6c8
2006-09-16 10:08:51 +00:00
Abdelrazak Younes
4cdd558c70 * BufferView: delete firstLayout()
* LyXView: save two setLayout() calls that are done in updateLayoutChoice() anyway.



git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@14833 a592a061-630c-0410-9148-cb99ea01b6c8
2006-08-24 16:55:31 +00:00
Jean-Marc Lasgouttes
020a793ef9 Fix crash when cursor is in an empty script and the user clicks
in the text.

	* src/insets/insetbase.h (notifyCursorLeaves): return a bool
	indicating whether cursor is invalidated.

	* src/mathed/math_nestinset.C (notifyCursorLeaves): 
	* src/mathed/math_hullinset.C (notifyCursorLeaves): adapt to
	prototype change.

	* src/mathed/math_scriptinset.[Ch] (notifyCursorLeaves): return
	true when an inset has been deleted.

	* src/BufferView.C (mouseSetCursor): do not call dEPM when cursor
	is invalidated by notifyCursorLeaves.



git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@14796 a592a061-630c-0410-9148-cb99ea01b6c8
2006-08-17 21:32:04 +00:00
Abdelrazak Younes
dd429b7f26 This commit should hopefully fix all scrolling issues. As an added bonus, mouse scrolling should be faster due to a deleted call to BufferView::update() that was not usefull (the important call to updateMetrics() is done in WorkArea()).
Log:
* BufferView/pimpl:
  - scrollDocView(): call to BufferView::update() deleted.
  - scrollDocView(): second part is now in setCursorFromScrollbar()
  - setCursorFromScrollbar(): new method.

* WorkArea:
  - setBufferView(): show the cursor immediately
  - redraw(): call to updateScrollbar()
  - updateScrollbar(): new method
  - scrollBufferView(): fix it and show the cursor immediately.

* qt4/GuiWorkArea
  - setScrollbarParams(): now disable the Qt scrollbar tracking.
  - paintEvent(): scrollbar related code deleted

* qt3/QWorkArea
  - setScrollbarParams(): now disable the Qt scrollbar tracking.

* qt3/QContentPane
  - paintEvent(): scrollbar related code deleted




git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@14704 a592a061-630c-0410-9148-cb99ea01b6c8
2006-08-16 15:24:38 +00:00
Abdelrazak Younes
f475b7bde6 This commit transfers most of the LyXView use from BufferView to WorkArea, most notably:
LyXView::updateLayoutChoice();
LyXView::updateToolbars();
LyXView::getLyXFunc().processKeySym(key, state);
LyXView::dispatch(cmd);

* BufferView
  - workAreaKeyPress(): deleted

* BufferView::pimpl
  - gui(): deleted
  - workAreaKeyPress(): deleted
  - workAreaDispatch(): special FuncRequest transfered to WorkArea::dispatch()

* WorkArea
  - WorkArea(): now needs a LyXView
  - lyx_view: new member
  - scrollBufferView(): new method

* qt4/GuiWorkArea: adapted to above changes
* qt4/GuiImplementation: ditto
* qt3/GuiWorkArea: ditto
* qt3/QContentPane: ditto
* gtk/GuiWorkArea: ditto
* gtk/GWorkArea: ditto



git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@14695 a592a061-630c-0410-9148-cb99ea01b6c8
2006-08-15 21:57:23 +00:00
Jean-Marc Lasgouttes
d147703f9b unused code I forgot
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@14694 a592a061-630c-0410-9148-cb99ea01b6c8
2006-08-15 15:43:33 +00:00
Abdelrazak Younes
a4032074c9 This commit continues the drastic diet operated on BufferView. It removes all boost signal connections from BufferView::pimpl and put them in LyXView. LyXView already inherits from boost::signals::trackable so this is not a big deal. If you look closely at the signal connections, it all makes sense IMO.
With this change, the only difference between BufferView.h and BufferView_pimpl.h is "cursor.h" so I think it is time to merge the two classes at last.

BufferView:
* showErrorList(), getErrorList(): transfered to LyXView.

BufferView::pimpl
* addError(), showReadonly(), connectBuffer(), disconnectBuffer(): transfered to LyXView.

CutAndPaste.C: adapted to API changes
frontends/controllers/ControlErrorList.C: ditto
lyxfunc.C: ditto 


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@14458 a592a061-630c-0410-9148-cb99ea01b6c8
2006-07-14 21:47:48 +00:00
Abdelrazak Younes
93f7adabbb This commit removes the needRedraw() interface and simplify the screen update procedure. It also fixes all crash problems.
The performance may suffer a bit because we do the second drawing step in all cases. This could be possibly optimized out by checking the return value of the BufferView::update() method in "lyxfunc.C:1610". But it is maybe better to keep those two parts of the frontend ignorant of each other: the event handling and the drawing.

BufferView:
* needRedra(), need_redraw_: deleted.
* updateMetrics(): now public.
* update(): only do the first drawing step. Returns true if a full updateMetrics is needed before drawing on screen.

WorkArea:
* redraw(): no check on BufferView::needRedraw(), call updateMetrics() unconditionally. 
* processKeySim(): uneeded "redraw()" call commented out. When/if the call to LyXView::redrawWorkArea() in "lyxfunc.C:1610" is not needed anymore, this line should be uncommented out.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@14456 a592a061-630c-0410-9148-cb99ea01b6c8
2006-07-14 09:56:21 +00:00
Abdelrazak Younes
e1a5cb74a8 GUI API Cleanup step 3: merge with "younes" branch.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@14448 a592a061-630c-0410-9148-cb99ea01b6c8
2006-07-13 16:37:55 +00:00
Lars Gullik Bjønnes
e7b69c030e Extracted from r14281
* BufferView:
    - hideCursor(): deleted (for real)
* frontends/GuiCursor:
    - deleted. Functionality transfered to WorkArea.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@14389 a592a061-630c-0410-9148-cb99ea01b6c8
2006-07-08 22:55:22 +00:00
Lars Gullik Bjønnes
28c5673ff4 Extracted from r14281
* frontends/LyXView:
	- redrawWorkArea(): new temporary method called from within
	  BufferView::pimpl::update() that calls WorkArea::redraw()
	  in order to do the actual screen redrawing.
* frontends/WorkArea:
	- the redraw() method now check if the the attached bufferView
	  needs a screen redraw().
* BufferView:
	- needsRedraw(): new method for WorkArea::redraw()


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@14381 a592a061-630c-0410-9148-cb99ea01b6c8
2006-07-08 20:24:32 +00:00
Lars Gullik Bjønnes
1ff081141d Extraced from r14281 from the younes branch.
* BufferView, BufferView::pimpl:
	- metrics_info_: private variable holding ViewMetricsInfo
	- viewMetricsInfo(): accessor function
	- updateMetrics(): renamed from metrics(), sets metrics_info_
	- update(): change to use updateMetrics()

* frontends/WorkArea:
	- redraw(): get the ViewMetricsInfo through accessor to BufferView.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@14331 a592a061-630c-0410-9148-cb99ea01b6c8
2006-07-04 00:04:46 +00:00
Lars Gullik Bjønnes
ee1871ef71 Partially extracted from r14281 from the younes branch.
* BufferView, BufferView::Pimpl:
	- painter(): remove method
* rowpainter.C:
	- paintText(): get painter through LyXView and WorkArea


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@14330 a592a061-630c-0410-9148-cb99ea01b6c8
2006-07-03 22:54:30 +00:00
Lars Gullik Bjønnes
b1a87cc778 Extracted from r14281 from the younes branch.
* BufferView,BufferView::Pimple:
	-  workArea_ removed
* frontends/LyXView:
	- now contains a pointer reference to the current
	  WorkArea instead of the BufferView.
        - workArea(): temporary access method
* frontends/WorkArea:
	- bufferView(): new access methods.

* GuiImplementation: updated due to above changes


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@14329 a592a061-630c-0410-9148-cb99ea01b6c8
2006-07-03 22:31:51 +00:00
Lars Gullik Bjønnes
752cab15d7 Second part of r14315 from the younes branch:
* BufferView and Bufferview::pimpl: repaintAll() methods deleted.

	* rowpainter.C:
 		- refreshInside : new variable in the anonymous namespace.
 		- use of refreshInside instead of the repaintAll() methods


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@14324 a592a061-630c-0410-9148-cb99ea01b6c8
2006-07-03 20:37:34 +00:00
Lars Gullik Bjønnes
fb97c0689b First part of r14315 from the younes branch:
* BufferView and BufferView::pimpl:
   		- getClipboard, stuffClipboard, haveSelection: deleted

	* CutAndPaste.C: use BufferView::owner()->gui().clipboard()
	* insettabular.C: ditto
	* math_nestinset.C: ditto
	* text3.C: ditto


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@14323 a592a061-630c-0410-9148-cb99ea01b6c8
2006-07-03 20:19:33 +00:00
Abdelrazak Younes
c99a986c16 header cleanups and removal of unused methods.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@14258 a592a061-630c-0410-9148-cb99ea01b6c8
2006-06-28 13:23:39 +00:00
Abdelrazak Younes
3287c44f33 GUI API Cleanup step 2: merge of the "younes" branch.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@14231 a592a061-630c-0410-9148-cb99ea01b6c8
2006-06-26 16:55:35 +00:00
Abdelrazak Younes
d8ae51dbe1 This is the merging of the GUI API cleanup branch that was developed in svn+ssh://svn.lyx.org/lyx/lyx-devel/branches/personal/younes.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@14152 a592a061-630c-0410-9148-cb99ea01b6c8
2006-06-20 08:39:16 +00:00
Georg Baum
2392e19c66 Fix crash that occurs if the cursor is in a table cell when the document class
is changed
	* src/cursor.C: remove unused 'using std::swap'
	* src/BufferView.C: ditto

	* src/CutAndPaste.[Ch]
	(switchBetweenClasses): replace ParagraphList argument with InsetText
	argument. This avoids an unnecessary swap in lyxfunc.C.

	* src/CutAndPaste.C
	(pasteSelectionHelper): Adjust to the changes above
	(pasteSelectionHelper): Use ParagraphList::swap instead of std::swap.
	This fixes the crash.

	* src/lyxfunc.C
	(LyXFunc::dispatch): Adjust to switchBetweenClasses changes


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@13895 a592a061-630c-0410-9148-cb99ea01b6c8
2006-05-21 17:33:03 +00:00
Lars Gullik Bjønnes
67d576f75e * frontends/WorkArea.h(workAreaResize, scrollDocView, workAreaKeyPress,
dispatch, selectionReuqested, selectionLost): remove signals

* BufferView.[Ch] (selectionRequested, selectionLost, workAreaResize,
  workAreaKeyPress, workAreaDispatch): add forwarding functions to the pimpl

* BufferView_pimpl.C (Pimpl): Remove the setup of the now deleted signals,
  also remove corresponding connection objects.

* frontends/xforms/XWorkArea.h:
* frontends/qt2/QWorkArea.h:
* frontends/qt4/QWorkArea.h:
* frontends/gtk/GWorkArea.h: add LyXView as class variable view_ (qt
  classes also get view() medthod)

* frontends/qt2/QWorkArea.C:
* frontends/qt2/QContentPane.C:
* frontends/qt4/QWorkArea.C:
* frontends/xforms/XWorkArea.C:
* frontends/gtk/GWorkArea.C: Change from calling signals to call
  the functions directly through view_.view()


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@13671 a592a061-630c-0410-9148-cb99ea01b6c8
2006-04-13 18:58:48 +00:00
Lars Gullik Bjønnes
3b9338a3a8 Whitespace cleanup.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@13565 a592a061-630c-0410-9148-cb99ea01b6c8
2006-04-05 23:56:29 +00:00
Lars Gullik Bjønnes
b2effebe20 2006-04-06 Bo Peng <ben.bob@gmail.com>
session support that
    * handle recent opened files (previously lastfile)
    * save/load bookmarks when quit lyx
    * save/load buffer cursor location whan a file is closed
    * save/load windows position and size when a file is closed
    * add rc entries load_session, use_lastfilepos,
      screen_geometry_height, screen_geometry_width,
      screen_geometry_xysaved.
    * trigger LFUN_QUIT when Alt-F4 or close-button is used to close lyx.
    * remove lastfile.h lastfile.C (merged in session.h, session.C)


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@13561 a592a061-630c-0410-9148-cb99ea01b6c8
2006-04-05 22:56:18 +00:00
Martin Vermeer
22cdac5d5d Fix bug 2195: Slowness in rendering inside insets, especially on the Mac
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@13328 a592a061-630c-0410-9148-cb99ea01b6c8
2006-03-10 16:10:35 +00:00
Jean-Marc Lasgouttes
6c099a65f8 bug 2163: mouse release does not properly reset cur.selection()
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@10671 a592a061-630c-0410-9148-cb99ea01b6c8
2005-12-19 11:47:13 +00:00
Jean-Marc Lasgouttes
3246cc9a4a bug 2109: trigger dEPM when moving cursor with mouse
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@10637 a592a061-630c-0410-9148-cb99ea01b6c8
2005-12-01 10:28:50 +00:00
André Pönitz
282f86fbb1 send UpdatableInset down the way of the Dodo
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@10228 a592a061-630c-0410-9148-cb99ea01b6c8
2005-07-15 22:10:25 +00:00
Martin Vermeer
a683500118 Axe processEvents, fix cursor draw artifacts, put update flags into an enum,
allow single-paragraph update


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@9986 a592a061-630c-0410-9148-cb99ea01b6c8
2005-05-31 14:40:30 +00:00
Georg Baum
bff9db34d9 more text cleanups from Michael
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@9958 a592a061-630c-0410-9148-cb99ea01b6c8
2005-05-19 18:53:09 +00:00
Jean-Marc Lasgouttes
3f4d173edf fix several GOTO lfuns (bug 1787, bug 616, bug 781 and bug 835)
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@9663 a592a061-630c-0410-9148-cb99ea01b6c8
2005-02-22 11:41:22 +00:00
Lars Gullik Bjønnes
aa491cdb98 dociterator dont inherit from std::vector and updates
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@9602 a592a061-630c-0410-9148-cb99ea01b6c8
2005-02-08 13:18:05 +00:00
Lars Gullik Bjønnes
2454264216 ws changes mostly
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@9592 a592a061-630c-0410-9148-cb99ea01b6c8
2005-02-06 00:30:11 +00:00
Angus Leeming
e22c5f4d97 Asger's commentary, const-correct and bug-squashing little beauty.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@9558 a592a061-630c-0410-9148-cb99ea01b6c8
2005-01-31 16:29:48 +00:00
Alfredo Braunstein
a2cd656e25 CoordBranch merge
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@9325 a592a061-630c-0410-9148-cb99ea01b6c8
2004-11-30 01:59:49 +00:00
Alfredo Braunstein
ed064bdee6 par->pit renaming
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@9300 a592a061-630c-0410-9148-cb99ea01b6c8
2004-11-24 21:53:46 +00:00
Jean-Marc Lasgouttes
09b67226eb fix backwards search (bug 1666)
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@8988 a592a061-630c-0410-9148-cb99ea01b6c8
2004-09-17 16:28:47 +00:00
Jean-Marc Lasgouttes
d194cfffa5 get rid of ownerPar(), which was super slow; fix tabular crash due to recently introduced BOOST_ASSERTs
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@8951 a592a061-630c-0410-9148-cb99ea01b6c8
2004-08-16 00:32:04 +00:00
André Pönitz
edbef46cd7 move around stuff, remove unneeded declarations etc
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@8929 a592a061-630c-0410-9148-cb99ea01b6c8
2004-08-14 19:55:00 +00:00
Angus Leeming
b03580df17 A layout engine for XForms.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@8704 a592a061-630c-0410-9148-cb99ea01b6c8
2004-04-28 17:22:05 +00:00
Alfredo Braunstein
db2c1d5917 the 'fitCursor fix'
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@8624 a592a061-630c-0410-9148-cb99ea01b6c8
2004-04-07 20:20:15 +00:00
Lars Gullik Bjønnes
68b7ef25fb simple ws changes only
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@8594 a592a061-630c-0410-9148-cb99ea01b6c8
2004-04-03 08:37:12 +00:00
Alfredo Braunstein
e4025acc32 revert last commits. I've detected problems with it (i.e. it is not complete as is)
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@8593 a592a061-630c-0410-9148-cb99ea01b6c8
2004-04-02 22:43:14 +00:00
Alfredo Braunstein
0d47b55a84 fitcursor work
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@8591 a592a061-630c-0410-9148-cb99ea01b6c8
2004-04-02 22:06:21 +00:00
Alfredo Braunstein
d34600cd3e add BufferView::getStatus and use it + some lyx::find fixes
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@8582 a592a061-630c-0410-9148-cb99ea01b6c8
2004-04-01 08:58:45 +00:00
Alfredo Braunstein
303a6c126c s/DocumentIterator/DocIterator/g a.k.a showing off my sed abilities. Sorry for the cvs spam.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@8574 a592a061-630c-0410-9148-cb99ea01b6c8
2004-03-31 19:11:56 +00:00
Alfredo Braunstein
3d1fe03e56 some spellcheck fixes
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@8572 a592a061-630c-0410-9148-cb99ea01b6c8
2004-03-31 17:58:11 +00:00
Alfredo Braunstein
610e905ed3 change iterators ctors, implement backwardPos
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@8562 a592a061-630c-0410-9148-cb99ea01b6c8
2004-03-30 08:18:09 +00:00
Alfredo Braunstein
3e80b0b318 the pariterator stuff
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@8554 a592a061-630c-0410-9148-cb99ea01b6c8
2004-03-28 22:00:22 +00:00
André Pönitz
206a1c6a02 new InsetIterator
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@8543 a592a061-630c-0410-9148-cb99ea01b6c8
2004-03-27 12:42:10 +00:00
André Pönitz
0d43ba149a the stuff from the sneak preview:
For one, it still contains a few things that are already in CVS (the
'brown paperbag' changes).

Secondly, this changes the ParagraphList to a std::vector but does not
yet take full advantage of it except removing LyXText::parOffset() and
similar.

I had an extensive talk with my profiler and we are happy nevertheless.

This also moves almost all Cut&Paste specific stuff from text.C to
CutAndPaste.C. Much smaller interface now... Namespace CutAndPaste is
now  lyx::cap::. Was inconsistent with the rest....

Make ParagraphList a proper class. We'll need this later for a
specialized erase/insert.

Remove some unneeded prototypes and function declarations

Use ParameterStruct directly instead of ShareContainer<ParameterStruct>

Inline a few accesses to CursorSlice members as suggested by the profiler.

Fix commandline conversion crash reported by Kayvan.

Replace PosIterator by DocumentIterator. The latter can also iterate
through math and nested text in math...

Remove math specific hack from Documentiterator

Derive InsetCollapsable from InsetText instead of using an InsetText
member. This give us the opportunity to get rid of the InsetOld::owner_
backpointer.

Cosmetics in CutAndPaste.C and cursor.C. Fix nasty crash (popping slices
off an empty selection anchor). Add a few asserts.

Remove all 'manual' update calls. We do now one per user interaction which
is completely sufficient.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@8527 a592a061-630c-0410-9148-cb99ea01b6c8
2004-03-25 09:16:36 +00:00
Alfredo Braunstein
87a0c7598f andre's "brown paper bag" patch
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@8506 a592a061-630c-0410-9148-cb99ea01b6c8
2004-03-19 16:36:52 +00:00
André Pönitz
9e78fe66de remove a few rarely neede LyXTExt member functions
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@8499 a592a061-630c-0410-9148-cb99ea01b6c8
2004-03-18 13:28:49 +00:00
André Pönitz
5198e1d9a3 The Buffer::LyXText -> Buffer::InsetText patch
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@8498 a592a061-630c-0410-9148-cb99ea01b6c8
2004-03-18 12:53:43 +00:00
André Pönitz
ec4ab8ce18 revert Buffer LyxText->InsetText commit
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@8489 a592a061-630c-0410-9148-cb99ea01b6c8
2004-03-11 17:16:38 +00:00
André Pönitz
1b3f5ee46f the Buffer::text -> inset change
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@8488 a592a061-630c-0410-9148-cb99ea01b6c8
2004-03-11 16:09:42 +00:00
André Pönitz
fc52df8243 the DocIterator stuff
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@8472 a592a061-630c-0410-9148-cb99ea01b6c8
2004-03-01 17:12:09 +00:00
André Pönitz
2288d17247 more IU stuff
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@8430 a592a061-630c-0410-9148-cb99ea01b6c8
2004-02-13 11:05:29 +00:00
André Pönitz
4bcfc43c29 IU stuff + shuffling things from BV::dispatch to LyXText::dispatch
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@8427 a592a061-630c-0410-9148-cb99ea01b6c8
2004-02-13 07:30:59 +00:00
André Pönitz
df974a3904 add LCursor & parameter to cursor moving functions
additional small stuff


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@8424 a592a061-630c-0410-9148-cb99ea01b6c8
2004-02-12 16:36:01 +00:00
André Pönitz
2a5bc90633 bug + spped fixes + small stuff
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@8421 a592a061-630c-0410-9148-cb99ea01b6c8
2004-02-11 14:45:44 +00:00
André Pönitz
3f01b19844 shift some text related stuff from BufferView::dispatch to LyXText
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@8411 a592a061-630c-0410-9148-cb99ea01b6c8
2004-02-06 13:59:26 +00:00
André Pönitz
281047c2bf two bug fixes
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@8401 a592a061-630c-0410-9148-cb99ea01b6c8
2004-02-04 11:23:25 +00:00
André Pönitz
ccd12088c5 * BufferView.[Ch] (insertInset):
* BufferView_pimpl.[Ch] (insertInset): remove unneeded return value

	* text2.C:
	* text3.C: adjust


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@8400 a592a061-630c-0410-9148-cb99ea01b6c8
2004-02-04 09:44:12 +00:00