A Cross−Platform GNOME Office Component

A Cross−Platform GNOME Office Component

AbiWord: A Cross-Platform GNOME Office Component Dom Lachowicz <[email protected]> Hubert Figuière <[email protected]> - 1 - Abstract What is AbiWord ? 1.Cross platform Word processor 2.Part of GNOME Office - 2 - AbiWord's Goals and Ambitions 1.Word processor for the masses 2.Cross platform: not everybody use GNOME yet 3.Strong import/export capabilities: open to the world. 4.Really extensible - 3 - Glossary Some acronyms: ·AP: designates application framework code ·XAP: designates cross-application framework code ·XP: designates cross-platform code - 4 - The Future of AbiWord After milestone 1.0 (really soon on the Internet) ·Tables ·Compound Objects ·Embeddable We expect them for 1.2. Not promise however. - 5 - Tables ·One of the most requested features ·Require a large rewrite of the formatter ·Totally XP - 6 - Compound object embedding ·Also one of the most requested ·Would allow supporting more data inside a text ·Spreadsheet (Gnumeric) ·Equations (MathML) ·XP and work with native embedding (Bonobo, OLE, etc.) ! - 7 - Embeddable component ·Already demonstrated by a Third party (OEOne) ·Needs to be XP but native (Bonobo, OLE) ·Examples: ·Evolution ·OEOne - 8 - AbiWord in Evolution - 9 - OEOne: AbiWord in Mozilla - 10 - The Future of GNOME Office ·Take advantage of GNOME new technologies ·Bonobo ·GConf ·GTK 2.0 ·Work with other team (Gnumeric) - 11 - Work with other Team ·An escher drawing model (new canvas) ·Better support for popular MS Windows graphic types ·Better support for popular MS Windows file formats ·Cross-Application embedability ·Shared dialogs and other controls ·Improved font handling ·Improved printing support - 12 - AbiWord's Cross-Platform Ambitions Why cross platform ? The framework - 13 - Why cross platform? 1.Freedom of code 2.Freedom of choice - 14 - The framework Our own framework. ·Pros: ·Integrate on each platform ·Faster and lighter ·Cons: ·More work - 15 - What we do Separate interfaces from implementation (abstraction) ·Abstract drawing canvas ·I18N and L10N ·Event mapper/dispatcher ·Abstract SOME controls ·Activate and manage dialogs ·Provide a cross-platform text formatter and management - 16 - What we don't do ·Manage the widget creation and layout. ·...Rewrite a complete graphics toolkit ·Render fonts - 17 - Platform implementor has to provide: ·Bindings between GUI events and the XP framework ·GUI layout for the word processor frame ·Ready made dialogs ·Graphics primitives ·Other platform specific features (fonts, printing, ...) - 18 - Portability ? Still high ! - 19 - The ultimate catch Cross platform AND cross application Ready made low level classes for any applications for each platform ·Toolbars ·Menus ·Graphics and font handling ·Printing ·A multitude of dialogs - 20 - How does that work? Two parts 1.The cross-application framework (XAP) 2.The application framework (AP) - 21 - The framework classes ·Interface XAP_Frame -> AP_Frame ·Implementation XAP_FrameImp -> XAP_GnomeFrameImp -> AP_GnomeFrameImp This is the revised architecture planned for 1.2 - 22 - How to Help AbiWord ? 1.Help us out with maintaining Bugzilla 2.File bugs and perform regression and stress tests 3.Help out with "bug-days" 4.Help answer questions on the abiword-user list 5.Write user and developer documentation 6.Translate or update an existing translation 7.Contribute code 8.Sponsor a developer 9.Port Abi to your favorite platform (eg: Qt/KDE, MacOS 9) - 23 - Conclusions - 24 - Questions? - 25 -.

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    25 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us