A new version of DrGeoII-Etoys was added to project Etoys Inbox: http://source.squeak.org/etoysinbox/DrGeoII-Etoys-HilaireFernandes.7.mcz
==================== Summary ====================
Name: DrGeoII-Etoys-HilaireFernandes.7 Author: HilaireFernandes Time: 2 June 2010, 9:57:23 pm UUID: d246f960-6d3f-4daf-8982-bbce24a6ccf2 Ancestors: DrGeoII-Etoys-HilaireFernandes.6
Push DrGeo in Etoys Inbox
==================== Snapshot ====================
SystemOrganization addCategory: #'DrGeoII-Etoys'!
----- Method: DrGPointCostume>>getCurveAbscissa (in category '*DrGeoII-Etoys-scripting') ----- getCurveAbscissa (mathItem respondsTo: #abscissa) ifTrue: [^ mathItem exist ifTrue: [mathItem abscissa] ifFalse: [nil]] ifFalse: [^ nil]!
----- Method: DrGPointCostume>>getWorldX (in category '*DrGeoII-Etoys-scripting') ----- getWorldX ^mathItem point x!
----- Method: DrGPointCostume>>getWorldY (in category '*DrGeoII-Etoys-scripting') ----- getWorldY ^mathItem point y!
----- Method: DrGPointCostume>>setCurveAbscissa: (in category '*DrGeoII-Etoys-scripting') ----- setCurveAbscissa: aFloat (mathItem respondsTo: #abscissa:) ifTrue: [mathItem setCurveAbscissa: aFloat. self domain updateAllMathItems]!
----- Method: DrGPointCostume>>setWorldX: (in category '*DrGeoII-Etoys-scripting') ----- setWorldX: aFloat self domain moveEvent: mathItem at: aFloat @ mathItem point y !
----- Method: DrGPointCostume>>setWorldY: (in category '*DrGeoII-Etoys-scripting') ----- setWorldY: aFloat self domain moveEvent: mathItem at: mathItem point x @ aFloat !
----- Method: DrGValueCostume>>getMathItemValue (in category '*DrGeoII-Etoys-scripting') ----- getMathItemValue ^mathItem valueItem!
----- Method: DrGValueCostume>>setMathItemValue: (in category '*DrGeoII-Etoys-scripting') ----- setMathItemValue: aValue | freeValue | freeValue := self mathItem. freeValue class = DrGFreeValueItem ifTrue: [freeValue valueItem: aValue. self domain updateAllMathItems . self redraw]!
----- Method: DrGValueMorph classSide>>additionsToViewerCategoryDrGeo (in category '*DrGeoII-Etoys-flexiblevocabularies-scripting') ----- additionsToViewerCategoryDrGeo ^ #(drgeo ( (slot value 'The math item value' Number readWrite Player getMathItemValue Player setMathItemValue:) )) !
----- Method: DrGValueMorph>>getMathItemValue (in category '*DrGeoII-Etoys-scripting') ----- getMathItemValue ^costume getMathItemValue!
----- Method: DrGValueMorph>>setMathItemValue: (in category '*DrGeoII-Etoys-scripting') ----- setMathItemValue: aValue costume setMathItemValue: aValue!
----- Method: Player>>getCurveAbscissa (in category '*DrGeoII-Etoys-slots') ----- getCurveAbscissa ^costume getCurveAbscissa!
----- Method: Player>>getMathItemValue (in category '*DrGeoII-Etoys-slots') ----- getMathItemValue ^costume getMathItemValue!
----- Method: Player>>getWorldX (in category '*DrGeoII-Etoys-slots') ----- getWorldX ^costume getWorldX!
----- Method: Player>>getWorldY (in category '*DrGeoII-Etoys-slots') ----- getWorldY ^costume getWorldY!
----- Method: Player>>setCurveAbscissa: (in category '*DrGeoII-Etoys-slots') ----- setCurveAbscissa: aFloat costume setCurveAbscissa: aFloat!
----- Method: Player>>setMathItemValue: (in category '*DrGeoII-Etoys-slots') ----- setMathItemValue: aValue ^ costume setMathItemValue: aValue!
----- Method: Player>>setWorldX: (in category '*DrGeoII-Etoys-slots') ----- setWorldX: aFloat costume setWorldX: aFloat!
----- Method: Player>>setWorldY: (in category '*DrGeoII-Etoys-slots') ----- setWorldY: aFloat costume setWorldY: aFloat!
----- Method: DrGPointMorph classSide>>additionsToViewerCategoryDrGeo (in category '*DrGeoII-Etoys-flexiblevocabularies-scripting') ----- additionsToViewerCategoryDrGeo ^ # (drgeo ( (slot curveAbscissa 'The abscissa of this point on the curve' Number readWrite Player getCurveAbscissa Player setCurveAbscissa:) (slot Xw 'The x coordinate in the DrGeoII world coordinate system' Number readWrite Player getWorldX Player setWorldX:) (slot Yw 'The y coordinate in the DrGeoII world coordinate system' Number readWrite Player getWorldY Player setWorldY:) ))!
----- Method: DrGPointMorph>>getCurveAbscissa (in category '*DrGeoII-Etoys-scripting') ----- getCurveAbscissa ^costume getCurveAbscissa!
----- Method: DrGPointMorph>>getWorldX (in category '*DrGeoII-Etoys-scripting') ----- getWorldX ^costume getWorldX!
----- Method: DrGPointMorph>>getWorldY (in category '*DrGeoII-Etoys-scripting') ----- getWorldY ^costume getWorldY!
----- Method: DrGPointMorph>>setCurveAbscissa: (in category '*DrGeoII-Etoys-scripting') ----- setCurveAbscissa: aFloat costume setCurveAbscissa: aFloat!
----- Method: DrGPointMorph>>setWorldX: (in category '*DrGeoII-Etoys-scripting') ----- setWorldX: aFloat costume setWorldX: aFloat!
----- Method: DrGPointMorph>>setWorldY: (in category '*DrGeoII-Etoys-scripting') ----- setWorldY: aFloat costume setWorldY: aFloat!
----- Method: DrGPointMorph>>x: (in category '*DrGeoII-Etoys-scripting') ----- x: aNumber | oldPosition newX | newX := costume drawable morphAbscissaToWorld: (self referencePlayfield cartesianOrigin x + aNumber). oldPosition := costume mathItem point. costume drawable view domain moveEvent: costume mathItem at: newX@oldPosition y!
----- Method: DrGPointMorph>>y: (in category '*DrGeoII-Etoys-scripting') ----- y: aNumber | oldPosition newY| newY := costume drawable morphOrdinateToWorld: (self referencePlayfield cartesianOrigin y - aNumber + 0). oldPosition := costume mathItem point. costume drawable app domain moveEvent: costume mathItem at: oldPosition x @ newY!
BorderedMorph subclass: #DrGService instanceVariableNames: 'app area' classVariableNames: '' poolDictionaries: '' category: 'DrGeoII-Etoys'!
----- Method: DrGService classSide>>descriptionForPartsBin (in category 'parts bin') ----- descriptionForPartsBin ^ (DescriptionForPartsBin formalName: 'Dr. Geo' categoryList: #('Graphics' 'Tools' ) documentation: 'An interactive geometry canvas to draw dynamic geometric sketch. Open the Morph menu to get access to the construction tools and more.' translated globalReceiverSymbol: #DrGeo nativitySelector: #sample) sampleImageForm: DrGIcons angle!
----- Method: DrGService classSide>>in: (in category 'instance creation') ----- in: aDrgeo ^ self basicNew app: aDrgeo; initialize!
----- Method: DrGService classSide>>with: (in category 'instance creation') ----- with: aDrgeoModel ^ self basicNew initialize: aDrgeoModel!
----- Method: DrGService>>add:menuItemBtn:to: (in category 'menu') ----- add: btnSelector menuItemBtn: array to: menu menu add: array first target: self selector: #giveMeButton: argument: btnSelector. menu lastItem icon: (DrGIcons scaled16: array second); setBalloonText: array fourth !
----- Method: DrGService>>addCustomMenuItems:hand: (in category 'menu') ----- addCustomMenuItems: menu hand: aHandMorph "super addCustomMenuItems: menu hand: aHandMorph." | submenu | menu addLine. submenu := MenuMorph new. self addToolsMenuItems: submenu hand: aHandMorph. menu add: 'Dr. Geo tools' translated subMenu: submenu. submenu := MenuMorph new. self addGetButtonsMenuItems: submenu hand: aHandMorph. menu add: 'Give me Dr. Geo buttons' translated subMenu: submenu!
----- Method: DrGService>>addGetButtonsMenuItems:hand: (in category 'menu') ----- addGetButtonsMenuItems: menu hand: aHandMorph "from this menu we can ask for buttons to plug arround" self addPointBtnMenuItems: menu hand: aHandMorph. self addLineBtnMenuItems: menu hand: aHandMorph. self addTransformationBtnMenuItems: menu hand: aHandMorph. self addNumericBtnMenuItems: menu hand: aHandMorph. self addMacroBtnMenuItems: menu hand: aHandMorph. self addOtherBtnMenuItems: menu hand: aHandMorph.!
----- Method: DrGService>>addLineBtnMenuItems:hand: (in category 'menu') ----- addLineBtnMenuItems: menu hand: aHandMorph | subMenu | subMenu := MenuMorph new. self add: #lineBtn menuItemBtn: self drgeoPresenter lineButtonData to: subMenu. self add: #parallelBtn menuItemBtn: self drgeoPresenter parallelButtonData to: subMenu. self add: #perpendicularBtn menuItemBtn: self drgeoPresenter perpendicularButtonData to: subMenu. self add: #rayBtn menuItemBtn: self drgeoPresenter rayButtonData to: subMenu. self add: #segmentBtn menuItemBtn: self drgeoPresenter segmentButtonData to: subMenu. self add: #vectorBtn menuItemBtn: self drgeoPresenter vectorButtonData to: subMenu. self add: #circleBtn menuItemBtn: self drgeoPresenter circleButtonData to: subMenu. self add: #arcBtn menuItemBtn: self drgeoPresenter arcButtonData to: subMenu. self add: #polygonBtn menuItemBtn: self drgeoPresenter polygonButtonData to: subMenu. self add: #locusBtn menuItemBtn: self drgeoPresenter locusButtonData to: subMenu. menu add: ('Curves' translated) subMenu: subMenu!
----- Method: DrGService>>addLineMenuItems:hand: (in category 'menu') ----- addLineMenuItems: menu hand: aHandMorph | subMenu | subMenu := MenuMorph new. self addMenuItem: self drgeoPresenter lineButtonData to: subMenu. self addMenuItem: self drgeoPresenter parallelButtonData to: subMenu. self addMenuItem: self drgeoPresenter perpendicularButtonData to: subMenu. self addMenuItem: self drgeoPresenter rayButtonData to: subMenu. self addMenuItem: self drgeoPresenter segmentButtonData to: subMenu. self addMenuItem: self drgeoPresenter vectorButtonData to: subMenu. self addMenuItem: self drgeoPresenter circleButtonData to: subMenu. self addMenuItem: self drgeoPresenter arcButtonData to: subMenu. self addMenuItem: self drgeoPresenter polygonButtonData to: subMenu. self addMenuItem: self drgeoPresenter locusButtonData to: subMenu. menu add: 'Curves' translated subMenu: subMenu!
----- Method: DrGService>>addMacroBtnMenuItems:hand: (in category 'menu') ----- addMacroBtnMenuItems: menu hand: aHandMorph | subMenu | subMenu := MenuMorph new. self add: #macroBuildBtn menuItemBtn: self drgeoPresenter macroBuildButtonData to: subMenu. self add: #executeBtn menuItemBtn: self drgeoPresenter macroExecuteButtonData to: subMenu. menu add: 'Macro-construction' translated subMenu: subMenu!
----- Method: DrGService>>addMacroMenuItems:hand: (in category 'menu') ----- addMacroMenuItems: menu hand: aHandMorph | subMenu | subMenu := MenuMorph new. self addMenuItem: self drgeoPresenter macroBuildButtonData to: subMenu. self addMenuItem: self drgeoPresenter macroExecuteButtonData to: subMenu. self addMenuItem: self drgeoPresenter macroDeleteButtonData to: subMenu. menu add: 'Macro-construction' translated subMenu: subMenu!
----- Method: DrGService>>addMenuItem:to: (in category 'menu') ----- addMenuItem: array to: menu menu add: array first target: self drgeoPresenter selector: array third. menu lastItem setBalloonText: array fourth !
----- Method: DrGService>>addNumericBtnMenuItems:hand: (in category 'menu') ----- addNumericBtnMenuItems: menu hand: aHandMorph | subMenu | subMenu := MenuMorph new. self add: #distanceBtn menuItemBtn: self drgeoPresenter distanceButtonData to: subMenu. self add: #angleBtn menuItemBtn: self drgeoPresenter angleButtonData to: subMenu. self add: #coordinatesBtn menuItemBtn: self drgeoPresenter coordinatesButtonData to: subMenu. self add: #scriptBtn menuItemBtn: self drgeoPresenter scriptButtonData to: subMenu. self add: #scriptEditBtn menuItemBtn: self drgeoPresenter scriptEditButtonData to: subMenu. menu add: 'Numerics' translated subMenu: subMenu!
----- Method: DrGService>>addNumericMenuItems:hand: (in category 'menu') ----- addNumericMenuItems: menu hand: aHandMorph | subMenu | subMenu := MenuMorph new. self addMenuItem: self drgeoPresenter distanceButtonData to: subMenu. self addMenuItem: self drgeoPresenter angleButtonData to: subMenu. self addMenuItem: self drgeoPresenter coordinatesButtonData to: subMenu. self addMenuItem: self drgeoPresenter scriptEditButtonData to: subMenu. self addMenuItem: self drgeoPresenter scriptButtonData to: subMenu. menu add: 'Numerics' translated subMenu: subMenu!
----- Method: DrGService>>addOtherBtnMenuItems:hand: (in category 'menu') ----- addOtherBtnMenuItems: menu hand: aHandMorph | subMenu | subMenu := MenuMorph new. self add: #undoBtn menuItemBtn: self drgeoPresenter undoButtonData to: subMenu. self add: #redoBtn menuItemBtn: self drgeoPresenter redoButtonData to: subMenu. self add: #eraserBtn menuItemBtn: self drgeoPresenter eraserButtonData to: subMenu. self add: #styleBtn menuItemBtn: self drgeoPresenter styleButtonData to: subMenu. self add: #propertyBtn menuItemBtn: self drgeoPresenter propertyButtonData to: subMenu. self add: #moveBtn menuItemBtn: self drgeoPresenter moveButtonData to: subMenu. self add: #gridBtn menuItemBtn: self drgeoPresenter gridButtonData to: subMenu. self add: #gridStuckBtn menuItemBtn: self drgeoPresenter gridStuckButtonData to: subMenu. self add: #viewerBtn menuItemBtn: self drgeoPresenter viewerButtonData to: subMenu. menu add: 'Other' translated subMenu: subMenu!
----- Method: DrGService>>addOtherMenuItems:hand: (in category 'menu') ----- addOtherMenuItems: menu hand: aHandMorph | subMenu | subMenu := MenuMorph new. self addMenuItem: self drgeoPresenter undoButtonData to: subMenu. self addMenuItem: self drgeoPresenter redoButtonData to: subMenu. self addMenuItem: self drgeoPresenter eraserButtonData to: subMenu. self addMenuItem: self drgeoPresenter styleButtonData to: subMenu. self addMenuItem: self drgeoPresenter propertyButtonData to: subMenu. self addMenuItem: self drgeoPresenter moveButtonData to: subMenu. subMenu addUpdating: #gridString target: self drgeoPresenter selector: #gridOnOff argumentList: #(); addUpdating: #griddedString target: self drgeoPresenter selector: #gridStuckOnOff argumentList: #(). self addMenuItem: self drgeoPresenter viewerButtonData to: subMenu. self addMenuItem: self drgeoPresenter multipleModeButtonData to: subMenu. subMenu addUpdating: #createMultipleString target: self drgeoPresenter selector: #createMultipleOnOff argumentList: #(); add: 'default position and scale' translated target: self area selector: #defaultScalePosition. menu add: 'Other' translated subMenu: subMenu!
----- Method: DrGService>>addPointBtnMenuItems:hand: (in category 'menu') ----- addPointBtnMenuItems: menu hand: aHandMorph | subMenu | subMenu := MenuMorph new. self add: #freePointBtn menuItemBtn: self drgeoPresenter freePointButtonData to: subMenu. self add: #middlePointBtn menuItemBtn: self drgeoPresenter middleButtonData to: subMenu. self add: #pointByCoordinatesBtn menuItemBtn: self drgeoPresenter pointByCoordinatesButtonData to: subMenu. menu add: 'Points' translated subMenu: subMenu!
----- Method: DrGService>>addPointMenuItems:hand: (in category 'menu') ----- addPointMenuItems: menu hand: aHandMorph | subMenu | subMenu := MenuMorph new. self addMenuItem: self drgeoPresenter freePointButtonData to: subMenu. self addMenuItem: self drgeoPresenter middleButtonData to: subMenu. self addMenuItem: self drgeoPresenter pointByCoordinatesButtonData to: subMenu. menu add: 'Points' translated subMenu: subMenu!
----- Method: DrGService>>addToolsMenuItems:hand: (in category 'menu') ----- addToolsMenuItems: menu hand: aHandMorph self addPointMenuItems: menu hand: aHandMorph. self addLineMenuItems: menu hand: aHandMorph. self addTransformationMenuItems: menu hand: aHandMorph. self addNumericMenuItems: menu hand: aHandMorph. self addMacroMenuItems: menu hand: aHandMorph. self addOtherMenuItems: menu hand: aHandMorph!
----- Method: DrGService>>addTransformationBtnMenuItems:hand: (in category 'menu') ----- addTransformationBtnMenuItems: menu hand: aHandMorph | subMenu | subMenu := MenuMorph new. self add: #symmetryBtn menuItemBtn: self drgeoPresenter symmetryButtonData to: subMenu. self add: #reflectionBtn menuItemBtn: self drgeoPresenter reflectionButtonData to: subMenu. self add: #translationBtn menuItemBtn: self drgeoPresenter translationButtonData to: subMenu. self add: #rotationBtn menuItemBtn: self drgeoPresenter rotationButtonData to: subMenu. self add: #homothetyBtn menuItemBtn: self drgeoPresenter homothetyButtonData to: subMenu. menu add: 'Transformations' translated subMenu: subMenu!
----- Method: DrGService>>addTransformationMenuItems:hand: (in category 'menu') ----- addTransformationMenuItems: menu hand: aHandMorph | subMenu | subMenu := MenuMorph new. self addMenuItem: self drgeoPresenter symmetryButtonData to: subMenu. self addMenuItem: self drgeoPresenter reflectionButtonData to: subMenu. self addMenuItem: self drgeoPresenter translationButtonData to: subMenu. self addMenuItem: self drgeoPresenter rotationButtonData to: subMenu. self addMenuItem: self drgeoPresenter homothetyButtonData to: subMenu. menu add: 'Transformations' translated subMenu: subMenu!
----- Method: DrGService>>angleBtn (in category 'button') ----- angleBtn ^ self buttonAtHand: self drgeoPresenter angleButtonData !
----- Method: DrGService>>app (in category 'accessing') ----- app ^ app!
----- Method: DrGService>>app: (in category 'accessing') ----- app: anObject app := anObject!
----- Method: DrGService>>arcBtn (in category 'button') ----- arcBtn ^ self buttonAtHand: self drgeoPresenter arcButtonData !
----- Method: DrGService>>area (in category 'accessing') ----- area ^ area!
----- Method: DrGService>>buttonAtHand: (in category 'button') ----- buttonAtHand: array " array first = button form array second = symbol callback array third = help string " ^ IconicButton new labelGraphic: (DrGIcons scaled24: array second); color: self colorButton; setBalloonText: array fourth translated; target: self drgeoPresenter; actionSelector: array third!
----- Method: DrGService>>circleBtn (in category 'button') ----- circleBtn ^ self buttonAtHand: self drgeoPresenter circleButtonData !
----- Method: DrGService>>colorButton (in category 'button') ----- colorButton ^ Color green alpha: 0.2!
----- Method: DrGService>>coordinatesBtn (in category 'button') ----- coordinatesBtn ^ self buttonAtHand: self drgeoPresenter coordinatesButtonData !
----- Method: DrGService>>distanceBtn (in category 'button') ----- distanceBtn ^ self buttonAtHand: self drgeoPresenter distanceButtonData !
----- Method: DrGService>>drgeoPresenter (in category 'accessing') ----- drgeoPresenter ^ app presenter!
----- Method: DrGService>>editGroupBtn (in category 'button') ----- editGroupBtn ^ self buttonAtHand: self drgeoPresenter editGroupButtonData !
----- Method: DrGService>>eraserBtn (in category 'button') ----- eraserBtn ^ self buttonAtHand: self drgeoPresenter eraserButtonData !
----- Method: DrGService>>freePointBtn (in category 'button') ----- freePointBtn ^ self buttonAtHand: self drgeoPresenter freePointButtonData!
----- Method: DrGService>>giveMeButton: (in category 'button') ----- giveMeButton: aSymbol self currentHand attachMorph: (self perform: aSymbol)!
----- Method: DrGService>>gridBtn (in category 'button') ----- gridBtn ^ self buttonAtHand: self drgeoPresenter gridButtonData !
----- Method: DrGService>>gridStuckBtn (in category 'button') ----- gridStuckBtn ^ self buttonAtHand: self drgeoPresenter gridStuckButtonData !
----- Method: DrGService>>groupBtn (in category 'button') ----- groupBtn ^ self buttonAtHand: self drgeoPresenter groupButtonData !
----- Method: DrGService>>homothetyBtn (in category 'button') ----- homothetyBtn ^ self buttonAtHand: self drgeoPresenter homothetyButtonData !
----- Method: DrGService>>initialize (in category 'initialize-release') ----- initialize super initialize. self color: Color veryLightGray muchLighter . self borderWidth: 1. self clipSubmorphs: true. self layoutPolicy: ProportionalLayout new. area := DrGDrawable newOn: app. self installTools!
----- Method: DrGService>>installTools (in category 'initialize-release') ----- installTools self addMorph: area fullFrame: (LayoutFrame fractions: (0@0 corner: 1@1) offsets: (0@0 corner: -25@ -25)). self addMorph: self drgeoPresenter verticalWheel fullFrame: (LayoutFrame fractions: (1 @ 1 corner: 1 @ 1) offsets: (-25@ -120 corner: 0@ -20)). self addMorph: self drgeoPresenter horizontalWheel fullFrame: (LayoutFrame fractions: (1 @ 1 corner: 1 @ 1) offsets: (-120@ -25 corner: -20@0)). self addMorph: self drgeoPresenter zoomWheel fullFrame: (LayoutFrame fractions: (1 @ 0 corner: 1 @ 0) offsets: (-25@0 corner: 0@100)). area layoutChanged!
----- Method: DrGService>>isApplication (in category 'testing') ----- isApplication ^false!
----- Method: DrGService>>isService (in category 'testing') ----- isService ^true!
----- Method: DrGService>>lineBtn (in category 'button') ----- lineBtn ^ self buttonAtHand: self drgeoPresenter lineButtonData !
----- Method: DrGService>>locusBtn (in category 'button') ----- locusBtn ^ self buttonAtHand: self drgeoPresenter locusButtonData !
----- Method: DrGService>>macroBuildBtn (in category 'button') ----- macroBuildBtn ^ self buttonAtHand: self drgeoPresenter macroBuildButtonData !
----- Method: DrGService>>macroDeleteBtn (in category 'button') ----- macroDeleteBtn ^ self buttonAtHand: self drgeoPresenter macroDeleteButtonData !
----- Method: DrGService>>macroExecuteBtn (in category 'button') ----- macroExecuteBtn ^ self buttonAtHand: self drgeoPresenter macroExecuteButtonData !
----- Method: DrGService>>middlePointBtn (in category 'button') ----- middlePointBtn ^ self buttonAtHand: self drgeoPresenter middleButtonData !
----- Method: DrGService>>moveBtn (in category 'button') ----- moveBtn ^ self buttonAtHand: self drgeoPresenter moveButtonData !
----- Method: DrGService>>multipleModeBtn (in category 'button') ----- multipleModeBtn ^ self buttonAtHand: self drgeoPresenter multipleModeButtonData !
----- Method: DrGService>>parallelBtn (in category 'button') ----- parallelBtn ^ self buttonAtHand: self drgeoPresenter parallelButtonData !
----- Method: DrGService>>perpendicularBtn (in category 'button') ----- perpendicularBtn ^ self buttonAtHand: self drgeoPresenter parallelButtonData!
----- Method: DrGService>>pointByCoordinatesBtn (in category 'button') ----- pointByCoordinatesBtn ^ self buttonAtHand: self drgeoPresenter pointByCoordinatesButtonData !
----- Method: DrGService>>polygonBtn (in category 'button') ----- polygonBtn ^ self buttonAtHand: self drgeoPresenter polygonButtonData !
----- Method: DrGService>>popupMenu (in category 'menu') ----- popupMenu "super addCustomMenuItems: menu hand: aHandMorph." | menu | menu := MenuMorph new title: 'Dr. Geo tools' translated. self addToolsMenuItems: menu hand: nil. menu addStayUpItem. menu popUpInWorld: World!
----- Method: DrGService>>propertyBtn (in category 'button') ----- propertyBtn ^ self buttonAtHand: self drgeoPresenter propertyButtonData !
----- Method: DrGService>>rayBtn (in category 'button') ----- rayBtn ^ self buttonAtHand: self drgeoPresenter rayButtonData!
----- Method: DrGService>>redoBtn (in category 'button') ----- redoBtn ^ self buttonAtHand: self drgeoPresenter redoButtonData !
----- Method: DrGService>>reflectionBtn (in category 'button') ----- reflectionBtn ^ self buttonAtHand: self drgeoPresenter reflectionButtonData !
----- Method: DrGService>>rotationBtn (in category 'button') ----- rotationBtn ^ self buttonAtHand: self drgeoPresenter rotationButtonData !
----- Method: DrGService>>scriptBtn (in category 'button') ----- scriptBtn ^ self buttonAtHand: self drgeoPresenter scriptButtonData !
----- Method: DrGService>>scriptEditBtn (in category 'button') ----- scriptEditBtn ^ self buttonAtHand: self drgeoPresenter scriptEditButtonData !
----- Method: DrGService>>segmentBtn (in category 'button') ----- segmentBtn ^ self buttonAtHand: self drgeoPresenter segmentButtonData !
----- Method: DrGService>>styleBtn (in category 'button') ----- styleBtn ^ self buttonAtHand: self drgeoPresenter styleButtonData !
----- Method: DrGService>>symmetryBtn (in category 'button') ----- symmetryBtn ^ self buttonAtHand: self drgeoPresenter symmetryButtonData !
----- Method: DrGService>>translationBtn (in category 'button') ----- translationBtn ^ self buttonAtHand: self drgeoPresenter translationButtonData !
----- Method: DrGService>>undoBtn (in category 'button') ----- undoBtn ^ self buttonAtHand: self drgeoPresenter undoButtonData !
----- Method: DrGService>>vectorBtn (in category 'button') ----- vectorBtn ^ self buttonAtHand: self drgeoPresenter vectorButtonData !
----- Method: DrGService>>viewerBtn (in category 'button') ----- viewerBtn ^ self buttonAtHand: self drgeoPresenter viewerButtonData !
etoys-dev@lists.squeakfoundation.org