Commit Graph

117 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
Bo Peng
aa8913e939 Scons: fix windows DESTDIR installation problem
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15253 a592a061-630c-0410-9148-cb99ea01b6c8
2006-10-05 03:08:08 +00:00
Bo Peng
222d0562f7 Scons: fix cygwin postinstall/lyx.sh installation problem
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15250 a592a061-630c-0410-9148-cb99ea01b6c8
2006-10-05 02:58:13 +00:00
Bo Peng
b3b65e6f70 Scons: set default_build_mode cleverly
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15244 a592a061-630c-0410-9148-cb99ea01b6c8
2006-10-04 17:37:02 +00:00
Bo Peng
c53e7a603c Scons: libintl also needs /MD option
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15240 a592a061-630c-0410-9148-cb99ea01b6c8
2006-10-04 16:45:46 +00:00
Bo Peng
ba81af5fb2 Scons: command line arguments may be overwritten when building tools are loaded
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15237 a592a061-630c-0410-9148-cb99ea01b6c8
2006-10-04 15:12:15 +00:00
Bo Peng
48988ff296 Scons: fix ICONV_LIB caching problem
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15236 a592a061-630c-0410-9148-cb99ea01b6c8
2006-10-04 15:05:34 +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
Bo Peng
8cc733b6a4 Scons: fix substFile dependence problems
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15215 a592a061-630c-0410-9148-cb99ea01b6c8
2006-10-03 14:31:25 +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
255345d4c6 Scons: cygwin packaging fixes
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15178 a592a061-630c-0410-9148-cb99ea01b6c8
2006-09-28 04:45:21 +00:00
Bo Peng
6f29180afc Scons: correct installation of cygwin fonts
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15175 a592a061-630c-0410-9148-cb99ea01b6c8
2006-09-27 19:30:08 +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
Bo Peng
526bb55821 Scons: add HAVE_WCHAR_T to two config.h files
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@14998 a592a061-630c-0410-9148-cb99ea01b6c8
2006-09-14 17:04:11 +00:00
Bo Peng
dd0e06b339 Scons: add SIZEOF_WCHAR_T
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@14997 a592a061-630c-0410-9148-cb99ea01b6c8
2006-09-14 15:40:06 +00:00
Bo Peng
5889f636c0 Scons: add support for system iconv function (from glibc)
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@14995 a592a061-630c-0410-9148-cb99ea01b6c8
2006-09-14 14:09:08 +00:00
Enrico Forestieri
1435670790 Add defines needed on cygwin
* configure.ac: define BOOST_POSIX_API and BOOST_POSIX_PATH
	on cygwin (needed by boost 1.34).

	* development/scons/SConstruct: ditto.

	* development/cmake/config.h.cmake: ditto.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@14980 a592a061-630c-0410-9148-cb99ea01b6c8
2006-09-12 00:54:07 +00:00
Bo Peng
290a6b90ce Scons: handle LYX_DATE in src/version.C
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@14943 a592a061-630c-0410-9148-cb99ea01b6c8
2006-09-08 15:02:26 +00:00
Bo Peng
d3d994c9e7 Scons: produce cygwin-compatible binary package
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@14934 a592a061-630c-0410-9148-cb99ea01b6c8
2006-09-08 02:01:45 +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
8a83ea44bd add forgotten comma
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@14893 a592a061-630c-0410-9148-cb99ea01b6c8
2006-09-04 15:54:57 +00:00
Georg Baum
15be4fb8ef Fix byte order problems
* src/support/unicode.C
	(bytes_to_ucs4): make it work on big endian machines
	(bytes_to_ucs2): make it work on little endian machines
	(ucs2_to_ucs4): ditto
	(utf8_to_ucs4): Invoke iconv with explicit BE suffix
	(ucs2_to_ucs4): ditto
	(ucs4_to_ucs2): ditto
	(ucs4_to_utf8): ditto

	* configure.ac: Check for byte order

	* development/scons/SConstruct: Ditto


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@14890 a592a061-630c-0410-9148-cb99ea01b6c8
2006-09-04 14:43:25 +00:00
Bo Peng
62893b0692 Scons: add /MD as default option under msvc
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@14869 a592a061-630c-0410-9148-cb99ea01b6c8
2006-09-02 13:09:10 +00:00
Bo Peng
41b45a1508 Scons: link to ole32 for (msvc/aspell), add suffix to mo files
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@14864 a592a061-630c-0410-9148-cb99ea01b6c8
2006-09-02 01:30:40 +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
132ab09b38 Scons: fix options like CPPFLAGS
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@14845 a592a061-630c-0410-9148-cb99ea01b6c8
2006-08-26 18:55:51 +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
415970fcb5 fix typo
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@14825 a592a061-630c-0410-9148-cb99ea01b6c8
2006-08-23 14:11:14 +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
f533422b0e get rid of QT3_SUPPORT
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@14773 a592a061-630c-0410-9148-cb99ea01b6c8
2006-08-17 09:08:20 +00:00
Bo Peng
0ba726bb7a Add #include "xxx_moc.cpp" to xxx.C files, and stop compiling _moc.cpp individually.
* src/frontends/qt3/[all mocable files].C: add #include _moc.cpp at the end.
	* development/scons/SConstruct: do not compile _moc files individually.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@14714 a592a061-630c-0410-9148-cb99ea01b6c8
2006-08-16 22:10:20 +00:00
Bo Peng
a9b8f12846 Scons: minor Sconstruct fix
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@14711 a592a061-630c-0410-9148-cb99ea01b6c8
2006-08-16 21:50:26 +00:00
Bo Peng
e530d2ddd2 Scons: add support for msvc qt3
* src/support/package.C.in: use PATH_MAX instead of MAX_PATH
	* INSTALL.scons: add instruction for building qt3 2ith msvc
	* development/scons/SConstruct: use the right lib (qt-mt3) and manifest file


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@14709 a592a061-630c-0410-9148-cb99ea01b6c8
2006-08-16 21:34:24 +00:00
Bo Peng
22a3512110 Scons: fix ICONV support
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@14690 a592a061-630c-0410-9148-cb99ea01b6c8
2006-08-15 14:23:57 +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
Bo Peng
486d32ba39 Scons: add ICONV_CONST to common/config.h, require library iconv
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@14676 a592a061-630c-0410-9148-cb99ea01b6c8
2006-08-14 16:47:37 +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