Indeed rationalizing the hooks and removing the changed/update mechanism would be good. On Apr 27, 2012, at 8:58 PM, Guillermo Polito wrote:
I've made up a list with all the useful morphic widget I've found in a alpha alpha alpha 2.0 image. I'd like to put in those widgets empty hooks like:
Morph>>triggerOnShow "hook"
for common events widgets provide usually in MVC frameworks. That means not changing the whole interface nor refactoring everything. Just adding the hooks. What we were talking with Mariano (I hate you for putting ideas in my head) today in the train was to add those empty hooks and put senders for them, what should be easy. This way we can start to homogenize morphic a bit.
Most likely, in a not so far future, those empty hooks could be replaced by something like:
Morph>>triggerOnShow self announcer announce: (MorphShowAnnouncement show: self)
Now, here is a list of the most important widgets i've found (I could've missed some) and events they should trigger. I'm not taking into account new multitouch interfaces and stuff.
For all widgets onShow onDelete onKeyUp onKeyPress onKeyDown onClick onMouseDown onMouseUp onDoubleClick onDragged onDropped onMove? onResize?
For all containers onChildAdded onChildRemoved
"Widgets"
Check/Radio -> CheckboxButtonMorph/SimpleSwitchMorph onSelectionChanged
List/Grids -> PluggableListMorph/PluggableMultiColumnListMorph/LazyListMorph/MulticolumnLazyListMorph onSelectionChanged
Button -> PluggableButtonMorph/SimpleButtonMorph/MultistateButtonMorph onClick
Label -> LabelMorph/FuzzyLabelMorph /MultistateLabelMorph
Progress Bar-> SystemProgressBarMorph
Slider -> Slider/PluggableSliderMorph onSelectionChanged
Text handling -> TextMorph/PluggableTextMorph onSelectionChanged
Field Handling -> PluggableTextFieldMorph/PluggableTextEditorMorph
Tree -> MorphTreeMorph onSelectionChanged onExpandItem onCollapseItem
Combo box -> DropListMorph/EditableDropListMorph /SearchMorph/MorphDropListMorph onSelectionChanged
Menues -> MenuMorph + friends onClick (for menu item probably)
Image -> ImageMorph/ImagePreviewMorph
Diff -> DiffMorph
Color Presenter -> ColorPresenterMorph
Color chooser -> ColorChooserMorph/HSVColorSelectorMorph / SVColorSelectorMorph onSelectionChanged
Task var -> TaskbarMorph
"Containers" ScrollPane Windows -> SystemWindow/PluggableSystemWindow /StandardWindow Dialog window -> DialogWindow & (lots of) subclasses Panel -> PanelMorph & subclasses / PluggablePanelMorph
Tabs -> TabGroupMorph (Other Tab stuff -> PluggableTabBarMorph + PluggableTabButtonMorph ) onSelectionChanged
Guille