Later Breaking Information

In this section we tell you about things discovered after Update 1 was posted to the web and still too late to incorporate into the final product but which may be important for you to know.

Here is the list of items of which you should be aware:

Beware that these recommendations may or may not have received a thorough validation and are not guaranteed. That's why they are in "Later Breaking." Use at your own risk.

You should occasionally check our "Late Breaking" web page to see if we have posted additional update information for MacApp & ACS Release 13.

Sizers Replacements

For the following discussion please examine the contents of the 'Sizers' folder found in the 'Later Breaking' folder.

Some of the convenience view sizers implemented in USizer.h/.cp had not been fully tested and do not work as intended. These two files have been changed and replacements provided in the 'for MacApp/Libraries/Views/' folder. Simply place them into the proper 'Sources' and 'Includes' folders.

We are also providing an early sample application. To use the example drop the 'S' folder found insize the 'for CodeWarrior/Examples/A-Z/' folder into your 'MacApp & ACS Release 13: MacApp:CodeWarrior Support:Examples:A-Z:' folder. Now drop the 'S' folder found insize the 'for MacApp/Examples/A-Z/' folder into your 'MacApp & ACS Release 13: MacApp:MacApp:Examples:A-Z:' folder. Then open the 'for Ad Lib for MacApp Preferenc:' folder and drop the four templates and one palette into the 'Ad Lib for MacApp Preferences:' folder of your System's 'Preferences:' folder.

When Ad Lib is restarted after installing these preferences you should see a 'Sizer' palette with several sizer objects. If the palette doesn't show choose 'Sizers' from the Window:Objects menu.

Here are some handy constants you may want to know. For those sizers which require that you identify the target view which is to be watched for size changes you also have to specify what that view's relationship (child, peer or parent) is to the view to which the sizer behavior is attached. The constants you should use for this field are:

  • 0 = Child (eChildAssociation)
  • 1 = Peer (ePeerAssociation)
  • 2 = Parent (eParentAssociation)

The TMultiSizer allows you to specify a reaction for all four aspects of the base view and requires that you specify the reaction which takes place for a change in the top, left, height and width of the target view. Use one of the following for these four settings:

  • 0 = Do not adjust (eDontAdjust)
  • 1 = Offset by change in top or left (eAdjPosByTopOrLeft)
  • -1 = Offset negatively by change in top or left (eAdjNegByTopOrLeft)
  • 2 = Offset by change in bottom or right (eAdjPosByBotOrRight)
  • -2 = Offset negatively by change in bottom or right (eAdjNegByBotOrRight)

The TSizer allows you to specify a single aspect of the base view which is to react to a change in the target view. That aspect is specified by one of the following constants:

  • 0 = No aspect is to be changed (eNoMode)
  • 1 = Change the top (eTopMode)
  • 2 = Change the left (eLeftMode)
  • 3 = Change the height (eHeightMode)
  • 4 = Change the width (eWidthMode)

TSizer also requires one of the adjustment settings as specified for TMultiSizer except that it allows for a sixth value:

  • 3 = Proportional (eAdjProportional)

This setting indicates that the selected aspect of the base view is to be adjusted proportionally to the height or width. The top or left coordinate of the base view can be made proportional to any parent's width and the height or width can be proportional to any other view's width.

Complete instructions on how to use the sizer behaviors will be forthcoming. Please check out web page for announcements.

[We will be providing custom Ad Lib templates with popup settings for these in the future, making your job of specifying these values much easier.]

AppleGuide Support (Prerelease)

The Later Breaking folder contains a folder labelled: AppleGuide Support (Prerelease) . This folder contains a new suite which provides development quality support for AppleGuide. No example code is provided.

To use the AppleGuide support provided in this package include the source files in your own application.

Conversion to R13 (Update)

The 'Conversion to R13' folder found in the Later Breaking folder contains a complete replacement for the 'Conversion to13' folder found in the 'MacApp & ACS Release 13:Goodies:' folder.

The contents of this folder completely replace the contents of the existing MacApp:Goodies:Conversion to R13 folder. This contains updated scripts and release notes for conversion, plus it contains a working example converted application, Schedule, from the Developer University course, and a template project specially modified to facilitate conversion.

Installation

  1. Open your MacApp & ACS Release 13:MacApp: folder.
  2. Drag the folder in which you found this document (the one you are reading right now) onto the Goodies folder inside the MacApp & ACS Release 13:MacApp: folder you just opened.
  3. Click 'OK' to replace the old Conversion to R13 folder.

Java Support

The Later Breaking folder contains a folder called: Java Support (Prerelease). This suite provides alpha-quality support for the Macintosh Runtime for Java (MRJ).

Installation

  1. Install Apple's MRJ 1.5 which can be downloaded from our web site at http://applejava.apple.com.
  2. Copy the contents of the folders found in the same folder as this document you are reading right now into the relevant folders in ACS, MacApp:Examples:A-Z:, and MacApp:Metrowerks Support:Examples:A-Z:.
  3. Open the MacApplet example project, MacAppletPPC_d.¹. This example illustrates how to embed Java applets. Build this example and try running it.
  4. The Ad Lib template TJavaURLView is for creating instances of a TJavaURLView in Ad Lib with a URL reference embedded within the view.

Description of Classes

Most of the support for MRJ is encapsulated in ACS classes that can be reused independently of MacApp, but there are several MacApp convenience classes to aid the MacApp developer in getting started.

CJavaSession_AC provides application-level support for MRJ, and is intended to be mixed in with an application class such as TApplication. TJavaApplication is a reusable base application class that already mixes in CJavaSession_AC. *** API subject to change, to allow CJavaSession to be used by shared libraries. ***

CJavaContainer_AC and CJavaContext_AC provide much of the infrastructure for working with MRJ Java views. CJavaAutoContainer_AC is a version that handles Java window requests automatically, and assumes a direct binding between a Java applet and a window. TJavaContainer, TJavaAutoContainer, and TJavaContext are utility MacApp classes that have a TDocument reference, for convenient use with MacApp.

MJavaView_AC is a class intended to be mixed in with a view class such as TView. TJavaView is a reusable base view class that already mixes in MJavaView. TJavaURLView is a subclass that streams in a string resource containing a URL. TJavaAutoView and TJavaAutoMessageView are companion classes for CJavaAutoContainer.

Live Scroller ScrollBars

Also in the Later Breaking folder you will find a 'Live Scroller ScrollBars' folder.

This unit implements a scroller scrollbar with live thumb scrolling.

Usage

InitUScrollerScrollBar registers itself as the standard scroller scrollbar, so call this function to automatically allow your application's scroller scrollbars to become live. No other changes are required.

Add these files to your own application project.

Bug Fixes

The 'Bug Fixes' folder found inside the 'Later Breaking' folder contain a handful of replacement files which fix three serious bugs.

Usage

Drop these files into the appropriate MacApp or ACS folders. They will replace an existing file in every case.

Bugs Fixed

  • 1673700 - TScriptableObjectList::GetObjectsContainer should return container of first list object if its container isn't set.
  • 1674021 - MScritableObject doesn't handle list object. For example, if you specify document in enumerated form like document {1, 3, 4}. MacApp can't resolve the object. We should add list handling code in GetContainedObject method.
  • 1674434 - TDocument::DoAEClose shouldn't use auto pointer for close document command because the command will get deleted since it is not undoable.

The bug fixes have not been through thorough testing.



© Copyright 1997 by Apple Computer, Inc. -- Last Updated 9/10/97