'From etoys4.0 of 9 October 2008 [latest update: #2216] on 18 May 2009 at 1:45:40 am'! "Change Set: splitGeometry-sw Date: 18 May 2009 Author: Scott Wallace Splits the items formerly in the 'geometry' pane into two different categories -- for starters, the extra category is called 'more geometry', and the less widely-used items have been moved out to that new category. Caution: several misspellings in help-string wordings are corrected here: OLD: The x coordiante of rotation center in parent's coodinate system. The y coordiante of rotation center in parent NEW: The x coordinate of rotation center in parent's coordinate system The y coordinate of rotation center in parent's coordinate system "! !EToyVocabulary class methodsFor: '*flexiblevocabularies-scripting' stamp: 'sw 5/16/2009 05:45'! masterOrderingOfCategorySymbols "Answer a dictatorially-imposed presentation list of category symbols. This governs the order in which available vocabulary categories are presented in etoy viewers using the etoy vocabulary. The default implementation is that any items that are in this list will occur first, in the order specified here; after that, all other items will come, in alphabetic order by their translated wording." EToyVocabulary class decompile: #masterOrderingOfCategorySymbols. self flag: #(('scripts' translatedNoop) ('variables' translatedNoop) ('as object' translatedNoop)). ^ {'basic' translatedNoop. 'color' translatedNoop. 'geometry' translatedNoop. 'more geometry' translatedNoop. 'pen use' translatedNoop. 'tests' translatedNoop. 'motion' translatedNoop. 'fill & border' translatedNoop. 'scripting' translatedNoop. 'sound' translatedNoop. 'observation' translatedNoop. 'button' translatedNoop. 'layout' translatedNoop. 'drag & drop' translatedNoop. 'search' translatedNoop. 'miscellaneous' translatedNoop} collect: [:each | each asSymbol]! ! !Morph class methodsFor: 'scripting' stamp: 'sw 5/16/2009 05:42'! additionsToViewerCategoryGeometry "answer additions to the geometry viewer category" ^ #(geometry ( (slot x 'The x coordinate' Number readWrite Player getX Player setX:) (slot y 'The y coordinate' Number readWrite Player getY Player setY:) (slot heading 'Which direction the object is facing. 0 is straight up' Number readWrite Player getHeading Player setHeading:) (slot scaleFactor 'The factor by which the object is magnified' Number readWrite Player getScaleFactor Player setScaleFactor:) (slot left 'The left edge' Number readWrite Player getLeft Player setLeft:) (slot right 'The right edge' Number readWrite Player getRight Player setRight:) (slot top 'The top edge' Number readWrite Player getTop Player setTop:) (slot bottom 'The bottom edge' Number readWrite Player getBottom Player setBottom:) (slot forwardDirection 'The angle of my forward direction without rotating myself' Number readWrite Player getForwardDirection Player setForwardDirection: ) ) ) ! ! !Morph class methodsFor: 'scripting' stamp: 'sw 5/18/2009 01:38'! additionsToViewerCategoryMoreGeometry "answer additions to the more geometry viewer category" ^ #(#'more geometry' ( (slot location 'The position of the object, expressed as a point' Point readWrite Player getLocationRounded Player setLocation:) (slot length 'The length' Number readWrite Player getLength Player setLength:) (slot width 'The width' Number readWrite Player getWidth Player setWidth:) (slot headingTheta 'The angle, in degrees, that my heading vector makes with the positive x-axis' Number readWrite Player getHeadingTheta Player setHeadingTheta:) (slot distance 'The length of the vector connecting the origin to the object''s position' Number readWrite Player getDistance Player setDistance:) (slot theta 'The angle between the positive x-axis and the vector connecting the origin to the object''s position' Number readWrite Player getTheta Player setTheta: ) (slot rotationCenterX 'The x coordinate of rotation center in parent''s coordinate system.' Number readWrite Player getRotationCenterX Player setRotationCenterX: ) (slot rotationCenterY 'The y coordinate of rotation center in parent''s coordinate system.' Number readWrite Player getRotationCenterY Player setRotationCenterY: ) "(command forceAxisToX: 'Force change x of axis for rotation' Number ) (command forceAxisToY: 'Force change y of axis for rotation' Number )" ) ) ! !