Commit Graph

51 Commits

Author SHA1 Message Date
Abdelrazak Younes
e34ad6ade0 - Cleanup splash screen
- fix bug when no Buffer.
- hide scrollbar when no buffer




git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15862 a592a061-630c-0410-9148-cb99ea01b6c8
2006-11-11 17:41:55 +00:00
Abdelrazak Younes
5c57bee5b9 * WorkArea
- hasFocus(): new pure virtual method
  - redraw(): update singlePar only if the Widget has the focusInEvent

* GuiWorkArea.h: implement hasFocus().

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15724 a592a061-630c-0410-9148-cb99ea01b6c8
2006-11-04 07:29:25 +00:00
Abdelrazak Younes
4416bb3609 Fix singlePar update. This should result in a nice speed improvment for Mac.
* buffer.h: changed() signal now emit a singlePar boolean.

* WorkArea::redraw(): acknowledge singlePar changed() boolean

* LyXView.C: adapt signal connection to changed() signal change.

* lyxfunc.C: transmit the singlePar flag with the Buffer::changed() signal.



git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15702 a592a061-630c-0410-9148-cb99ea01b6c8
2006-11-03 10:32:30 +00:00
Michael Schmitt
4292f4e9e9 remove references to Qt3/Gtk
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15630 a592a061-630c-0410-9148-cb99ea01b6c8
2006-10-30 21:45:37 +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
f4857dab04 new LFUN_WINDOW_CLOSE
* LyXFunc:
  - dispatch(): transfer assertion on lyx_view_ to each LFUN on a case by case basis.
  - dispatch(): new LFUN_WINDOW_CLOSE
  - getStatus(): special treatment for LFUN_LYX_QUIT

* LyX:
  - views_, addLyXView(): deleted
  - quit(): call saveGeometry() on each LyXView before exiting.

* GuiApplication:
  - is now a QObject.
  - quitLyX(): new Qt slot for lastWindowClosed signal.

* Gui.h:
  - destroyView(), destroyWorkArea(): deleted
  - viewIds(): new method

* GuiImplementation:
  - implement above changes.
  - GuiImplementation is now a QObject
  - cleanupViews(): new private slot.
  - buildViewIds(): new helper method
  - views_ and work_areas_ are now maps of raw pointers instead of schared_ptr.

* LyXView
  - now stores its id.
  - dispatch(): special treatment for LFUN_WINDOW_CLOSE.
  - workAreaIds(): new method.
  - close(): new pure virtual method.
  - saveGeometry(): new pure virtual method.

* GuiView:
  - implements above changes.
  - GuiView(): set WA_DeleteOnClose and Qt::WA_QuitOnClose to let Qt manage the destruction on close().
  - closeEvent(): session stuff transfered to saveGeometry()

* WorkArea
  - now store its id.



git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15514 a592a061-630c-0410-9148-cb99ea01b6c8
2006-10-23 16:29:24 +00:00
André Pönitz
387b8a1394 do not draw to intermediate pixmap
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15502 a592a061-630c-0410-9148-cb99ea01b6c8
2006-10-23 08:47:27 +00:00
Lars Gullik Bjønnes
8f261b1529 The Gtk removal from trunk.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15488 a592a061-630c-0410-9148-cb99ea01b6c8
2006-10-22 18:05:16 +00:00
André Pönitz
a63cddf51c remove qt3 frontend
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15432 a592a061-630c-0410-9148-cb99ea01b6c8
2006-10-21 08:35:47 +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
André Pönitz
3537aa7448 cleanup after svn hang-up, #undef CursorShape. Should be compilable ganin now.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15029 a592a061-630c-0410-9148-cb99ea01b6c8
2006-09-17 10:00:15 +00:00
André Pönitz
2805c29734 rename Math*Inset into InsetMath*
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15023 a592a061-630c-0410-9148-cb99ea01b6c8
2006-09-16 18:11:38 +00:00
Abdelrazak Younes
a6444784dc A bunch of conversion to docstring.
- bformat(): contributed by Georg Beaum
- Alert::XXX
- error(): in SpellBase, ispell, psell, aspell, buffer, etc.
- message(), message signal
- displayMessage(), setMessage,
- ErrorItems
- prettyName()
- makeDisplayPath()

and maybe some more...


- etc... 

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@14970 a592a061-630c-0410-9148-cb99ea01b6c8
2006-09-11 08:54:10 +00:00
Abdelrazak Younes
c70f77354a That commit replaces the Buffer::message() signal emissions from within "BufferView_pimpl.C" and "lyxfind.C" with BufferView::message() signal emission.
* BufferView.h: new message boost signal.

* BufferView_pimpl.C: replace Buffer::message() with BufferView::message() signal emission.

* lyxfind.C: ditto.

* WorkArea:
  - displayMessage(): new private method that calls LyXView::message().
  - messageConnection_: new signal connection.
  - setBufferView(): handle BufferView connection/disconnection.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@14831 a592a061-630c-0410-9148-cb99ea01b6c8
2006-08-24 14:10:22 +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
Georg Baum
e6e554d68c Fix redraw problems in qt3 and gtk
* src/frontends/gtk/GWorkArea.C
	(GWorkArea::onScroll): redraw the workarea
	(GWorkArea::onButtonPress): Call WorkArea::dispatch instead of
	BufferView::workAreaDispatch in order to redraw the workarea
	(GWorkArea::onButtonRelease): ditto
	(GWorkArea::onMotionNotify): ditto

	* src/frontends/WorkArea.h
	(dispatch): make public

	* src/frontends/qt3/QContentPane.C
	(QContentPane::scrollBarChanged): redraw the workarea
	(QContentPane::generateSyntheticMous): Call WorkArea::dispatch instead
	of BufferView::workAreaDispatch in order to redraw the workarea
	(QContentPane::mousePressEvent): ditto
	(QContentPane::mouseReleaseEvent): ditto
	(QContentPane::mouseMoveEvent): ditto
	(QContentPane::doubleClickTimeout): ditto


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@14517 a592a061-630c-0410-9148-cb99ea01b6c8
2006-07-30 14:57:01 +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
ae348f8af9 Extracted from r14281
* BufferView:
    - hideCursor(): deleted
* frontends/WorkArea:
    - now each instance handles its blinking cursor independently.
    - hideCursor(), howCursor(), toggleCursor(): new methods


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@14387 a592a061-630c-0410-9148-cb99ea01b6c8
2006-07-08 22:06:50 +00:00
Lars Gullik Bjønnes
721497d5e5 Extracted from 14281
* frontends/WorkArea:
  - processKeySym(): new method that should be used by all frontends
    instead of buffer_view_->workAreaKeyPress().
* frontends/qt4/GuiWorkArea:
  - keyPressEvent(): call WorkArea::processKeySym() instead of
    buffer_view_->workAreaKeyPress().
* frontends/gtk/GWorkArea.C:
* frontends/qt3/QContentPane.C:
  - call WorkArea::processKeySym() instead of
    buffer_view_->workAreaKeyPress()


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@14383 a592a061-630c-0410-9148-cb99ea01b6c8
2006-07-08 21:04:21 +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
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
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
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
3b44c08e43 * lyxfunc.h:
* BufferView_pimpl.h: delete LyXKeySymPtr typedef

* kbmap.h: include LyXKeysym.h and remove forward declaration of LyXKeySym,
  and delete LyXKeySymPtr typedef

* kbsequence.h:
* frontends/WorkArea.h: delete LyXKeySymPtr typedef, include LyXKeySym.h
   and don't include boost/shared_ptr.hpp, remove forward declaration of
   LyXKeySym.

* frontends/LyXKeySym.h: include boost/shared_ptr.hpp, and add typedef
  for LyXKeySymPtr


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@13663 a592a061-630c-0410-9148-cb99ea01b6c8
2006-04-13 12:18:42 +00:00
Lars Gullik Bjønnes
ec94b42f51 Use the preferred calling for Boost.Signal
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@9010 a592a061-630c-0410-9148-cb99ea01b6c8
2004-09-26 14:19:47 +00:00
Lars Gullik Bjønnes
44cd0fc9a1 The std::string mammoth path.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@7862 a592a061-630c-0410-9148-cb99ea01b6c8
2003-10-06 15:43:21 +00:00
Angus Leeming
0705dae8a3 Finish the task of removing all cruft from the header files.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@7703 a592a061-630c-0410-9148-cb99ea01b6c8
2003-09-07 21:25:37 +00:00
Angus Leeming
6e4ee366a9 lyxfunc.h #included frontends/LyXKeySym.h for a typedef only. No more.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@7697 a592a061-630c-0410-9148-cb99ea01b6c8
2003-09-06 20:08:10 +00:00
Angus Leeming
1dffc5cfe4 Move #includes out of header files.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@7659 a592a061-630c-0410-9148-cb99ea01b6c8
2003-09-04 03:54:04 +00:00
Angus Leeming
0be0fcfd59 If I ever see another licence blurb again, it'll be too soon...
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@7598 a592a061-630c-0410-9148-cb99ea01b6c8
2003-08-23 00:17:00 +00:00
Lars Gullik Bjønnes
ce708d095c ws fixes, formatting and some other small changes
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@5463 a592a061-630c-0410-9148-cb99ea01b6c8
2002-10-21 17:38:09 +00:00
Angus Leeming
1eb8155fa0 This file is part of LyX, the document processor.
Licence details can be found in the file COPYING.

and thank God for sed.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@5211 a592a061-630c-0410-9148-cb99ea01b6c8
2002-09-05 15:14:23 +00:00
Angus Leeming
6fac1dc980 Really dull and boring header shit
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@5210 a592a061-630c-0410-9148-cb99ea01b6c8
2002-09-05 14:10:50 +00:00
André Pönitz
3c7c7a3209 the workarea changes plus small math stuff
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@5128 a592a061-630c-0410-9148-cb99ea01b6c8
2002-08-28 08:30:27 +00:00
Lars Gullik Bjønnes
65d4b13616 layout as layout
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@4471 a592a061-630c-0410-9148-cb99ea01b6c8
2002-06-24 20:28:12 +00:00
John Levon
1cadf458e3 redraw() cleanup
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@4450 a592a061-630c-0410-9148-cb99ea01b6c8
2002-06-21 02:22:13 +00:00
John Levon
60b905b885 Merge the working bits of the resize patch, and fix a couple of things
that broke.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@4441 a592a061-630c-0410-9148-cb99ea01b6c8
2002-06-20 20:37:42 +00:00
John Levon
64488b06af remove some more unneeded focus stuff
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@4436 a592a061-630c-0410-9148-cb99ea01b6c8
2002-06-19 23:55:55 +00:00
John Levon
ace550953a remove focus/unfocus events - unused
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@4435 a592a061-630c-0410-9148-cb99ea01b6c8
2002-06-19 22:11:20 +00:00
John Levon
df88270f83 remove unused methods
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@4432 a592a061-630c-0410-9148-cb99ea01b6c8
2002-06-19 18:29:07 +00:00
John Levon
059bf8b486 remove unused width()
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@4426 a592a061-630c-0410-9148-cb99ea01b6c8
2002-06-19 03:16:15 +00:00
Lars Gullik Bjønnes
f1c24d1009 *duck*
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@4417 a592a061-630c-0410-9148-cb99ea01b6c8
2002-06-18 15:44:30 +00:00
John Levon
ae11d20ade Remove enter/leaveView since core has no right to know when
that happens, and rename wa->height to workHeight() for consistency


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@4373 a592a061-630c-0410-9148-cb99ea01b6c8
2002-06-12 00:51:45 +00:00
Lars Gullik Bjønnes
1e39473100 Switch from SigC signals to boost::signals
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@4281 a592a061-630c-0410-9148-cb99ea01b6c8
2002-05-29 16:21:03 +00:00
John Levon
cc7901c5b8 move workarea to xforms/ for a better diff.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@4211 a592a061-630c-0410-9148-cb99ea01b6c8
2002-05-26 18:30:34 +00:00
John Levon
97ef9131ba static_cast-based key/mouse-state. Kill insetKeyPress.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@4210 a592a061-630c-0410-9148-cb99ea01b6c8
2002-05-26 17:33:14 +00:00