Commit Graph

19 Commits

Author SHA1 Message Date
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
10d5ea0d8a replace colorcache global variable with GuiApplication::colorCache().
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15151 a592a061-630c-0410-9148-cb99ea01b6c8
2006-09-26 09:57:47 +00:00
Abdelrazak Younes
3f0fadc48a This commit introduces frontends/Application.[Ch] and makes qt4/GuiApplication (renamed from qt4/Application) derive from it. Most of the code in qt4/lyx_gui.C has been transferred either to Application or to qt4/GuiApplication. Application handles unique instances of LyXFunc, LyXServer and LyXServerSocket.
Most of qt3 and gtk should stay compilable except for LyXView.h because the LyXFunc instance has been transferred to Application.

* frontends/Application: new class aimed to be the one unique interface between the frontend and the kernel. Contains one global pointer to the unique instanciation theApp.

* frontends/qt4/GuiApplication: renamed from qt4/Application, the qt4 specialisation of the Application class.  Contains one global pointer to the unique instanciation guiApp (equal to theApp but pointing to a GuiApplication instead).

* frontends/qt4/lyx_gui.C: most of the code has been moved to Application and GuiApplication

All other file: adapted to new API.




git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15114 a592a061-630c-0410-9148-cb99ea01b6c8
2006-09-22 09:47:39 +00:00
Abdelrazak Younes
4d5767fd9c * qt_helpers.[Ch]: new conversion from/to ucs4 strings and chars to/from QChar and QString.
* qfont_metrics.C: make use of above methods instead of those in unicode.[Ch]

* QLPainter.C: ditto

* QLyXKeySym.C: ditto + simplification and a BOOST_ASSERT that verifies that the event is one char only.



git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@14852 a592a061-630c-0410-9148-cb99ea01b6c8
2006-08-30 14:59:07 +00:00
Abdelrazak Younes
19b3779d44 get rid of QT3_SUPPORT and some cleanup
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@14751 a592a061-630c-0410-9148-cb99ea01b6c8
2006-08-17 08:56:53 +00:00
Lars Gullik Bjønnes
c46b7d8955 Merge the unicode branch into trunk.
- src/support/unicode.[Ch]: new files with functions for converting
  to and fro ucs4, ucs2 and utf8.
- src/support/docstring.h: specialization of basic_string that
  holds a uint32_t internally.
- Several functions changed to use char_type instead of char or unsigned char.
- Qt3 and Qt4 sends ucs2 on to core
- Gtk sends ucs4 on to core
- Read and write utf-8 .lyx files.
- font_metrics and painter updated to handle ucs4 chars as input.
- Quite a bit of ugly compability code, conversion string->docstring, etc.
- Have fun...


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@14661 a592a061-630c-0410-9148-cb99ea01b6c8
2006-08-13 22:54:59 +00:00
Abdelrazak Younes
a1b60fb963 delete Painter::fillPolygon() and associated frontend implementations
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@14410 a592a061-630c-0410-9148-cb99ea01b6c8
2006-07-10 15:14:29 +00:00
Abdelrazak Younes
3287c44f33 GUI API Cleanup step 2: merge of the "younes" branch.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@14231 a592a061-630c-0410-9148-cb99ea01b6c8
2006-06-26 16:55:35 +00:00
Lars Gullik Bjønnes
702621aabd Fix 64bit<->32bit issue.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@14203 a592a061-630c-0410-9148-cb99ea01b6c8
2006-06-25 11:27:33 +00:00
Edwin Leuven
641fae7ed5 * reset color/linestyle/linewidth cache to QPen defaults on QPainter creation
* get rid of QPainter arg in setQPainterPen(..)

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@14201 a592a061-630c-0410-9148-cb99ea01b6c8
2006-06-25 11:18:56 +00:00
Abdelrazak Younes
2335670309 * qp_ member is now used for painting
* QLPainter::start() now re-initialize qp_
* QLPainter::end() now end qp_


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@14184 a592a061-630c-0410-9148-cb99ea01b6c8
2006-06-23 14:12:17 +00:00
Abdelrazak Younes
d8ae51dbe1 This is the merging of the GUI API cleanup branch that was developed in svn+ssh://svn.lyx.org/lyx/lyx-devel/branches/personal/younes.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@14152 a592a061-630c-0410-9148-cb99ea01b6c8
2006-06-20 08:39:16 +00:00
Abdelrazak Younes
30649ec3b6 Those classes (and their associated [Ch] files) are renamed :
QLAction -> Action
lcolorcache -> ColorCache
qfont_loader.C -> FontLoader




git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@14136 a592a061-630c-0410-9148-cb99ea01b6c8
2006-06-17 09:14:58 +00:00
Peter Kümmel
c02f6409ec Fix Qt4 resize bug.
Don't use  multiple QPainter::begin on the same QPaintDevice.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@14101 a592a061-630c-0410-9148-cb99ea01b6c8
2006-06-14 14:23:25 +00:00
Abdelrazak Younes
5c4d89d816 Simple optimisation: reuse current QPainter if no there's no change in settings.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@14078 a592a061-630c-0410-9148-cb99ea01b6c8
2006-06-11 21:22:36 +00:00
Abdelrazak Younes
4213d1851a clean up dos style line ending.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@13442 a592a061-630c-0410-9148-cb99ea01b6c8
2006-03-20 17:25:02 +00:00
Abdelrazak Younes
4a5053d34e * qscreen.[Ch]:
- Cursor handing is done on the server -> *cursor are
    QPixmap
  - Use new drawScreen and copyScreen methods.
* QWorkArea.[Ch]:
  - Pixel manipulation is done on the client -> paint_device_ is a
    QImage
  - an intermediate Screen device is updated whenever expose is called
    -> sreen_device_ is a QPixmap. This screen_device is the one that is
    painted on screen in QWorkArea::repaintEvent().
  - new update, drawScreen and copyScreen methods. 
* QLPainter.C: use the new paintDevice interface.

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@13428 a592a061-630c-0410-9148-cb99ea01b6c8
2006-03-20 10:43:21 +00:00
Jürgen Spitzmüller
98b1da0248 Abdelrazak Younes: Compile fixes for the Mac (ChangeLog follows)
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@13349 a592a061-630c-0410-9148-cb99ea01b6c8
2006-03-12 17:44:38 +00:00
Lars Gullik Bjønnes
12e5a52b92 Added initial qt4 work by Abdelrazak Younes
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@13294 a592a061-630c-0410-9148-cb99ea01b6c8
2006-03-05 17:24:44 +00:00