On 17.06.2010, at 10:09, K. K. Subramaniam wrote:
> On Thursday 17 Jun 2010 5:51:07 am Bert Freudenberg wrote:
>> All: if you want to be notified of activity on the bug tracker, subscribe
>> to this list:
>>
>> http://lists.squeakland.org/mailman/listinfo/etoys-notify
> Etoys-dev is a small group and the mail traffic in etoys-notify is manageable.
> Can the notifications be sent to etoys-dev directly?
>
> What else would etoys-dev track if not these notifications ;-)?
>
> Subbu
The commit diffs are really important for every developer to see, so that's why I feel it's needed to have them on etoys-dev directly (even though there were a few objections IIRC).
Many of the bug notifications are more noise than information - e.g. when priorities are changed, bugs are resolved/closed (which will have a commit message too), etc. So having that be opt-in on a separate list seemed like a good compromise.
On etoys-dev there are close to 200 subscribers (talk about silent majority), etoys-notify more like 20. I'm personally fine with the current arrangement. But if others agree we need more visibility of bug tracker activity, we can change it pretty easily :)
- Bert -
It seems to me the button bar is a special type of "holder" that only
accepts buttons dropped onto it.
Is this correct, or is there some other purpose?
FYI, the layout doesn't always work well with multiple buttons.
Stephen
Karl Ramberg uploaded a new version of MorphicExtras to project Etoys:
http://source.squeak.org/etoys/MorphicExtras-kfr.8.mcz
==================== Summary ====================
Name: MorphicExtras-kfr.8
Author: kfr
Time: 17 June 2010, 1:35:58 am
UUID: 58e1cd3b-a123-e940-8f74-0e2f481160c5
Ancestors: MorphicExtras-kfr.7
SQ-679
MagnifierMorph menu round is broken
=============== Diff against MorphicExtras-kfr.7 ===============
Item was changed:
----- Method: MagnifierMorph>>initialize (in category 'initialization') -----
initialize
"initialize the state of the receiver"
super initialize.
trackPointer _ true.
showPointer _ false.
magnification _ 2.
+ roundness := false.
-
self extent: 128 @ 128!
Item was changed:
----- Method: MagnifierMorph>>toggleRoundness (in category 'round view') -----
toggleRoundness
+ roundness := roundness not.
+ self fullBounds changed
+ !
- | sm w |
- w _ self world.
- self isRound
- ifTrue: [owner delete.
- w addMorph: self]
- ifFalse: [sm _ ScreeningMorph new position: self position.
- sm addMorph: self.
- sm addMorph: (EllipseMorph newBounds: self bounds).
- w addMorph: sm]!
Item was changed:
----- Method: MagnifierMorph>>isRound (in category 'round view') -----
isRound
+ ^ roundness!
- ^ owner isMemberOf: ScreeningMorph!
Item was changed:
----- Method: MagnifierMorph>>drawOn: (in category 'drawing') -----
drawOn: aCanvas
+ | stencil newForm bb |
+
- super drawOn: aCanvas. "border and fill"
aCanvas isShadowDrawing ifFalse: [
"Optimize because #magnifiedForm is expensive"
+ self isRound
+ ifTrue:[stencil := (EllipseMorph new extent: self extent; color: Color white) imageForm.
+ bb := BitBlt toForm: stencil.
+ newForm := (bb copyForm: self magnifiedForm to: 0@0 rule: Form and) destForm.
+ aCanvas paintImage: newForm at: self innerBounds origin ]
+ ifFalse:[super drawOn: aCanvas. "border and fill"
+ aCanvas paintImage: self magnifiedForm at: self innerBounds origin]]
+
+ !
- aCanvas paintImage: self magnifiedForm at: self innerBounds origin]!
Item was changed:
BorderedMorph subclass: #MagnifierMorph
+ instanceVariableNames: 'magnification trackPointer srcExtent showPointer roundness'
- instanceVariableNames: 'magnification trackPointer srcExtent showPointer'
classVariableNames: 'RecursionLock'
poolDictionaries: ''
category: 'MorphicExtras-Demo'!
!MagnifierMorph commentStamp: '<historical>' prior: 0!
MagnifierMorph instances are magnifying lenses that magnify the morphs below them (if grabbed or if trackPointer is false) or the area around the mouse pointer.
Instance variables:
magnification <Number> The magnification to use. If non-integer, smooths the magnified form.
trackPointer <Boolean> If set, magnifies the area around the Hand. If not, magnfies the area underneath the magnifier center.
showPointer <Boolean> If set, display a small reversed rectangle in the center of the lens. Also enables the display of Morphs in the Hand itself.
srcExtent <Rectangle> The extent of the source rectangle.
Class variables:
RecursionLock <MagnifierMorph|nil> Used to avoid infinite recursion when getting the source patch to display.!
Karl Ramberg uploaded a new version of Morphic to project Etoys:
http://source.squeak.org/etoys/Morphic-kfr.20.mcz
==================== Summary ====================
Name: Morphic-kfr.20
Author: kfr
Time: 17 June 2010, 12:57:37 am
UUID: 04de9588-6502-4a43-87db-be783f97a49c
Ancestors: Morphic-kfr.19
SQ-94
Flip operations broken on Etoys
=============== Diff against Morphic-kfr.19 ===============
Item was changed:
----- Method: SketchMorph>>flipVertical (in category 'e-toy support') -----
flipVertical
+ | r |
+ r _ self rotationCenter.
+ self top: self top - (1.0 - (2 * r y) * self height).
+ self form: (self form flipBy: #vertical centerAt: self form center).
+ self rotationCenter: r x @ (1 - r y).!
- self form: (self form flipBy: #vertical centerAt: self form center)!
Item was added:
+ ----- Method: SketchMorph class>>additionsToViewerCategories (in category 'scripting') -----
+ additionsToViewerCategories
+ "Answer a list of (<categoryName> <list of category specs>) pairs that characterize the phrases this kind of morph wishes to add to various Viewer categories."
+
+ ^ #((graphics (
+ (slot graphic 'The picture currently being worn' Graphic readWrite Player getGraphic Player setGraphic:)
+ (command wearCostumeOf: 'wear the costume of...' Player)
+ (slot baseGraphic 'The picture originally painted for this object, but can subsequently be changed via menu or script' Graphic readWrite Player getBaseGraphic Player setBaseGraphic:)
+ (command restoreBaseGraphic 'Make my picture be the one I remember in my baseGraphic')
+
+ (slot rotationStyle 'How the picture should change when the heading is modified' RotationStyle readWrite Player getRotationStyle Player setRotationStyle:)
+ (command flip 'Flip left right' Player)
+ (command tumble 'Flip up down' Player)
+ )))
+
+
+ !
Item was changed:
----- Method: SketchMorph>>flipHorizontal (in category 'e-toy support') -----
flipHorizontal
+ | r |
+ r _ self rotationCenter.
+ self left: self left - (1.0 - (2 * r x) * self width).
+ self form: (self form flipBy: #horizontal centerAt: self form center).
+ self rotationCenter: (1 - r x) @ (r y).!
- self form: (self form flipBy: #horizontal centerAt: self form center)!
Karl Ramberg uploaded a new version of Etoys to project Etoys:
http://source.squeak.org/etoys/Etoys-kfr.24.mcz
==================== Summary ====================
Name: Etoys-kfr.24
Author: kfr
Time: 17 June 2010, 12:39:07 am
UUID: cfe33825-e7a6-094d-b768-4b220e96af8c
Ancestors: Etoys-kfr.23
SQ-485
Function tile not translated
trnFuncHelp-KR is the proposed patch for translating balloon help
=============== Diff against Etoys-kfr.23 ===============
Item was changed:
----- Method: FunctionNameTile>>showOptions (in category 'choice of function') -----
showOptions
"Put up a pop-up menu of options for the operator tile within me."
| aMenu aTable |
aMenu := MenuMorph new defaultTarget: self.
aTable := ScriptingSystem tableOfNumericFunctions.
aTable do:
[:triplet |
aMenu add: triplet first translated target: self selector: #setOperator: argument: triplet second.
triplet second = operatorOrExpression ifTrue:
[aMenu lastItem color: Color red].
+ aMenu balloonTextForLastItem: triplet third translated].
- aMenu balloonTextForLastItem: triplet third].
aMenu addTranslatedList:
#(-
('parentheses' grouped 'enclose within parentheses')) translatedNoop.
operatorOrExpression = #grouped ifTrue:
[aMenu lastItem color: Color red].
(owner owner isKindOf: TilePadMorph) ifTrue:
[aMenu addLine.
operatorOrExpression = #grouped
ifFalse:
[aMenu addTranslatedList:
#(('remove function' removeFunction 'strip away the function call, leaving just its former argument in its place')) translatedNoop.]
ifTrue:
[aMenu addTranslatedList:
#(('remove parentheses' removeFunction 'strip away the parenthesises')) translatedNoop]].
aMenu position: self position.
aMenu invokeModal
!