Difference between revisions of "Mac OS X Porting - Work Areas/Todo's"
m (→Areas and ToDo's Aqua Version) |
m |
||
Line 1: | Line 1: | ||
− | This page is intended to serve as a living ToDo | + | This page is intended to serve as a living ToDo list for the OpenOffice.org Mac OS X port. To keep things simple it contains the ToDos 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 todos 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. | 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 [mailto:ericb@openoffice.org] | If you're interested in contributing to the project please coordinate with Eric Bachard [mailto:ericb@openoffice.org] | ||
− | == Areas and | + | == Areas and ToDos Aqua Version == |
<br> | <br> | ||
{| style="vertical-align:top; text-align:left; background-color:#F0F0F0;" | {| style="vertical-align:top; text-align:left; background-color:#F0F0F0;" | ||
|- style="background-color:#99CCFF; font-weight:bold;" | |- style="background-color:#99CCFF; font-weight:bold;" | ||
− | | Messaging || Tino Rachui [mailto: | + | | Messaging || Tino Rachui [mailto:tra@openoffice.org] |
|} | |} | ||
Line 23: | Line 23: | ||
{| style="vertical-align:top; text-align:left; background-color:#F0F0F0;" | {| style="vertical-align:top; text-align:left; background-color:#F0F0F0;" | ||
|- style="background-color:#99CCFF; font-weight:bold;" | |- style="background-color:#99CCFF; font-weight:bold;" | ||
− | | Windowing || Tino Rachui [mailto: | + | | Windowing || Tino Rachui [mailto:tra@openoffice.org] |
|} | |} | ||
Line 69: | Line 69: | ||
|} | |} | ||
− | Work in progress, see : | + | Work in progress, see: [[Mac_OS_X_Porting_-_Native_Printing]] |
− | Description : | + | Description: |
− | '''OpenOffice.org side''' : | + | '''OpenOffice.org side''': |
AquaSalPrinter class is located in aqua/source/gdi/salprn.cxx | AquaSalPrinter class is located in aqua/source/gdi/salprn.cxx | ||
− | Headers are in : | + | Headers are in: |
− | vcl/inc/salinst.hxx | + | vcl/inc/salinst.hxx |
− | vcl/inc/salgdi.hxx | + | vcl/inc/salgdi.hxx |
vcl/inc/salprn.hxx | vcl/inc/salprn.hxx | ||
− | Aqua implementation : | + | Aqua implementation: |
− | aqua/inc/salprn.h | + | aqua/inc/salprn.h (AquaSalPrinter class implementation, inherits from SalPrinter) |
'''Mac OS X API side''': | '''Mac OS X API side''': | ||
− | Todo : implement missing methods, using Carbon API | + | Todo: implement missing methods, using Carbon API |
− | Link for Mac OS X API documentation : | + | Link for Mac OS X API documentation: |
http://developer.apple.com/documentation/Carbon/Reference/CarbonPrintingManager_Ref/index.html | http://developer.apple.com/documentation/Carbon/Reference/CarbonPrintingManager_Ref/index.html | ||
Line 127: | Line 127: | ||
New page has been updated. | New page has been updated. | ||
− | See : | + | See: [[Native Sound Implementation on Mac OS X]] |
− | Estimation of code remaining to write | + | Estimation of code remaining to write: 40% (macosxplayer.cxx mainly) |
− | + | ||
− | + | ||
− | + | ||
Line 147: | Line 144: | ||
|} | |} | ||
− | '''See''' | + | '''See''': [[Mac_OS_X_Porting_-_Data_Acquisition Data_Acquisition on Mac OS X]] |
<br> | <br> | ||
Line 164: | Line 161: | ||
|} | |} | ||
− | salatslayout.cxx License origin is justified here : http://qa.openoffice.org/issues/show_bug.cgi?id=23283] | + | salatslayout.cxx License origin is justified here: http://qa.openoffice.org/issues/show_bug.cgi?id=23283] |
− | '''OpenOffice.org side''' : | + | '''OpenOffice.org side''': |
1) Headers | 1) Headers | ||
− | 1.1) '''vcl/inc/salgdi.hxx''', including definition of : | + | 1.1) '''vcl/inc/salgdi.hxx''', including definition of: |
SalGraphics class | SalGraphics class | ||
− | 1.2) '''vcl/inc/sallayout.hxx''', including definitions of : | + | 1.2) '''vcl/inc/sallayout.hxx''', including definitions of: |
− | classes : | + | classes: |
ImplLayoutRuns | ImplLayoutRuns | ||
ImplLayoutArgs | ImplLayoutArgs | ||
Line 186: | Line 183: | ||
1.3) '''vcl/aqua/inc/salgdi.h''', including definitions of | 1.3) '''vcl/aqua/inc/salgdi.h''', including definitions of | ||
− | + | ||
− | classes : | + | classes: |
ImplMacFontData (inherits of ImplFontData) | ImplMacFontData (inherits of ImplFontData) | ||
Line 196: | Line 193: | ||
2.1) vcl/aqua/source/inc/salatslayout.cxx | 2.1) vcl/aqua/source/inc/salatslayout.cxx | ||
− | Implements the classes : | + | Implements the classes: |
− | + | ||
ATSLayout (inherits of SalLayout) | ATSLayout (inherits of SalLayout) | ||
− | existing ATSLayout methods are : | + | existing ATSLayout methods are: |
bool ATSLayout::LayoutText() | bool ATSLayout::LayoutText() | ||
void ATSLayout::AdjustLayout() | void ATSLayout::AdjustLayout() | ||
Line 212: | Line 209: | ||
bool ATSLayout::InitGIA() | bool ATSLayout::InitGIA() | ||
− | Other class : PolyArgs, implementing : | + | Other class: PolyArgs, implementing: |
void PolyArgs::Init() | void PolyArgs::Init() | ||
void PolyArgs::AddPoint() | void PolyArgs::AddPoint() | ||
Line 226: | Line 223: | ||
Carbon API implementation (binding) is made in salatslayout.cxx | 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 | + | 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 | Apple's starting page leading to deeper docs: http://developer.apple.com/documentation/TextFonts/Typography-date.html | ||
− | '''Todo-list for native font implementation :''' | + | '''Todo-list for native font implementation:''' |
− | - missing methods (to be implemented) : | + | - missing methods (to be implemented): |
'''bool ATSLayout::GetGlyphOutlines()''' | '''bool ATSLayout::GetGlyphOutlines()''' | ||
Line 239: | Line 236: | ||
'''ATSLayout::MoveGlyph()''' | '''ATSLayout::MoveGlyph()''' | ||
'''ATSLayout::DropGlyph()''' | '''ATSLayout::DropGlyph()''' | ||
− | '''ATSLayout::Simplify( )''' | + | '''ATSLayout::Simplify()''' |
− | - Fix known bugs : | + | - 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 | - Implement MultiSalLayout | ||
− | - Complete implementation | + | - Complete implementation |
- read Apple API [ Work in progress] | - read Apple API [ Work in progress] | ||
− | - describe current implementation : organisation / design [work in progress] | + | - describe current implementation: organisation / design [work in progress] |
- design of new implementation [FIXME] find examples | - design of new implementation [FIXME] find examples | ||
− | Estimation of code remaining to write | + | Estimation of code remaining to write ~40 % |
− | '''Done''' ( mainly Stephan Schaefer, with initial salatslayout.cxx file written by Herbert Duerr) | + | '''Done''' (mainly Stephan Schaefer, with initial salatslayout.cxx file written by Herbert Duerr) |
0.4 | 0.4 | ||
- adapt salatslayout.cxx to make it match with sallayout.hxx, and salgdi.hxx, saldata.hxx .etc | - 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 : | + | 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 ) | + | - 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 | - run it and fix instant crashs and verity there is no freeze | ||
Line 270: | Line 267: | ||
- define correct naming convention | - define correct naming convention | ||
- replace old SalGraphicsData object implementation (found in pre-aquavcl01 files, and now obsolete, because we won't use QDraw anymore) | - replace old SalGraphicsData object implementation (found in pre-aquavcl01 files, and now obsolete, because we won't use QDraw anymore) | ||
− | - understand current font implementation | + | - understand current font implementation (using old salatslayout.cxx) (work in progress) |
− | - analyse and describe Carbon binding in salatslayout.cxx | + | - analyse and describe Carbon binding in salatslayout.cxx (90% done) |
− | '''Resources''' : | + | '''Resources''': use sample code to test/initialize ATS server (using e.g. ATSUIDirectAccessDemo) |
− | For more informations, see : | + | For more informations, see: [[Fonts_starting_point_and_documentation]] |
− | == Areas and | + | == Areas and ToDos X11 Version == |
{| style="vertical-align:top; text-align:left; background-color:#F0F0F0;" | {| style="vertical-align:top; text-align:left; background-color:#F0F0F0;" |
Revision as of 12:08, 14 October 2006
This page is intended to serve as a living ToDo list for the OpenOffice.org Mac OS X port. To keep things simple it contains the ToDos 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 todos 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 ToDos Aqua Version
Messaging | Tino Rachui [2] |
Todo | Status | Assigned to |
Implement messaging infrastructure | New | Unassigned |
Windowing | Tino Rachui [3] |
Todo | Status | Assigned to |
Implement salframe.cxx | New | Unassigned |
Drawing | Stephan Schaefer |
Todo | Status | Assigned to |
Implement drawing support | In progress | Stephan Schaefer |
Native Printing support | Yvan BARTHÉLEMY |
Todo | Status | Assigned to |
Make some docs | In progress | Yvan BARTHÉLEMY |
Native look & feel for Print and Print Setup | New | Unassigned |
Panel for OpenOffice.org specific options | New | Unassigned |
Implement native Print support | New | Unassigned |
Implement native Print setup | New | Unassigned |
Work in progress, see: Mac_OS_X_Porting_-_Native_Printing
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
Key input | Unassigned [mailto: [???@openoffice.org] |
Todo | Status | Assigned to |
??? | New | Unassigned |
Native sound support | Eric Bachard [mailto: Name [4] |
Todo | Status | Assigned to |
Implement native sound support | Started | Eric Bachard |
New page has been updated.
See: Native Sound Implementation on Mac OS X
Estimation of code remaining to write: 40% (macosxplayer.cxx mainly)
Image Acquisition | Eric Bachard |
Todo | Status | Assigned to Unassigned [mailto: [???@openoffice.org] |
Implement Image Acquisition | In progress | Eric Bachard |
See: Mac_OS_X_Porting_-_Data_Acquisition Data_Acquisition on Mac OS X
Native font support | Eric Bachard [5] |
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: Fonts_starting_point_and_documentation
Areas and ToDos X11 Version
Packaging Packaging related tasks |
Oliver Braun [6] |
Todo | Status | Assigned to |
Improved packaging for OOo | Done | Oliver Braun |
Installation Installation related tasks |
Oliver Braun [7] |
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 [8] |
Todo | Status | Assigned to |
Allow opening of documents with path names that need to be escaped for shell scripts | Needs Tested see [9] | Shaun McDonald [10] |
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 [11] |
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 | Unassigned |
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 [12] | New | Unassigned |
Assurance Quality and Mac OS X port
Mac OS X QA | unassigned |
Todo | Status | Assigned to |
Collect informations and manage Mac OS X QA on the wiki | New | Unassigned |