DIRECTORY GGEditTool, GGInterfaceTypes, GGUserProfile; GGEditToolImpl: CEDAR PROGRAM IMPORTS GGUserProfile EXPORTS GGEditTool = BEGIN MasterData: TYPE = REF MasterDataObj; MasterDataObj: TYPE = RECORD [ defaultGravityExtent: REAL _ 25.0, -- in screen dots defaultHeuristics: BOOL, objectsBeingCopied: LIST OF REF ANY -- for copying objects from viewer to viewer ]; SetDefaultHeuristics: PUBLIC PROC [on: BOOL] = { masterData.defaultHeuristics _ on; }; GetDefaultHeuristics: PUBLIC PROC RETURNS [on: BOOL] = { on _ masterData.defaultHeuristics; }; SetDefaultGravityExtent: PUBLIC PROC [inches: REAL] = { masterData.defaultGravityExtent _ inches*72.0; }; GetDefaultGravityExtent: PUBLIC PROC RETURNS [screenDots: REAL] = { screenDots _ masterData.defaultGravityExtent; }; masterData: MasterData; Init: PROC [] = { masterData _ NEW[MasterDataObj]; GGUserProfile.LookAtProfile[firstTime]; }; Init[]; END. „GGEditToolImpl.mesa Copyright c 1986 by Xerox Corporation. All rights reserved. Last edited by Bier on October 14, 1986 8:50:45 pm PDT Contents: Contains Gargoyle routines that are independent of viewer, or that involve the Gargoyle EditTool (a separate one-per-world viewer with Gargoyle functions).. No matter how many Gargoyle viewers are present, there is only one MasterData. When a new viewer is created, should heuristics be turned on? When a new viewer is created, should heuristics be turned on? When a new viewer is created, how strong should its gravity be? When a new viewer is created, how strong should its gravity be? ΚΚ˜J˜Icodešœ™Kšœ Οmœ1™