Yeah coooool !
"I am an Announcement that occurs when an ExpanderMorph is contracted (rolled-up).��Example where visibility of another��UI component depends on the expanded/contracted state of Expander 2��|builder expanders ex1 ex2 text list row|
builder := UITheme builder.
expanders := builder newColumn: {
��ex1 := builder newExpander: 'Expander 1'.
��ex2 := builder newExpander: 'Expander 2'}.
expanders
��width: 100;
��hResizing: #rigid.
text := builder
��newTextEditorFor: (ValueHolder new contents: 'Some text')
��getText: #contents setText: #contents:.
list := (builder
��newListFor: (ListModel new list: #('One' 'Two' 'Three' 'Four'); selectionIndex: 3)
��list: #list selected: #selectionIndex changeSelected: #selectionIndex:
��help: 'This is a list')
����minWidth: 120;
����visible: false;
����disableTableLayout: true.
ex2 announcer
��when: ExpanderMorphContracted do: [list hide; disableTableLayout: true];
��when: ExpanderMorphExpanded do: [list show; disableTableLayout: false].
row := builder newRow: {
��expanders.
��(builder newRow: {text. list})
����vResizing: #spaceFill}.
(row openInWindowLabeled: 'Expander Announcements Example') extent: 400@300��"
Regards, Gary----- Original Message -----From: laurent laffontSent: Tuesday, April 05, 2011 7:32 PMSubject: [Pharo-project] [COTDC] 42 - ExpanderMorphContractedToday: ��ExpanderMorphContractedComment Of The Day Contest - One Day One Comment
Rules:��#1: Each day a not commented class is elected. Each day the best comment will be integrated with name of the author(s).#2: If you cannot comment it, deprecate it.Laurent