Commit Graph

224 Commits

Author SHA1 Message Date
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
6a947f349b This commit moves system font initialization and restoration to new support/fontutils.[Ch].
These font related functions were identical for qt3 and qt4. They are not Qt dependent at all and could also apply to an eventual Win32 or MacOSX gtk port.

Jen-Marc says: It would be nice to convince fontconfig to do the same for linux.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15196 a592a061-630c-0410-9148-cb99ea01b6c8
2006-10-02 10:48:03 +00:00
Enrico Forestieri
84171dea11 Update scons_manifest.py for changed names in src/mathed
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15192 a592a061-630c-0410-9148-cb99ea01b6c8
2006-10-01 10:38:43 +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
Bo Peng
a8354d3db7 Scons: get version info from configure.ac, add fonts and postinstall script for cygwin
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15158 a592a061-630c-0410-9148-cb99ea01b6c8
2006-09-26 19:37:09 +00:00
Georg Baum
ebaaff58fa make it compile again
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15131 a592a061-630c-0410-9148-cb99ea01b6c8
2006-09-22 20:48:42 +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
Jean-Marc Lasgouttes
d6fb2e14a1 new Hungarian translation of the Tuturial
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15040 a592a061-630c-0410-9148-cb99ea01b6c8
2006-09-18 12:18:47 +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
Georg Baum
69c447720a Add phantom icons from Uwe and me (last part of bug 1473)
* src/frontends/controllers/ControlMath.C
	(latex_misc): Add phnatom, vphantom and hphantom

	* lib/images/math/hphantom.xpm: new
	* lib/images/math/phantom.xpm: new
	* lib/images/math/vphantom.xpm: new

	* lib/Makefile.am: add new files
	* development/scons/scons_manifest.py: ditto


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15009 a592a061-630c-0410-9148-cb99ea01b6c8
2006-09-15 10:58:58 +00:00
Georg Baum
dd5feb0fb5 forgot this
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@14926 a592a061-630c-0410-9148-cb99ea01b6c8
2006-09-07 09:58:47 +00:00
Michael Schmitt
10ffa5c960 fix file list for the updated boost library
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@14912 a592a061-630c-0410-9148-cb99ea01b6c8
2006-09-06 11:18:57 +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
Bo Peng
14de7887d8 Scons: fix scons_manifest.py for flatplacement.* for qt3
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@14844 a592a061-630c-0410-9148-cb99ea01b6c8
2006-08-26 18:45:19 +00:00
Abdelrazak Younes
ff9094ff4a add FloatPlacementUi.ui
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@14843 a592a061-630c-0410-9148-cb99ea01b6c8
2006-08-26 13:42:27 +00:00
Edwin Leuven
e28114779b minimal effort implementation of:
* float widget as a .ui file
* floatplacement.[Ch] -> FloatPlacement.[Ch] 



git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@14838 a592a061-630c-0410-9148-cb99ea01b6c8
2006-08-25 13:40:01 +00:00
Michael Schmitt
2a71306d77 drop linuxdoc support (part 4)
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@14821 a592a061-630c-0410-9148-cb99ea01b6c8
2006-08-23 11:16:08 +00:00
Abdelrazak Younes
c29afd391c generate_enconding_info.py renamed to generate_encoding_info.py
As a python advocate Jose you could do better ;-)

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@14682 a592a061-630c-0410-9148-cb99ea01b6c8
2006-08-14 21:19:03 +00:00
Abdelrazak Younes
7f3df9dfcd add docstring.h
reorder alphabetically


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@14663 a592a061-630c-0410-9148-cb99ea01b6c8
2006-08-14 07:34:43 +00:00
Bo Peng
5687075007 Scons: fix a uic bug, add unicode.hC
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@14662 a592a061-630c-0410-9148-cb99ea01b6c8
2006-08-14 00:33:39 +00:00
Bo Peng
c8e38f5e05 Scons: stop globbing filenames, use explicit file list instead.
* INSTALL.scons: stop lyx1.4.x/qt2 support
	* development/scons/scons_manifest.py: list of all filenames
	* development/scons/SConstruct: use explicit file list
	* development/scons/scons_utils.py: remove globFiles


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@14634 a592a061-630c-0410-9148-cb99ea01b6c8
2006-08-13 04:54:25 +00:00