Commit Graph

407 Commits

Author SHA1 Message Date
Peter Kümmel
4f8939dd3d cmake: precompiled headers
- enable by default, could be disabled with -Ddisable-pch
    - use different pch files for Debug/Release/...
    - use only one config_pch.C 


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15549 a592a061-630c-0410-9148-cb99ea01b6c8
2006-10-25 17:57:04 +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
Peter Kümmel
cd0b5b6ca9 cmake precompile:
- only precompile boost and stl headers
- for qt4 also precompile QtGui and QtGui
- don't use one global precomiled header file
  to get out of the dependency hell 





git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15517 a592a061-630c-0410-9148-cb99ea01b6c8
2006-10-23 19:04:29 +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
Peter Kümmel
5c26b24d17 fix wrong usage of precompiled headers, now it's really faster, more to come
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15509 a592a061-630c-0410-9148-cb99ea01b6c8
2006-10-23 14:32:12 +00:00
Peter Kümmel
9105f374a1 update to HEAD
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15507 a592a061-630c-0410-9148-cb99ea01b6c8
2006-10-23 13:49:18 +00:00
Peter Kümmel
dc5c8be0f0 add support of precompiled headers for msvc, enable with -Dpch=1, disable headers by defining LYX_DONT_PRECOMPILE_* macros in config.C.cmake
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15506 a592a061-630c-0410-9148-cb99ea01b6c8
2006-10-23 13:34:22 +00:00
Peter Kümmel
2ceb5e2769 add support of precompiled headers for msvc, enable with -Dpch=1, disable headers by defining LYX_DONT_PRECOMPILE_* macros in config.C.cmake
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15505 a592a061-630c-0410-9148-cb99ea01b6c8
2006-10-23 13:32:46 +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
André Pönitz
35a1a95cfe compile fix
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15467 a592a061-630c-0410-9148-cb99ea01b6c8
2006-10-22 11:22:14 +00:00
André Pönitz
de6418f377 use more unicode in math
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15462 a592a061-630c-0410-9148-cb99ea01b6c8
2006-10-22 10:15:23 +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
Michael Schmitt
2c943fea7f * lyx.rpm.README: remove mentioning of qt3
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15433 a592a061-630c-0410-9148-cb99ea01b6c8
2006-10-21 08:55:17 +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
Peter Kümmel
4cc5d0825d cmake: don't forget command line options
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15403 a592a061-630c-0410-9148-cb99ea01b6c8
2006-10-20 12:46:30 +00:00
Peter Kümmel
4656a5e16a fix wrong line endings of generated Qt4 ui files on Windows
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15398 a592a061-630c-0410-9148-cb99ea01b6c8
2006-10-20 11:28:45 +00:00
Peter Kümmel
3459b8d89d cmake files:
- mathed: remove InsetMathMox.C fro the build process
- config: enable assertions by default



git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15396 a592a061-630c-0410-9148-cb99ea01b6c8
2006-10-20 10:38:33 +00:00
Peter Kümmel
6d6a9ddad6 cmake: use src/support/package.C.in
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15389 a592a061-630c-0410-9148-cb99ea01b6c8
2006-10-19 21:42:28 +00:00
Peter Kümmel
97efe6289f - use version.C.in file instead of a simple copy
- generate lyx2lyx_version.py



git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15388 a592a061-630c-0410-9148-cb99ea01b6c8
2006-10-19 21:35:44 +00:00
Georg Baum
b02242bfaf Rework InsetCommandParams interface and file storage
* src/insets/insetcommandparams.[Ch]:
	(operator[]): New, access a parameter
	(clear): New, clear all parameters
	(info_): New, stire info about this command
	(cmdname): Rename to name_
	(contents, options, sec_options): Replace with params_. Parameters
	are now stored as docstring.
	(findInfo): New factor for command info for all commands
	(read, write): Use new syntax
	(parameter set and get methods): reimplemenmt for new parameter storage

	* src/insets/insetcommand.h
	(getParam): New, get a parameter
	(setParam): New, set a parameter
	(parameter set and get methods): Adjust to InsetCommandParams changes

	* src/insets/insetbibitem.[Ch]
	(write): Remove, not needed anymore
	(directWrite): ditto

	* src/insets/insetbibitem.C
	(InsetBibitem::read): Use InsetCommand::read

	* src/insets/insetref.C
	(InsetRef::latex): Use new InsetCommandParams interface

	* src/mathed/InsetMathHull.C
	(InsetMathHull::doDispatch): ditto

	* src/text3.C
	(LyXText::dispatch): ditto

	* src/factory.C
	(createInset): Create InsetCommandParams with command name
	(readInset): ditto
	(readInset): Remove error message for bibitem, since bibitem is
	now a normal command inset

	* src/buffer.C: Bump file format number

	* src/frontends/controllers/ControlCommand.[Ch]
	(ControlCommand): take an additional command name parameter

	* src/text.C
	(readParToken): Remove code for \bibitem

	* lib/lyx2lyx/LyX.py: Bump latest file format number

	* lib/lyx2lyx/lyx_1_5.py
	(convert_bibitem, convert_commandparams): new, convert to new format
	(revert_commandparams): new, convert to old format

	* development/FORMAT: document new format

	* many other files: Adjust to the changes above


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15357 a592a061-630c-0410-9148-cb99ea01b6c8
2006-10-17 21:07:16 +00:00
Jürgen Spitzmüller
77e145a406 Remember the char style label state and make it globally switchable.
* src/buffer: 
	file format incrementation to 251
* src/insets/insetcharstyle.[Ch]:
	- make show_label a param and save its state
	- let all-insets-toggle togle the label in charstyles
* development/FORMAT: 
	document file format change
* lib/lyx2lyx/LyX.py:
	add new file format
* lib/lyx2lyx/lyx_1_5.py:
	remove char style label param on reversion to 250.
	

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15345 a592a061-630c-0410-9148-cb99ea01b6c8
2006-10-16 07:06:41 +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
Martin Vermeer
21316375fe Support for optional arguments for environments. No material format change.
* src/buffer.C
	(BufferList bufferlist;): bump version

	* src/output_latex.C
	TexEnvironment: add optarg for environments

	* lib/lyx2lyx/lyx_1_5.py: add converters

	* development/FORMAT: document



git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15315 a592a061-630c-0410-9148-cb99ea01b6c8
2006-10-12 20:21:14 +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
Peter Kümmel
19739b63aa add instruction to change search path for gnuwin32 + small corrections
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15144 a592a061-630c-0410-9148-cb99ea01b6c8
2006-09-25 15:34:04 +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