Commit Graph

285 Commits

Author SHA1 Message Date
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