[etoys-dev] Etoys: DrGeoII-Etoys-HilaireFernandes.7.mcz
commits at source.squeak.org
commits at source.squeak.org
Sun Jun 13 18:38:38 EDT 2010
Bert Freudenberg uploaded a new version of DrGeoII-Etoys to project Etoys:
http://source.squeak.org/etoys/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 at 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 at 0 corner: 1 at 1)
offsets: (0 at 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 at 0)).
self
addMorph: self drgeoPresenter zoomWheel
fullFrame: (LayoutFrame
fractions: (1 @ 0 corner: 1 @ 0)
offsets: (-25 at 0 corner: 0 at 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 !
More information about the etoys-dev
mailing list