Mac OS X Porting - Work Areas/Todo's
This page is intended to serve as a living ToDo's list for the OpenOffice.org Mac OS X port. To keep things simple it contains the ToDo's for both the X11 version and the upcoming Aqua version of OpenOffice.org for Mac OS X. The page is divided into different work areas which either assigned to a person in charge or are unassigned yet. Below each area there is a detailed list of todo's which has to be maintained by the respective people himself. Persons who are in charge of a certain area are responsible for keeping their respective part of the page up-to-date.
If you're interested in contributing to the project please coordinate with Eric Bachard [1]
Areas and ToDo's X11 Version
Packaging Packaging related tasks |
Oliver Braun [2] |
Todo | Status | Assigned to |
Improved packaging for OOo | Done | Oliver Braun |
Installation Installation related tasks |
Oliver Braun [3] |
Todo | Status | Assigned to |
Provide an improved installer for OOo | New | Oliver Braun |
Error messages during installation when no X11 is installed | Started (messages need to be localised and more info supplied) | Unassigned |
Support language pack instalation | New | Unassigned |
Desktop Integration Desktop integration related tasks |
Oliver Braun [4] |
Todo | Status | Assigned to |
Allow opening of documents with path names that need to be escaped for shell scripts | Needs Tested see [5] | Shaun McDonald [6] |
Save documents in ~/Documents by default | New | Unassigned |
Use the Mac OS X key chain for document signing | New | Unassigned |
Read proxy settings and user information from the system settings | New | Unassigned |
Mac OS X address book integration | New | Unassigned |
Make use of the Mac OS X spell checker | New | Unassigned |
Improved clipboard support | New | Unassigned |
Support for standard Mac OS X shortcuts according to HI guideline | New | Unassigned |
Integrate native FileOpen/FileSave dialog into OOo | Started | Florian Heckl [7] |
Printing | Unassigned [mailto: Name [??@openoffice.org] |
Todo | Status | Assigned to |
Improved printing support (CUPS) | Done | Mox Soini, Oliver Braun |
Use the native print dialog in OOo | New | Yvan BARTHÉLEMY |
Native sound support | Eric Bachard [mailto: Name [8] |
Todo | Status | Assigned to |
Implement native sound support | Started | Eric Bachard |
New page has been updated.
See : http://wiki.services.openoffice.org/wiki/Native_Sound_Implementation_on_Mac_OS_X
Estimation of code remaining to write : 40% ( macosxplayer.cxx mainly)
Ease of use | Unassigned [mailto: Name [??@openoffice.org] |
Todo | Status | Assigned to |
Reduce visible toolbars | New | Unassgined |
Suppress icons in OOo menus by default | New | Unassigned |
Suppress xterm window when launching OOo | New | Unassigned |
Implement NeoLight plugin | Unassigned [mailto: Name [??@openoffice.org] |
Todo | Status | Assigned to |
Implement NeoLight (spothlight plugin) in OpenOffice.org 2.0. For more informations, please have a look at [9] | New | Unassigned |
Areas and ToDo's Aqua Version
Messaging | Tino Rachui [mailto: [tra@openoffice.org] |
Todo | Status | Assigned to |
Implement messaging infrastructure | New | Unassigned |
Windowing | Tino Rachui [mailto: [tra@openoffice.org] |
Todo | Status | Assigned to |
Implement salframe.cxx | New | Unassigned |
Drawing | Stephan Schaefer |
Todo | Status | Assigned to |
Implement drawing support | In progress | Stephan Schaefer |
Key input | Unassigned [mailto: [???@openoffice.org] |
Todo | Status | Assigned to |
??? | New | Unassigned |
Image Acquisition | Eric Bachard |
Todo | Status | Assigned to Unassigned [mailto: [???@openoffice.org] |
Implement Image Acquisition | In progress | Eric Bachard |
See : Data_Acquisition on Mac OS X
Native Printing support | Unassigned [mailto: [???@openoffice.org] |
Todo | Status | Assigned to |
??? | New | Unassigned |
Description :
OpenOffice.org side :
AquaSalPrinter class is located in aqua/source/gdi/salprn.cxx
Headers are in :
vcl/inc/salinst.hxx vcl/inc/salgdi.hxx vcl/inc/salprn.hxx
Aqua implementation : aqua/inc/salprn.h (AquaSalPrinter class implementation, inherits from SalPrinter)
Mac OS X API side:
Todo : implement missing methods, using Carbon API
Link for Mac OS X API documentation :
http://developer.apple.com/documentation/Carbon/Reference/CarbonPrintingManager_Ref/index.html
Native font support | Eric Bachard [10] |
Todo | Status | Assigned to |
ATS | Started | Eric Bachard |
salatslayout.cxx License origin is justified here : http://qa.openoffice.org/issues/show_bug.cgi?id=23283]
OpenOffice.org side :
1) Headers 1.1) vcl/inc/salgdi.hxx, including definition of : SalGraphics class
1.2) vcl/inc/sallayout.hxx, including definitions of : classes : ImplLayoutRuns ImplLayoutArgs SalLayout MultiSalLayout (inherits of SalLayout) GenericSalLayout structures: struct GlyphItem 1.3) vcl/aqua/inc/salgdi.h, including definitions of classes : ImplMacFontData (inherits of ImplFontData) AquaSalGraphics (inherits of SalGraphics, does have ATSLayout as friend class) 2) Implementation 2.1) vcl/aqua/source/inc/salatslayout.cxx Implements the classes : ATSLayout (inherits of SalLayout) existing ATSLayout methods are : bool ATSLayout::LayoutText() void ATSLayout::AdjustLayout() void ATSLayout::DrawText() int ATSLayout::GetNextGlyphs() long ATSLayout::GetTextWidth() long ATSLayout::FillDXArray() int ATSLayout::GetTextBreak() void ATSLayout::GetCaretPositions() bool ATSLayout::GetBoundRect() bool ATSLayout::InitGIA()
Other class : PolyArgs, implementing : void PolyArgs::Init() void PolyArgs::AddPoint() void PolyArgs::ClosePolygon() OSStatus MyATSCubicMoveToCallback() OSStatus MyATSCubicLineToCallback() OSStatus MyATSCubicCurveToCallback() OSStatus MyATSCubicClosePathCallback ()
Mac OS X API side:
Carbon API implementation (binding) is made in salatslayout.cxx
ATS and ATSUI starting point : http://developer.apple.com/documentation/Carbon/Conceptual/ATS_Concepts/atsfonts_intro/chapter_1_section_1.html
Apple's starting page leading to deeper docs: http://developer.apple.com/documentation/TextFonts/Typography-date.html
Todo-list for native font implementation :
- missing methods (to be implemented) :
bool ATSLayout::GetGlyphOutlines() ATSLayout::InitFont() ATSLayout::MoveGlyph() ATSLayout::DropGlyph() ATSLayout::Simplify( )
- Fix known bugs : MultiLine does not work (writer cannot be used, because) Bad keyboard/charset ? (missig chars) When redrawing, everything is redrawn using the most little font size -> even the dialog boxes on menu bars Bad values returned
- Implement MultiSalLayout - Complete implementation - read Apple API [ Work in progress] - describe current implementation : organisation / design [work in progress] - design of new implementation [FIXME] find examples
Estimation of code remaining to write ~40 %
Done ( mainly Stephan Schaefer, with initial salatslayout.cxx file written by Herbert Duerr)
0.4
- adapt salatslayout.cxx to make it match with sallayout.hxx, and salgdi.hxx, saldata.hxx .etc to make it build with aquavlcl01, and do some tests : - verify this server can be initialized inside OpenOffice.org (needs a CFRunLoop working to be correctly initialized ) - run it and fix instant crashs and verity there is no freeze
0.3
- fix compilations issues - rewrite complete salatslayout.cxx - verify salatsfontutils.cxx definition does match with new salatslayout.cxx content - define correct naming convention - replace old SalGraphicsData object implementation (found in pre-aquavcl01 files, and now obsolete, because we won't use QDraw anymore) - understand current font implementation ( using old salatslayout.cxx ) ( work in progress ) - analyse and describe Carbon binding in salatslayout.cxx [ 90% done]
Resources : use sample code to test/initialize ATS server ( using e.g. ATSUIDirectAccessDemo )
For more informations, see : http://wiki.services.openoffice.org/wiki/Fonts_starting_point_and_documentation