Commit Graph

295 Commits

Author SHA1 Message Date
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
6b887d8b0f use new docstring += operator
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15275 a592a061-630c-0410-9148-cb99ea01b6c8
2006-10-08 09:56:41 +00:00
Abdelrazak Younes
055b0390dc * insetCollapsable:
- setLabel(), getNewLabel(), floatName(): converted to unicode


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15273 a592a061-630c-0410-9148-cb99ea01b6c8
2006-10-08 09:36:16 +00:00
Abdelrazak Younes
d81ffbdc23 Fix linking issue with MacOSX.
* insetcollapsable: new floatName method.

* insetfloat.C: floatname function deleted.

* insetwrap.C: floatname function deleted.

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15272 a592a061-630c-0410-9148-cb99ea01b6c8
2006-10-08 08:47:26 +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
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
Georg Baum
1fc0c01877 convert lfun arguments to docstring
* src/support/docstring.[Ch]
	(from_ascii): new conversion function
	(from_utf8): new conversion function
	(to_utf8): new conversion function
	(operator==) new, compare docstring and ASCII C string
	(operator!=) new, compare docstring and ASCII C string

	* src/support/Makefile.am: add new file docstring.C

	* development/scons/scons_manifest.py: ditto

	* src/funcrequest.[Ch]
	(argument): change name to argument_ and type to docstring,
	add an accessor
	(FuncRequest): Add two new constructors taking a docstring argument

	* all other files: adjust to the FuncRequest changes above


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@14861 a592a061-630c-0410-9148-cb99ea01b6c8
2006-09-01 15:41:38 +00:00
Lars Gullik Bjønnes
c46b7d8955 Merge the unicode branch into trunk.
- src/support/unicode.[Ch]: new files with functions for converting
  to and fro ucs4, ucs2 and utf8.
- src/support/docstring.h: specialization of basic_string that
  holds a uint32_t internally.
- Several functions changed to use char_type instead of char or unsigned char.
- Qt3 and Qt4 sends ucs2 on to core
- Gtk sends ucs4 on to core
- Read and write utf-8 .lyx files.
- font_metrics and painter updated to handle ucs4 chars as input.
- Quite a bit of ugly compability code, conversion string->docstring, etc.
- Have fun...


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@14661 a592a061-630c-0410-9148-cb99ea01b6c8
2006-08-13 22:54:59 +00:00
Martin Vermeer
20a9acdece Fix "inset in tabular cell sticks out over cell border" bug
* insetcollapsable.C
	(InsetCollapsable::metrics): make sure openinlined_ does not 
	contain mi.base.textwidth

	* insettabular.C
	(InsetTabular::metrics): modify m.base.textwidth calculation



git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@14472 a592a061-630c-0410-9148-cb99ea01b6c8
2006-07-17 05:30:36 +00:00
Martin Vermeer
4cb9cd44ec Redefine the speed-up "Wide" patch to draw proper boxes
in available space instead of line pairs.

	* rowpainter.C
	(paintPar): change background rectangle

	* insets/insettext.C
	(InsetText::draw):
	(InsetText::drawSelection): simplify rectangle drawing

	* insets/insettext.h: dump Tall()

	* insets/insetcollapsable.C
	(InsetCollapsable::metrics): subtract button from available
	space in case of inlined inset



git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@14161 a592a061-630c-0410-9148-cb99ea01b6c8
2006-06-20 12:39:39 +00:00
Jürgen Spitzmüller
6e836024f5 Don't jump back to cursor on inset clicking:
* src/insets/insetcollapsable.C
	(void InsetCollapsable::doDispatch): undispatch cursor after lmb button click.
* src/insets/insettabular.C
	(void InsetTabular::doDispatch):  undispatch cursor after rmb click.
* src/insets/insetref.C
	(void InsetRef::doDispatch):  undispatch cursor after rmb click.
* src/text3.C
	(void LyXText::dispatch): set cursor also after rmb click.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@13684 a592a061-630c-0410-9148-cb99ea01b6c8
2006-04-15 15:10:03 +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
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
Martin Vermeer
42e9668159 Singlerow rendering (better) fix for insets
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@10693 a592a061-630c-0410-9148-cb99ea01b6c8
2005-12-31 11:40:33 +00:00
Martin Vermeer
78ec40122d Fix "turds" when changing openinline_ and button jumps around
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@10663 a592a061-630c-0410-9148-cb99ea01b6c8
2005-12-16 12:48:18 +00:00
Jean-Marc Lasgouttes
7020659bc6 bug 2066: C-i for opening/closing insets only works when cursor is at the beginning of the inset.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@10569 a592a061-630c-0410-9148-cb99ea01b6c8
2005-10-24 09:42:20 +00:00
Jürgen Spitzmüller
5a704fe310 the autoopen patch (fixes bug 1921)
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@10495 a592a061-630c-0410-9148-cb99ea01b6c8
2005-09-28 15:02:47 +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
André Pönitz
41ecabf519 make boundary property an iterator property instead of a CursorSlice property
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@10214 a592a061-630c-0410-9148-cb99ea01b6c8
2005-07-15 15:49:40 +00:00
André Pönitz
f5ecca49d6 conmsolidate scrolling code
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@10204 a592a061-630c-0410-9148-cb99ea01b6c8
2005-07-15 11:43:07 +00:00
André Pönitz
1a9992c796 partial fix for bug 622, cosmetic rest remains open
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@10195 a592a061-630c-0410-9148-cb99ea01b6c8
2005-07-15 00:39:44 +00:00
André Pönitz
275f6172ac open insets when selection is set there
to avoid crashs with cold coord cache


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@10188 a592a061-630c-0410-9148-cb99ea01b6c8
2005-07-14 17:30:24 +00:00
Martin Vermeer
33f38a6112 Fix click-on-closed-collapsable-inset-crash bug
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@9943 a592a061-630c-0410-9148-cb99ea01b6c8
2005-05-13 08:18:03 +00:00
André Pönitz
3a3c1080ee make sure the 'setStatus(Collapsed)' crash won't occur otherwise
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@9917 a592a061-630c-0410-9148-cb99ea01b6c8
2005-05-06 20:00:31 +00:00
André Pönitz
56f0c42919 fix crash when collapsing ert with cursor inside
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@9916 a592a061-630c-0410-9148-cb99ea01b6c8
2005-05-06 18:54:36 +00:00
Jean-Marc Lasgouttes
625194dc63 fix bug 1797 (again!)
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@9858 a592a061-630c-0410-9148-cb99ea01b6c8
2005-04-22 14:59:13 +00:00
Georg Baum
323cafa18c implement missing getStatus methods
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@9853 a592a061-630c-0410-9148-cb99ea01b6c8
2005-04-22 08:57:22 +00:00
Jean-Marc Lasgouttes
67891b48c3 fix double/triple clicking to select (bug 1811)
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@9838 a592a061-630c-0410-9148-cb99ea01b6c8
2005-04-20 10:47:15 +00:00
Jürgen Spitzmüller
3b1ba5eb66 fix double click on collapsable label (from Andr�) [bug 1797]
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@9650 a592a061-630c-0410-9148-cb99ea01b6c8
2005-02-20 16:33:08 +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
342cdf4322 the convert patch
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@9538 a592a061-630c-0410-9148-cb99ea01b6c8
2005-01-27 21:05:44 +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
Lars Gullik Bjønnes
686f1e276f InsetOld -> InsetBase renaming
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@9310 a592a061-630c-0410-9148-cb99ea01b6c8
2004-11-25 19:13:07 +00:00
Lars Gullik Bjønnes
183239b7de rename priv_dispatch to doDispatch
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@9301 a592a061-630c-0410-9148-cb99ea01b6c8
2004-11-24 21:58:42 +00:00
Alfredo Braunstein
22e5c2519c fix invalid cursor when opening collapsables
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@9226 a592a061-630c-0410-9148-cb99ea01b6c8
2004-11-11 08:18:30 +00:00
Angus Leeming
e978fa42e3 Whitespace, only whitespace.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@9044 a592a061-630c-0410-9148-cb99ea01b6c8
2004-10-05 10:11:42 +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
Lars Gullik Bjønnes
d20f0af816 some nicer margins and some small cleanup
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@8925 a592a061-630c-0410-9148-cb99ea01b6c8
2004-08-14 15:55:22 +00:00
André Pönitz
b119fd180d remove unused mathed parts
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@8915 a592a061-630c-0410-9148-cb99ea01b6c8
2004-08-13 22:24:42 +00:00
Jean-Marc Lasgouttes
9e20808369 constify the various incarnations of editXY
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@8907 a592a061-630c-0410-9148-cb99ea01b6c8
2004-08-13 19:14:17 +00:00
Jean-Marc Lasgouttes
6b89c145fd fix toggling of collapsable insets with the mouse (bug 1558)
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@8901 a592a061-630c-0410-9148-cb99ea01b6c8
2004-08-13 14:56:06 +00:00
Martin Vermeer
9b35643f8e Use 'assign' as the name for the operation that opens/closes branch
insets according to selection


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@8616 a592a061-630c-0410-9148-cb99ea01b6c8
2004-04-07 05:28:51 +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
Angus Leeming
72f045c60f Rename getOutOfInset as leaveInset.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@8568 a592a061-630c-0410-9148-cb99ea01b6c8
2004-03-31 09:24:43 +00:00
Angus Leeming
3666618138 Use Alfredo's getOutOfInset suggestion, but use it in the inset::dispatch
functions as suggested by Andre. Squashes the bug beautifully.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@8567 a592a061-630c-0410-9148-cb99ea01b6c8
2004-03-31 08:43:47 +00:00
Angus Leeming
991b0ec589 A slightly buggy lfun all-insets-toggle.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@8564 a592a061-630c-0410-9148-cb99ea01b6c8
2004-03-30 12:36:33 +00:00
Alfredo Braunstein
728193eacc fix collapsables drawing problems
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@8547 a592a061-630c-0410-9148-cb99ea01b6c8
2004-03-27 13:29:17 +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
André Pönitz
b634b3eb3b split LyXFunc::getStatus() into inset specific chunks
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@8500 a592a061-630c-0410-9148-cb99ea01b6c8
2004-03-18 13:57:20 +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