Difference between revisions of "Mac OS X Porting - Native Controls"

From Apache OpenOffice Wiki
Jump to: navigation, search
(Tradeoff between the Appearance Manager and HITheme)
(Tradeoff between the Appearance Manager and HITheme)
Line 8: Line 8:
 
* [http://developer.apple.com/documentation/UserExperience/Conceptual/OSXHIGuidelines/index.html Apple Human Interface Guidelines]
 
* [http://developer.apple.com/documentation/UserExperience/Conceptual/OSXHIGuidelines/index.html Apple Human Interface Guidelines]
  
==Tradeoff between the Appearance Manager and HITheme==
+
==The Appearance Manager and HITheme==
 
Apple provides an easy way to change a custom user interface to an aqua interface, by using the Appearance Manager(AM). This API was first developed for Mac OS 8 and is centered around QuickDraw. The AM is less and less supported by Apple since 10.2 and any implementation needs to be replaced with the [http://developer.apple.com/referencelibrary/Carbon/idxHumanInterfaceToolbox-date.html HIToolbox] version: HITheme. The problem with HITheme is that its implementation started on Mac OS X 10.2 (Jaguar) and has since gone under many revisions and new functions have been progressively added with each new version of OS X. Therefore some functions in the 10.4 version might not be in 10.3 or 10.2. This will probably be one of the reason why the native version of OpenOffice.org will run on Mac OS X 10.4 and higher only. Unfortunately there is not much documentation provided by Apple about HITheme. Thus we have to look at the HITheme.h header file directly and read the extensive comments to understand how to use this API. All the constants to describe the type of controls that we want to implement is still the same as in the AM. This is the reason why the AM reference document is still useful.
 
Apple provides an easy way to change a custom user interface to an aqua interface, by using the Appearance Manager(AM). This API was first developed for Mac OS 8 and is centered around QuickDraw. The AM is less and less supported by Apple since 10.2 and any implementation needs to be replaced with the [http://developer.apple.com/referencelibrary/Carbon/idxHumanInterfaceToolbox-date.html HIToolbox] version: HITheme. The problem with HITheme is that its implementation started on Mac OS X 10.2 (Jaguar) and has since gone under many revisions and new functions have been progressively added with each new version of OS X. Therefore some functions in the 10.4 version might not be in 10.3 or 10.2. This will probably be one of the reason why the native version of OpenOffice.org will run on Mac OS X 10.4 and higher only. Unfortunately there is not much documentation provided by Apple about HITheme. Thus we have to look at the HITheme.h header file directly and read the extensive comments to understand how to use this API. All the constants to describe the type of controls that we want to implement is still the same as in the AM. This is the reason why the AM reference document is still useful.
  

Revision as of 19:11, 2 September 2006

Native Controls

Introduction

The purpose of this article is to present our current knowledge and progress of the implementation of native controls in the native Mac OS X version of OpenOffice.org. Our goal by implementing native controls is to remove the win32 look as much as possible and replace it by the Aqua look and feel using the Carbon API.

Apple Documentation and References

The Appearance Manager and HITheme

Apple provides an easy way to change a custom user interface to an aqua interface, by using the Appearance Manager(AM). This API was first developed for Mac OS 8 and is centered around QuickDraw. The AM is less and less supported by Apple since 10.2 and any implementation needs to be replaced with the HIToolbox version: HITheme. The problem with HITheme is that its implementation started on Mac OS X 10.2 (Jaguar) and has since gone under many revisions and new functions have been progressively added with each new version of OS X. Therefore some functions in the 10.4 version might not be in 10.3 or 10.2. This will probably be one of the reason why the native version of OpenOffice.org will run on Mac OS X 10.4 and higher only. Unfortunately there is not much documentation provided by Apple about HITheme. Thus we have to look at the HITheme.h header file directly and read the extensive comments to understand how to use this API. All the constants to describe the type of controls that we want to implement is still the same as in the AM. This is the reason why the AM reference document is still useful.

Overview of the Files that we need to deal with + graph

Overview of the Apple documentation that we need

List of all the controls to change + pictures (VCL<->Apple) equivalent

To do

Pictures of the current state

-- Pdefilippis aliscafo@gmail.com

Personal tools