Commit Graph

134 Commits

Author SHA1 Message Date
Abdelrazak Younes
73ed0b5203 * Painter.h:
* Painter: new ctor that sets drawing_enabled_ to true.
  * setDrawingEnabled(), isDrawingEnabled(): new methods.

* QLPainter.C: only draw if drawing is enabled.

* nullpainter.h: deleted.

* rawpainter.C::paintPar(): only draw if we are inside the Paragraph.

* InsetTabular::draw(): use new Painter method instead of a NullPainter.

* InsetMathNest::drawSelection(): ditto.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15613 a592a061-630c-0410-9148-cb99ea01b6c8
2006-10-30 10:09:59 +00:00
Abdelrazak Younes
ee319c6e83 * guiapi.[Ch]: deleted.
Angus L. explanation: Lars introduced it years ago when he got exited by the idea 
of dll-importing the frontend library, but the idea never came to anything 
concrete. The file can always be resurrected later on; it's meant to be a C-
language wrapper to our C++ frontend library calls.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15611 a592a061-630c-0410-9148-cb99ea01b6c8
2006-10-30 08:13:02 +00:00
Abdelrazak Younes
54bdecdb48 remove paperHeight() and paperWidth() in Painter and inherited classes.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15589 a592a061-630c-0410-9148-cb99ea01b6c8
2006-10-28 09:36:22 +00:00
Bo Peng
706f828230 Scons: mocing GuiApplication.C and GuiImplementation.C
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15518 a592a061-630c-0410-9148-cb99ea01b6c8
2006-10-23 19:47:40 +00:00
Abdelrazak Younes
f4857dab04 new LFUN_WINDOW_CLOSE
* LyXFunc:
  - dispatch(): transfer assertion on lyx_view_ to each LFUN on a case by case basis.
  - dispatch(): new LFUN_WINDOW_CLOSE
  - getStatus(): special treatment for LFUN_LYX_QUIT

* LyX:
  - views_, addLyXView(): deleted
  - quit(): call saveGeometry() on each LyXView before exiting.

* GuiApplication:
  - is now a QObject.
  - quitLyX(): new Qt slot for lastWindowClosed signal.

* Gui.h:
  - destroyView(), destroyWorkArea(): deleted
  - viewIds(): new method

* GuiImplementation:
  - implement above changes.
  - GuiImplementation is now a QObject
  - cleanupViews(): new private slot.
  - buildViewIds(): new helper method
  - views_ and work_areas_ are now maps of raw pointers instead of schared_ptr.

* LyXView
  - now stores its id.
  - dispatch(): special treatment for LFUN_WINDOW_CLOSE.
  - workAreaIds(): new method.
  - close(): new pure virtual method.
  - saveGeometry(): new pure virtual method.

* GuiView:
  - implements above changes.
  - GuiView(): set WA_DeleteOnClose and Qt::WA_QuitOnClose to let Qt manage the destruction on close().
  - closeEvent(): session stuff transfered to saveGeometry()

* WorkArea
  - now store its id.



git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15514 a592a061-630c-0410-9148-cb99ea01b6c8
2006-10-23 16:29:24 +00:00
Bo Peng
8b5e79fc47 Scons: remove some other qt3 debris
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15494 a592a061-630c-0410-9148-cb99ea01b6c8
2006-10-22 20:34:37 +00:00
Lars Gullik Bjønnes
8f261b1529 The Gtk removal from trunk.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15488 a592a061-630c-0410-9148-cb99ea01b6c8
2006-10-22 18:05:16 +00:00
Michael Schmitt
aae5bada25 * scons/scons_manifest.py: remove MathMLStream.[Ch]
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15476 a592a061-630c-0410-9148-cb99ea01b6c8
2006-10-22 14:16:04 +00:00
Michael Schmitt
7cf8328885 * scons/SConstruct: fix scons error (remainder of qt3 frontend removal)
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15436 a592a061-630c-0410-9148-cb99ea01b6c8
2006-10-21 09:17:58 +00:00
André Pönitz
a63cddf51c remove qt3 frontend
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15432 a592a061-630c-0410-9148-cb99ea01b6c8
2006-10-21 08:35:47 +00:00
André Pönitz
c75c468e44 some scripts I fouind usefule when working on LyX
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15423 a592a061-630c-0410-9148-cb99ea01b6c8
2006-10-21 07:05:52 +00:00
Bo Peng
90cbd48fd3 Scons: remove fast_start feature
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15343 a592a061-630c-0410-9148-cb99ea01b6c8
2006-10-16 03:26:14 +00:00
Bo Peng
f3016d70d9 Scons: fix a config.h generation bug
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15341 a592a061-630c-0410-9148-cb99ea01b6c8
2006-10-16 02:55:04 +00:00
Abdelrazak Younes
c7e365365e This commit saves the need to check for lyx::use_gui in a number of places.
* lyx_main.h: define "extern bool lyx::use_gui" here.

* NoGuiFontMetrics.h: new class for command-line LyX

* NoGuiFontLoader.h: new class for command-line LyX

* Application.C:
  - theFontMetrics(): returns the above dummy FontMetrics when use_gui is false.
  - theFontLoader(): returns the above dummy FontLoader when use_gui is false.



git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15339 a592a061-630c-0410-9148-cb99ea01b6c8
2006-10-15 21:47:29 +00:00
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
Georg Baum
34b7650cbb Introduce wide streams. This fixes the remaining problems of plain text
export (e.g. the ToC) and the navigate menu.

	* src/insets/insetbase.h
	(InsetBase::plaintext): output to a docstream
	(InsetBase::textString): ditto

	* src/mathed/TextPainter.h
	(TextPainter::show): ditto

	* src/support/docstream.[Ch] New file and string streams for
	docstring. The file streams convert to UTF8 on the fly.

	* many more files: Adjust to the changes above


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15301 a592a061-630c-0410-9148-cb99ea01b6c8
2006-10-11 19:40:50 +00:00
Georg Baum
94c10102c0 Compile fix. This was easy, since the code is alsmost identical to qt4,
but I am not going to do gtk.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15271 a592a061-630c-0410-9148-cb99ea01b6c8
2006-10-08 07:39:02 +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
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