[futurebasic] re [FB] HIAboutBox

Message: < previous - next > : Reply : Subscribe : Cleanse
Home   : June 2005 : Group Archive : Group : All Groups

From: "H. Gluender" <h@...>
Date: Sun, 12 Jun 2005 23:29:43 +0200
Steve Crossman wrote:

     Does anyone know if HIAboutBox is supported in 10.2?

     i think not.

-----------------------------------------------------------------------------

Dear Steve,

my demo for an OSX-compliant About-box is still available.
It used to be on the FB-dropbox which seems no longer available.

Please contact me offlist if you like to obtain the FB-project and 
the compiled demo-app.


Here is my announcement from Feb. 2004:

-----------------------------------------------------------------------------

Only recently (29. Jan. 2004) Robert Purves has pointed to the new 
Toolbox routine "HIAboutBox(.)" and has presented a little demo. The 
only drawback of this routine is its limitation to OS X 10.3.x 
(Panther) or newer. (Apple introduced its first HI-type routines with 
OS X 10.2.x (Jaguar).)

Consequently, this helpful Toolbox routine isn't contained in the 
CarbonLib and can't be used by those of us who write apps for OS 9.1 
and early OS X versions. (BTW, I should like to point to the fact 
that "FB Carbon"-compilation is somewhat a misnomer.)

The now available "About.incl" is real Carbon and runs with OS 
9.1.x/9.2.x as well as with early OS X versions. Hopefully it runs as 
well with OS X 10.3.x and newer -- I couldn't test that.

You may include the "About.incl" (essentially a "stand alone" module) 
with your projects ("Appearance" or "UltraLite" compiles) without 
much difficulties. Please read the following details about the 
required resources.



*****************************************************************************
About.incl
*****************************************************************************
- This FB^3 Include File contains code for presenting an "About Window"
   that conforms to Apple's "Aqua Human Interface Guidelines" Chapter 5
   (June 2002) and "OS X Human Interface Guidelines" Chapter 13 (Oct. 2002).

   It requires at least Mac OS 9.1.x with CarbonLib 1.5, or OS X 10.1.x .
   (It has been tested with Mac OS 9.1 and OS X 10.1.4/10.2.8 .)

- This FB^3 Include File is a "Stand Alone" module. Hence the modeless
   window ("About Box") has its own event handler and sets up its own
   globals.

   You must include the following FB header files
                     Tlbx CarbonEvents.Incl
                     Tlbx CFString.Incl           Use the supplied override!
                     Tlbx Icons.Incl

   ("FB^3 Release 7"-Compilations have successfully been performed with the
   "Appearance" and the "UltraLite" Runtimes.)

- To make the About.incl File work, you must provide a 'plst' resource
   that contains text for at least the following keys:
                     CFBundleDisplayName
                     CFBundleVersion
                     CFBundleShortVersionString
                     NSHumanReadableCopyright
                     CFBundleRightsReserved_prvt
                     CFBundleApplDescription_prvt

   and a 'TEXT'/'styl' resource combo (resID = 128) that contains (styled)
   text to appear in the scrolling text box. (Font "Lucida Grande" of
   ID 1024 and 11-point size are found to give optimum results with OS X
   _and_ OS 9.1/Classic.)

   Finally you must provide an 'icns' resource (resID = 128) containing at
   least your application's 128x128 (thumbnail) icon. (If you don't, an
   enlarged 32x32 icon will be used.)

- To display the "About Box", simply call "FN AboutWindow".

- Because the "About Box" uses a modeless window, one must take care for
   disabling the menu item from which it is opened and for enabling it after
   closing the "About Box", otherwise one could open several "About Boxes".

   (The "About Box" window has the identifier property 'abou' (UInt32) that
   may be retrieved by using the Mac Toolbox routine FN GetWindowProperty(.)
   with PropertyCreator 'HGab' and PropertyTag 'wdID'.)

- In case you get an "XY already defined"-Error during the compilation,
   then please comment out the corresponding variable type, toolbox or
   constant definition.
*****************************************************************************


HTH
-- 


                   Herbie

          ------------------------

          <http://www.gluender.de>