PackageDescription: GHMacOSXLookFeel

GH Mac OSX Look Feel

Last published: June 7, 2002 by 'tgriggs'

Defines 26 Classes
Extends 32 Classes

This is an implementation of a look&feel compliant to the Aqua-Look of MacOS X.

The following widgets have been implemented so far:
ActionButton - fixed height, color backgrounds on buttons are not displayed,
default buttons can be set to blink,
Scrollbars - pretty good,
RadioButton, CheckBox,
Slider, Menus, MenuBars,
MenuButton, SpinBox,
ComboBox - complete,
ProgressBar - complete,
TabControl - Tab images miss Masks on round corners,
Dialogs - all get the special MacOS X dialog background pattern.

Class MacOSXResize test serves as an example for all widgets. Look at its postBuildWith: method for some special features, which have to be enabled manually.

Georg Heeg 2000/01/02
Author: Roland Wagener
Version History

1.0 - published for 5i.3,
1.1 - fixed Development Prerequisites,
1.2 - removed prereqisites for 5i.4, added MacResizeTest from obsolete 'GHMacLookFeel' to this parcel, changed scrollBar layout and look for more compatibility,
1.3 - added class side image caches for MacOSXScrollBar,
1.4 - fixed wrong sequence of initialization in MacOSXBorderDecorationPolicy,
1.5 - adapted for real MacOS X: no Patterns in Dialogs and Menus, fixed Aqua color blue,
1.6 - fixed grayMarker calculation in Scrollbars, has to be done like on Windows,
1.7 - fixed other disabledImage generating methods to use Windows style calculation,
1.8 - forgot the ComboBoxView to do the same as, replaced usage of Pattern in MacOSXResizeTest initialization,
1.9 - replaced another pattern with a ColorValue in MacOSXMenuButtonView,
1.10 - removed false reflecting of source image in MacOSXScrollBar>verticalMarkerAt:,
1.11 - excluded MacOSX from GrowBox painting in MacOSXResizeTest (quite an odd name right now!),
1.12 - returned to Pattern usage in menus, dialogs and buttons on 18th July 2001, show the GrowBox, but remove the GrowBoxController for MacOS X,
1.13 - really remove the GrowBoxController on MacOS X,
1.50 - first candidate for public MacOS X release,
1.51 - fixed MacOSXMenuView>openFromMenuBarButton: to use mapAndStartUpEventDriven,
1.52 - added Screen default flush to MacOSXActionButton display methods,
1.53 - fixed performance of MacOSXVisualPairButton>displayInvactiveOn: ,
1.54 - enhanced performance for MacOSXActionButtonView button image calculations,
1.55 - fixed initialization problem, -> this made it onto 5i.4 CD,
1.56 - refactored some stuff because of a smallLint session,
1.57 - added MacOSXProgressWidgetView and some methods in the framework, so that depending on the LookPolicy a specific ProgressWidgetClass can be used,
1.58 - changed color of progress bar (still not satisfied with color),
1.59 - changed image caches to make use of Travis Griggs Cache objects, si only a limited number of images is stored when using MacOSXLookFeel,
1.60 - incorporated the Cache class as class ImageCache into the parcel,
1.61 - fixed bug in Imagecache>initialize, refactored MacXProgressWidgetView, put a better image into class shared Pattern,
1.62 - enhanced MacXProgressWidgetView to show a 'moving image', removed borders,
1.63 - optimized performance of MacXProgressWidget,
1.64 - changed initialization of selection color from OS resources in MacOSXWidgetPolicy,
1.65 - removed all 'Screen default flush' from MacOSXActionButtonView, (VW7.0beta on MacOSX)
1.66 - changed MacOSXActionButtonView display behaviour for normal buttons, a pressed normal button now looks like a default button, as seen in various MacOSX SystemPreferences panels,
1.67 - fixed MacOSXProgressWidgetView to be compatible with UIPainter,
1.68 - fixed wrong resize behaviour in ***resizeTest classes, removed obsolete border arround MacOSXProgressWidgetView,
1.69 - fixed MenuBarButton drawing and MenuBar related Menu placement,
1.70 - fixed background pattern display for MacXProgressWidgetView, added patch to display window background when using DoubleBuffering,
1.71 - added color changes to Store.Notice postBuildWith: method,
1.72 - removed changes to Store.Notice, re-implemented images and display of MacOSXProgressWidget, now it has constant height and coloring,
1.73 - adjusted clipping rectangle for image display in MacOSXProgressWidget>displayOn: ,
1.74 - sdjusted offsets, origins, and clipping rectangle for image display in MacOSXProgressWidget>displayOn: ,
1.75 - added missing shared variable to MacOSXProgressWidget, re-introduced tiny change to Store.Notice>postOpenWith:,
1.76 - added 'lost' class method, removed obsolete methods,
1.77 - added another lost displayOn: method,
1.78 - switched menu controlling to use Win95Menu* controllers, its hard to belive, but it works better ;-)
1.79 - uses new lookCode 5 for MacOS X,
1.80 - fixed display of Radio and Checkbox label colors, renamed MacXProgressWidgetView to MacOSXProgressWidgetView,
1.81 - enhanced disabled colors for Radio and Checkbox labels,
1.82 - introduced MacOSXTabControlBars,
1.83 - cleaned up MacOSXTabControlBarView,
1.84 - modified MacOSMenuButton to use an image instead of a Pattern for display,
1.84a - reverted lookCode change from 1.79 back to original (1) for compatibility with current 7.0 images,