Contents General Information Where to Find the Latest Platform files Newton 2.0 Release Notes MessagePad Release Notes General Information The platform files contain data tailored to different Newton products. They contain a collection of Newton system definitions, proto template definitions, constants, function help text (which appears at the bottom of the evaluate or script slot editors or inspector window when the function name is typed), a number of utility functions, and definitions for constants that reference the functions. The constant that represents a function is the function name with the prefix k and the suffix Func (that is, kfunctionnameFunc). The platform file functions are available at compile time; you can make them available at run time by incorporating them into your application in one of two ways: ¥ Call the function with the NewtonScript call syntax or the Apply function. This strategy saves space and time, because it does not require a slot in the base view and avoids inheritance lookup; it also works in code that doesnÕt have access to your base view, such as the remove script. Here is an example of using the call syntax to call a platform file function: call kNewInfoFunc with (arg1, arg2); There is a separate document which describes in detail all of the functions supplied by the platform files. For each platform file there is a corresponding "Defs" file. The Defs file is a reference text document which lists the definitions of all of the constants which are defined in the platform file. Included in these constants are the Magic Pointer constants which use the @num syntax. To update a project that was created with a previous version of a particular platform file do one of the following: 1) replace the previous platform file in the Platforms folder with the new platform file, and give the same name as the previous version. Then start NTK and open your project. or 2) put the new platform file in the Platforms folder (with a different name then the previous version), start NTK, open the project and change platform files from the project settings dialog from the project menu. Where to Find the Latest Platform files Since the platform files contain utility functions and fixes for both the Newton ROM and Newton Toolkit itself, they are updated periodically and released to developers independently of Newton Toolkit. The latest platform files can be found in the developer areas in the following locations: AppleLink: Newton, Newton Developer Info (this area is accessible by Newton Partners, Associates, and Associates Plus only) WorldWide Web: http://dev.apple.info.com/newton ftp: ftp.info.apple.com, Apple_Support_Area, Newton_Development Newton 2.0 Release Notes Several proto templates (and their corresponding Magic Pointer constants) have been renamed since previous versions of the Newton 2.0 platform file were released. Here is a list of the old and new names along with the Magic Pointer constant. previous name new proto name ------------------ ---------------------- newtshowbar -> newtFolderTab newtclockshowbar -> newtClockFolderTab protoCancelButton -> protoLargeClosebox protoRoutingSlip -> protoActionButton protoShowbar -> protoFolderTab newtentryviewrouting -> newtEntryViewActionButton newtentryviewfiling -> newtEntryViewFilingButton newtroutingbutton -> newtActionButton protonewshowbar -> protoNewFolderTab protoclockshowbar -> protoClockFolderTab History of changes since version 1.0: 1.2d2 Fix fxStepTime() and fxStepTimeMask. Make viewEffect constants and functions more readable. Enhance the platformVersion constant. Add help strings and supress compiler warnings for these compile time global functions: MeasureString, DefineGlobalConstant, UnDefineGlobalConstant, IsGlobalConstant, StuffHex. Add optional textFlags slot to clParagraphView proto template. Renamed the following magic pointer constants to reflect that the protos to which they point are deprecated in 2.0: protoCoverPageFormat -> protoCoverPageFormatDeprecated := @60 protoDateExpando -> protoDateExpandoDeprecated := @170 protoExpandoShell -> protoExpandoShellDeprecated := @175 protoPhoneExpando -> protoPhoneExpandoDeprecated := @194 protoTextExpando -> protoTextExpandoDeprecated := @227 Add back the proto templates for these protos (popup menu) but rename them to reflect that they are deprecated. (Note, the "~" suffix causes them to appear at the end of the popup template list.) ~protoPhoneExpandoDeprecated, ~protoDateExpandoDeprecated, ~protoTextExpandoDeprecated, ~protoExpandoShellDeprecated Add help strings and supress compiler warnings for these run time global functions: UnionRect, GetEntryDataDef, GetEntryDataView, GetDataView. Help strings for these 1.X global functions now indicate that they have been deprecated in 2.0: AddDeferredAction, AddDelayedAction, AddPowerOffHandler, ArrayPos, FormattedNumberStr GetGlobals, RemovePowerOffHandler, SmartStart, SmartConcat, SmartStop, StrTruncate, StrWidth. Add help strings and supress compiler warnings for global function StrokeBundleToInkWord. Add help strings and supress compiler warnings for global function UnRegTheseAppClasses and view methods GetActiveView, GetRouteScripts. Add protoPeoplePicker proto template. Remove digitBase slot from protoDigit proto template. protoTransaport proto template: InstallScript takes symbol not item as its parameter. Fixed some slots of protoTextPicker proto template. Changes to protoPrefsRollItem proto template. Add newtCheckBox proto template. Add newtEntryPageHeader proto template. Add newtPrefsView proto template. Add newtFalseEntryView proto template. Add kQuietSendAllFunc. Add kSetEventAlarmFunc. Fix to kGetPartCursorFunc. Add Email/Pager/Phone System registry functions: kRegEmailSystemFunc, kUnregEmailSystemFunc, kRegPagerTypeFunc, kUnregPagerTypeFunc, kRegPhoneTypeFunc, kUnregPhoneTypeFunc. Delete kNewMailMessageFunc. 1.2d1 Make several Magic Pointer constants private, including the expando MPs. Make Magic Pointer constants for protoPhonePad (@676) and protoTouchTonePad (@677) public. fix kGetPartCursorFunc. fix kLaunchPartEntryFunc. Remove protoBasicEndpoint proto template from layout popup picker (not a view proto). protoEndpoint now has the MessagePad 1.1 fix. It has a fix to work correctly with pre 1.3 MessagePads. For everything 1.3 or later, it simply uses the protoEndpoint from ROM. Of course, protoEndpoint has been deprecated, and protoBasicEndpoint should be used for Newton 2.0 compatible applications. protoEndpoint is provided for cross-platform developement only. Added kOpenRemoteControlDeprecatedFunc, kCloseRemoteControlDeprecatedFunc kSendRemoteControlCodeDeprecatedFunc, kEnableIRModuleDeprecatedFunc and kGetSCCSideBDeprecatedFunc which are just renamed versions of the same functions from the MessagePad platform file. 1.1d6 Change protoListView Magic Pointer constant name and make it private. Instead, the ListView proto template should use UnitReference('ListView,'protoListView). Make protoListView proto from the ROM extension (not the ROM proto) and add its many methods. Make several MP's private. Fix kGetPartEntryDataFunc, kLaunchPartEntryFunc and kSetExtrasInfoFunc. Add newtFolderTab and newtClockFolderTab protos. Update protoThumbnail proto. Add newtStatusBarNoClose proto. Add protoThumbnailFloater proto. 1.1d5 Add kInkChar. Add newtEditView proto's optionsFlags slot values: kNoOptions and kHasScrollersOption. Revised list of which Magic Pointers are private or public. Add kGetPartCursorFunc, kGetPartEntryDataFunc, kLaunchPartEntryFunc and kSetExtrasInfoFunc functions. Add kMissingImportsFunc. Remove kRegEmailSystemFunc and kUnRegEmailSystemFunc. Make UR and UnitReference will now work with constant folding. Make UnitReference & UR build time instead of global functions. Make LocObj & GetLayout build time instead of global functions. Add helpString for DoProgress global function. Add 1 argument (unit) to InkOffUnHobbled helpString. Add helpString for Clicker global function. Add helpString for RegisterCardSoup and UnRegisterCardSoup global functions. (methods in MessagePad platform file). Add helpString for GetShapeInfo global function. Add helpString for OffsetRect global function. Add helpString for Apply, Perform, PerformIfDefined, ProtoPerform, ProtoPerformIfDefined. Change the default viewFont slot for protoInputLine to "EditFont12". Add a titleIcon slot to protoTitle. Add Drag and Drop methods to the Methods list. Deprecate the Expando protos. Add optional label slot to protoRichLabelInputLine. Add optional statusBarSlot slot to newtApplication. Add view slot defaults to newtStatusBar. Remove newtLabelSymbolInputLine, newtQBELabelInputLine, newtQBETextView, newtROSymbolView, newtSmartPhoneView and newtSymbolView protos. Change the CancelRequest slot of protoTransport to take one argument: why. Add protoAddressPicker, protoClockFolderTab, protoNewFolderTab, protoCorrectInfo, protoWordInfo, protoWordInterp, protoDragger and protoDragNGo protos. Add protoDatePopup, protoDateNTimePopup, protoDateIntervalPopup, protoMultiDatePopup, protoYearPopup, protoTimePopup, protoAnalogTimePopup, protoTimeDeltaPopup and protoTimeIntervalPopup protos. Add protoPrinterChooserButton proto. 1.1d4 Add platform file version id information to constants (platformVersion). Cleaned up the Magic Pointer constant names and capitalization. Add help strings for several functions. Add unit reference functions and help strings: UnitReference, UR, DeclareUnit, DefineUnit, AliasUnit, AliasUnitSubset. Remove Magic Pointer import/export functions and help strings. Add help strings for several functions from Utility Function chapter of 2.0 NPG. Add help strings for several Entry functions. Cosmetic changes to existing help strings to match documentation. Constant folding functions are defined in the platform file install script for now until it is done in NTK. Fix kUpdateNamesRouteScriptsFunc which is used by both RegNamesSoupRouteScript and UnRegNamesRouteScript. Add kCardFileSafeRemoveLayoutFunc function. Remove Magic Pointer import/export functions: DeclareMagicPtrTable, PkgMagicPtr, ExportMagicPtrTable. Add kSupplantSoupDefFunc function. Add test for valid packageName to kAddExtraIconFunc. Replace the locale-related functions. Fix default value for protoOverview HitItem slot. 1.1d3 Added back all Magic Pointers for now. Non-public ones will be removed later. Add RegNamesSoupRouteScript and UnRegNamesRouteScript APIs. Add RegGlobalKeyboard and UnRegGlobalKeyboard APIs. Add GetCalendarMeetingTypes and GetCalendarMeetingTypeInfo APIs. Magic Pointer import/export functions are build time funcs, not consts. Add function help strings for Magic Pointer import/export functions. Add function help strings for GetPartFrameSlot and SetPartFrameSlot. Change in the platform file install script. Added icons for the protos in the tool palette. Fill out bottom row of tool palette by adding protoInfoButton. Fix protoStatusCloseBox and protoStatusIcon. Change default value for superSymbol slots. Fix some slot default values. Added selected slot for protoSoupOverview. 1.1d2 Remove constants for Magic Pointers that are not public. Correct the capitalization of the Magic Pointer constants. Add Magic Pointer import/export functions: GetPartFrameSlot, SetPartFrameSlot, DeclareMagicPtrTable, PkgMagicPtr, ExportMagicPtrTable. Add emailSystem registry functions. Add AddExtraIcon function. Add ShowBusyBox function. Several functions are in the platform file because they were not in the 1.X ROM. The ones that ARE available in the 2.0 ROM, are still provided, but have been renamed to warn the developer that the real function is available in the 2.0 ROM: kAddAlarmFunc becomes kAddAlarmDeprecatedFunc kFlushUserConfigFunc becomes kFlushUserConfigDeprecatedFunc kGetAlarmFunc becomes kGetAlarmDeprecatedFunc kGetAppAlarmKeysFunc becomes kGetAppAlarmKeysDeprecatedFunc kGetDefaultStoreFunc becomes kGetDefaultStoreDeprecatedFunc kGetUserConfigFunc becomes kGetUserConfigDeprecatedFunc kPtInBitMapFunc becomes kPtInBitMapDeprecatedFunc kRegFindAppsFunc becomes kRegFindAppsDeprecatedFunc kRegFormulasFunc becomes kRegFormulasDeprecatedFunc kRegPrefsFunc becomes kRegPrefsDeprecatedFunc kRegisterCardSoupFunc becomes kRegisterCardSoupDeprecatedFunc kRemoveAlarmFunc becomes kRemoveAlarmDeprecatedFunc kRemoveAppAlarmsFunc becomes kRemoveAppAlarmsDeprecatedFunc kSendFunc becomes kSendDeprecatedFunc kSetDefaultStoreFunc becomes kSetDefaultStoreDeprecatedFunc kSetExtrasInfoFunc becomes kSetExtrasInfoDeprecatedFunc kSetUserConfigFunc becomes kSetUserConfigDeprecatedFunc kUnRegFindAppsFunc becomes kUnRegFindAppsDeprecatedFunc kUnRegFormulasFunc becomes kUnRegFormulasDeprecatedFunc kUnRegPrefsFunc becomes kUnRegPrefsDeprecatedFunc kUnRegisterCardSoupFunc becomes kUnRegisterCardSoupDeprecatedFunc kUnionSoupIsNullFunc becomes kUnionSoupIsNullDeprecatedFunc 1.1d1 Updated magic pointers. Platform file now includes an installer frame for self intall/remove. Remove GetLocalFromStack and GetSelfFromStack which are MessagePad only. Add MakePage and MakeBlock. Add MakeBinary. Add GetLayout. Change default value of viewBounds for protoRecToggle. Text slot is required for protoLabelPicker. ProtoPrintFormat SetupSlip slot changed to SetupItem. Add comment to the default value for viewQuitScript for protoExpandoShell, protoKeyboard and ScriptSlots. Add kMilliSeconds and other time constants. Some Magic Pointers should not have "ROM_" prefix. Add string constants for companderName argument to VBO methods. Add DeleteTransport. Add one parameter to UnregDesktopConnTransport. Add SubstituteChars. Change some slots from required to optional. Change defaults for newtApplication and newtStationery of appSymbol and superSymbol. Fixed protoRecToggle. Change nil defaults for Rect slots. Fix some font related slots. Remove singleSelect slot for protoListPicker. AfterScript slot of newtApplication has a default value of nil. Add comment to the default values for ViewQuitScripts. MessagePad Release Notes History of changes since version 1.3: 1.5d2 Fix fxStepTime() and fxStepTimeMask. Make viewEffect constants and functions more readable. Enhance the platformVersion constant. Add help strings and supress compiler warnings for these compile time global functions: MeasureString, DefineGlobalConstant, UnDefineGlobalConstant, IsGlobalConstant, StuffHex. Add optional textFlags slot to clParagraphView proto template. 1.5d1 The pre 1.3 protoEndpoint fix (which worked in 1.1, but stopped working after that) works correctly again. Similarly, kOpenRemoteControlFunc, kCloseRemoteControlFunc, kSendRemoteControlCodeFunc kEnableIRModuleFunc and kGetSCCSideBFunc work correctly again. 1.4d5 Make LocObj & GetLayout build time instead of global functions. There was a bug in the pre 1.3 ROMs with protoEndpoint that was fixed in MessagePad 1.1. That fix has not worked properly since 1.1. The fix was removed from the MessagePad platform file (1.4d5e), but will be added back into future versions once it works correctly. For now, apps that use protoEndpoint must use the 1.1 MessagePad platform file to work properly on pre 1.3 MessagePads. Similarly, 5 API functions: kOpenRemoteControlFunc, kCloseRemoteControlFunc, kSendRemoteControlCodeFunc, kEnableIRModuleFunc and kGetSCCSideBFunc now call their correspond function if it exists in ROM, else they return nil (or [0,0,0,2,0,1,59,156,0,0,0,0] for kGetSCCSideBFunc). These functions will be fixed to work properly once again in future platform files. 1.4d4 Add platform file version id information to constants (platformVersion). Add GetPartFrameSlot and SetPartFrameSlot APIs. Add function help strings for GetPartFrameSlot and SetPartFrameSlot. Change in the platform file install script. Add floating point exceptions constants. Fill out bottom row of tool palette by adding protoTextExpando. Cleaned up the Magic Pointer constant capitalization. Cosmetic changes to existing help strings to match documentation. Constant folding functions are defined in the platform file install script for now until it is done in NTK. 1.4d3 Add MakePage and MakeBlock. Add MakeBinary. Add GetLayout. ProtoPrintFormat has MessagePad not 2.0 slots. Text slot is required for protoLabelPicker. Fix some font related slots. 1.4d2 Fix kstdButtonSpacing and ButtonBounds. Platform file now includes an installer frame for self intall/remove. 1.4d1 Fixed constants which are in the platform file and also in Constants.f (including kInfoDotChar).