Commit Graph

79 Commits

Author SHA1 Message Date
Abdelrazak Younes
83ffa28e77 This commit is purely mechanical and get rid of lyx_gui.[Ch].
Only qt4 is guaranted to compile and work. I did not remove gtk and qt3 lyx_gui.C because they might be needed for reference to complete the header declarations in "GuiApplication.C".

 - lyx_gui::use_gui transfered to lyx::use_gui in lyx_main.C
 - all remaining lyx_gui functions transfered to Application and corresponding GuiApplication implementations. 


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15306 a592a061-630c-0410-9148-cb99ea01b6c8
2006-10-12 14:10:13 +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
205096733a This commit introduces the FontLoader interface class. In the future, I intend to extend it with a proper encapsulation of font metrics.
* frontends/FontLoader.h: new interface class.
* frontends/Application.h: new FontLoader() pure virtual method
* frontends/lyx_gui: update_fonts() and font_available() methods deleted

* [qt3/qt4/gtk]/GuiApplication: implement the new interface

* qt4/GuiFontLoader:
  - renamed from FontLoader
  - now derives from FontLoader
  - now in the lyx::frontend namespace

* qt3/qfont_loader
  - now derives from FontLoader

* gtk/xftFontLoader
  - now derives from FontLoader



git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15220 a592a061-630c-0410-9148-cb99ea01b6c8
2006-10-03 16:17:32 +00:00
Abdelrazak Younes
63ad5449fb This commit creates a new "frontends/lyx_gui.C" that contains all functions that are not frontend dependent any more. It also creates 3 new pure virtual methods in Application:
virtual std::string const romanFontName() = 0;
virtual std::string const sansFontName() = 0;
virtual std::string const typewriterFontName() = 0;

My goal is to transfer all of "frontends/*/lyx_gui.C" to "frontends/lyx_gui.C". When this is done, "frontends/lyx_gui.C" can go altogether as its functions will then be replaced with direct calls to theApp->XXX().

* frontends/lyx_gui.C: new file with code transfered from [qt3,qt4,gtk]/lyx_gui.C

* frontends/Application: 3 new font related pure virtual methods

* [qt3,qt4,gtk]/GuiApplication: implement the above method with code transfered from lyx_gui.C


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15208 a592a061-630c-0410-9148-cb99ea01b6c8
2006-10-03 10:34:10 +00:00
Abdelrazak Younes
d1e7c7e0ab Integrate Application_pimpl into Application.C.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15206 a592a061-630c-0410-9148-cb99ea01b6c8
2006-10-03 08:43:32 +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
Georg Baum
c2ffa71fa7 compile fix
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15129 a592a061-630c-0410-9148-cb99ea01b6c8
2006-09-22 18:45:22 +00:00
Georg Baum
c9c6ed0b7f Split clipboard and X selection
* src/LyXAction.C
	(LyXAction::init): handle new LFUN_CLIPBOARD_PASTE

	* src/insets/insettabular.C
	(InsetTabular::doDispatch): ditto

	* src/insets/insetbox.C
	(InsetBox::doDispatch): ditto

	* src/insets/insetert.C
	(InsetERT::doDispatch): ditto
	(InsetERT::getStatus): ditto

	* src/insets/insetcharstyle.C
	(InsetCharStyle::doDispatch): ditto

	* src/BufferView_pimpl.C
	(BufferView::Pimpl::selectionRequest): stuff selection, not clipboard

	* src/mathed/math_nestinset.C
	(MathNestInset::lfunMousePress): get stuff selection, not clipboard
	(MathNestInset::lfunMouseRelease): clipboard -> selection in
	commented code

	* src/CutAndPaste.C
	(cutSelection): ditto

	* src/frontends/{qt3,gtk}/GuiImplementation.C
	(GuiImplementation::newWorkArea): create new selection, not clipboard,
	since the clipboard is now an object
	(GuiImplementation::destroyWorkArea): destroy selection, not clipboard

	* src/frontends/{qt4,qt3,gtk}/GuiSelection.h: new, copied from
	GuiClipboard.h

	* src/frontends/{qt4,qt3,gtk}/GuiSelection.C: new, copied from
	GuiClipboard.C

	* src/frontends/{qt3,gtk}/GuiImplementation.h
	(selection): new accessor for selection_
	(selection_): new, the global selection object

	* src/frontends/{qt4,qt3,gtk}/Makefile.am: add GuiSelection.C and
	GuiSelection.h

	* src/frontends/{qt4,qt3,gtk}/GuiClipboard.C
	(GuiClipboard::get): return clipboard, not selection
	(GuiClipboard::put): stuff clipboard, not selection

	* src/frontends/{qt4,qt3,gtk}/GuiClipboard.h
	(haveSelection): remove (this is now in GuiSelection)

	* src/frontends/{qt3,gtk}/GuiClipboard.h
	(old_work_area_): remove, since it is not needed anymore

	* src/frontends/gtk/ghelpers.C
	(getGTKStockIcon): handle LFUN_CLIPBOARD_PASTE

	* src/frontends/Clipboard.h
	(haveSelection): remove (this is now in Selection)

	* src/frontends/qt4/GuiImplementation.[Ch]
	(GuiImplementation::selection): new accessor for selection_

	* src/frontends/Gui.h
	(selection): New accessor for the global selection object

	* src/frontends/Selection.h; new, copied from Clipboard.h

	* src/frontends/Makefile.am: add Selection.h

	* src/text3.C
	(various): s/clipboard().haveSelection/selection().haveSelection/

	(LyXText::dispatch): handle LFUN_CLIPBOARD_PASTE
	(LyXText::getStatus): ditto

	* src/lfuns.h: new lfun LFUN_CLIPBOARD_PASTE

	* lib/ui/stdmenus.ui: add new lfun LFUN_CLIPBOARD_PASTE


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@14408 a592a061-630c-0410-9148-cb99ea01b6c8
2006-07-10 11:32:25 +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
22861453fe Remove the XForms frontend, update the autotools files, and fixup po.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@14320 a592a061-630c-0410-9148-cb99ea01b6c8
2006-07-03 19:20:25 +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
eefc9ad640 * Rename src/frontends/qt2 to src/frontends/qt3,
update users of the dir accordingly.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@13731 a592a061-630c-0410-9148-cb99ea01b6c8
2006-04-24 13:48:24 +00:00
Lars Gullik Bjønnes
0c21c114d4 setup the buildsystem for building qt4
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@13295 a592a061-630c-0410-9148-cb99ea01b6c8
2006-03-05 17:29:08 +00:00
Lars Gullik Bjønnes
a78c91bdbb make sure to dist pch.h and mark PCH_FILE as a built file
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@10173 a592a061-630c-0410-9148-cb99ea01b6c8
2005-07-12 23:42:23 +00:00
Lars Gullik Bjønnes
e5ae321dab the AM_* flags patch
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@9963 a592a061-630c-0410-9148-cb99ea01b6c8
2005-05-20 16:56:28 +00:00
Lars Gullik Bjønnes
87cd77d1fc gnome build removal, gtk build fix
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@9696 a592a061-630c-0410-9148-cb99ea01b6c8
2005-03-06 04:29:27 +00:00
Lars Gullik Bjønnes
a4319c2b89 more PCH_FLAGS work
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@9341 a592a061-630c-0410-9148-cb99ea01b6c8
2004-12-04 14:50:25 +00:00
Lars Gullik Bjønnes
c73eea9bda use AM_CPPFLAGS instead of INCLUDES since that is deprecated
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@9338 a592a061-630c-0410-9148-cb99ea01b6c8
2004-12-03 19:11:38 +00:00
Lars Gullik Bjønnes
197c26de99 More pch work.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@8956 a592a061-630c-0410-9148-cb99ea01b6c8
2004-08-18 14:20:18 +00:00
Lars Gullik Bjønnes
b0fbc29aa3 some support for pch
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@8947 a592a061-630c-0410-9148-cb99ea01b6c8
2004-08-15 21:45:30 +00:00
Angus Leeming
5009d66e16 * Positionable and dynamically visible toolbars for the XForms frontend.
* General Toolbars code clean-up.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@8707 a592a061-630c-0410-9148-cb99ea01b6c8
2004-04-29 09:54:59 +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
Angus Leeming
d6cb58ab66 Remove WorkArea.C (empty).
Rearrange #includes in alphabetical and directory order.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@7672 a592a061-630c-0410-9148-cb99ea01b6c8
2003-09-05 10:55:42 +00:00
Lars Gullik Bjønnes
f268743f8c The Gtk patch.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@7632 a592a061-630c-0410-9148-cb99ea01b6c8
2003-09-02 10:29:05 +00:00
Jean-Marc Lasgouttes
02aa32e2eb allow to compile several frontends at once (and produce several binaries)
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@7485 a592a061-630c-0410-9148-cb99ea01b6c8
2003-08-02 20:01:52 +00:00
Jean-Marc Lasgouttes
c7f1fcdc65 towards saner frontends (?). Part II: the menubar (now it is possible to switch frontend without recompiling GUII code)
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@7361 a592a061-630c-0410-9148-cb99ea01b6c8
2003-07-25 21:34:45 +00:00
Lars Gullik Bjønnes
e5ed2c26f5 better lib building
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@6950 a592a061-630c-0410-9148-cb99ea01b6c8
2003-05-08 18:05:07 +00:00
Lars Gullik Bjønnes
b379d75b45 make distcheck work
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@5936 a592a061-630c-0410-9148-cb99ea01b6c8
2003-01-12 22:24:47 +00:00
Angus Leeming
ec3f063250 (Rob Lahaye): updates to the xforms print, spellchecker, texinfo and wrap
dialogs.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@5511 a592a061-630c-0410-9148-cb99ea01b6c8
2002-10-25 09:16:22 +00:00
Lars Gullik Bjønnes
20a85bb24f loose SIGC_INCLUDES
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@5336 a592a061-630c-0410-9148-cb99ea01b6c8
2002-09-24 18:20:26 +00:00
Jean-Marc Lasgouttes
737fca6bf3 use $(variables) instead of @substitutions@ in Makefile.am:s
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@5014 a592a061-630c-0410-9148-cb99ea01b6c8
2002-08-16 13:43:03 +00:00
Angus Leeming
0cfafddc7d The dialogs/guiapi re-working.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@5003 a592a061-630c-0410-9148-cb99ea01b6c8
2002-08-15 17:48:53 +00:00
Angus Leeming
5fab05e48a Pass and store references to LyXView and Dialogs, not pointers in the
FormBaseDeprecated-derived classes.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@5000 a592a061-630c-0410-9148-cb99ea01b6c8
2002-08-15 16:34:48 +00:00
Angus Leeming
5134f667c8 I forgot to remove DialogBAse.h from Makefile.am when I nuked it yesterday.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@4990 a592a061-630c-0410-9148-cb99ea01b6c8
2002-08-15 10:08:27 +00:00
John Levon
e225bbd75e I fixed the two bugs (Very shallow in fact)
Please test the minibuffer, and report things that are broken. I
think things should still be working the same ...


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@4713 a592a061-630c-0410-9148-cb99ea01b6c8
2002-07-19 20:56:31 +00:00
John Levon
c17851a1d5 Move fontloader into lyx_gui stuff. Now Qt should compile out of the box
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@4612 a592a061-630c-0410-9148-cb99ea01b6c8
2002-07-12 03:05:13 +00:00
Lars Gullik Bjønnes
4db18ce050 portoaddons
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@4472 a592a061-630c-0410-9148-cb99ea01b6c8
2002-06-24 22:24:57 +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
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
9699643848 New lyx_gui namespace. Some working out to be done still ..
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@4377 a592a061-630c-0410-9148-cb99ea01b6c8
2002-06-12 09:47:10 +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
John Levon
962a0c5585 font loader / color handler move
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@4204 a592a061-630c-0410-9148-cb99ea01b6c8
2002-05-24 18:24:14 +00:00
John Levon
2dabaa33de font_metrics part 1
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@4203 a592a061-630c-0410-9148-cb99ea01b6c8
2002-05-24 14:34:32 +00:00
John Levon
98b254c810 more guii moving around.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@4192 a592a061-630c-0410-9148-cb99ea01b6c8
2002-05-23 15:43:25 +00:00
John Levon
435d527581 guii2
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@4190 a592a061-630c-0410-9148-cb99ea01b6c8
2002-05-23 12:08:47 +00:00
John Levon
06f9f0ea08 OK I'll try guii1 again ...
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@4186 a592a061-630c-0410-9148-cb99ea01b6c8
2002-05-23 09:21:32 +00:00
Lars Gullik Bjønnes
78930d2d26 further makefile work
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@3944 a592a061-630c-0410-9148-cb99ea01b6c8
2002-04-08 09:42:58 +00:00
Lars Gullik Bjønnes
d5bef92340 handle distclean better
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@3923 a592a061-630c-0410-9148-cb99ea01b6c8
2002-04-06 14:12:02 +00:00
Lars Gullik Bjønnes
a81d9e53d9 make distcheck work
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@3922 a592a061-630c-0410-9148-cb99ea01b6c8
2002-04-06 13:15:10 +00:00