Commit Graph

533 Commits

Author SHA1 Message Date
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
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
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
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
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