The Inbox: ToolBuilder-Morphic-rww.68.mcz

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

The Inbox: ToolBuilder-Morphic-rww.68.mcz

commits-2
A new version of ToolBuilder-Morphic was added to project The Inbox:
http://source.squeak.org/inbox/ToolBuilder-Morphic-rww.68.mcz

==================== Summary ====================

Name: ToolBuilder-Morphic-rww.68
Author: rww
Time: 11 September 2010, 4:14:22.865 pm
UUID: aec2aa16-a008-1046-a13f-022964858636
Ancestors: ToolBuilder-Morphic-rww.67

I added PluggableDropDownListMorph and the infrastructure to build one.  PluggableDropDownListMorph>>#installDropDownList is the method that builds the Morphs.   I am currently building a label with a button.  There is no drop down list.  I was thinking a Menu would work, but a list would be better.  

=============== Diff against ToolBuilder-Morphic-rww.67 ===============

Item was added:
+ ----- Method: MorphicToolBuilder>>buildPluggableDropDownList: (in category 'pluggable widgets') -----
+ buildPluggableDropDownList: spec
+
+ | widget model listSelector selectionSelector selectionSetter |
+ model := spec model.
+ listSelector := spec listSelector.
+ selectionSelector := spec selectionSelector.
+ selectionSetter := spec selectionSetter.
+ widget := self dropDownListClass new
+ model: model;
+ listSelector: listSelector;
+ selectionSelector: selectionSelector;
+ selectionSetter: selectionSetter;
+ yourself.
+ self register: widget id: spec name.
+
+ widget installDropDownList.
+ self setFrame: spec frame in: widget.
+ parent ifNotNil:[self add: widget to: parent].
+ ^widget!

Item was added:
+ ----- Method: MorphicToolBuilder>>dropDownListClass (in category 'widget classes') -----
+ dropDownListClass
+ ^ PluggableDropDownListMorph!

Item was added:
+ AlignmentMorph subclass: #PluggableDropDownListMorph
+ instanceVariableNames: 'model listSelector selectionSelector selectionSetter'
+ classVariableNames: ''
+ poolDictionaries: ''
+ category: 'ToolBuilder-Morphic'!

Item was added:
+ ----- Method: PluggableDropDownListMorph>>basicPanel (in category 'drawing') -----
+ basicPanel
+ ^BorderedMorph new
+ beTransparent;
+ extent: 0@0;
+ borderWidth: 0;
+ layoutInset: 0;
+ cellInset: 0;
+ layoutPolicy: TableLayout new;
+ listCentering: #topLeft;
+ cellPositioning: #center;
+ hResizing: #spaceFill;
+ vResizing: #shrinkWrap;
+ yourself!

Item was added:
+ ----- Method: PluggableDropDownListMorph>>currentSelection (in category 'accessing') -----
+ currentSelection
+
+ ^ self model perform: selectionSelector!

Item was added:
+ ----- Method: PluggableDropDownListMorph>>currentSelection: (in category 'accessing') -----
+ currentSelection: obj
+
+ ^ self model perform: selectionSetter with: obj!

Item was added:
+ ----- Method: PluggableDropDownListMorph>>horizontalPanel (in category 'drawing') -----
+ horizontalPanel
+ ^self basicPanel
+ cellPositioning: #center;
+ listDirection: #leftToRight;
+ yourself.!

Item was added:
+ ----- Method: PluggableDropDownListMorph>>installDropDownList (in category 'drawing') -----
+ installDropDownList
+
+ | aButton aLabel |
+ aButton := PluggableButtonMorph on: self model getState: nil action: nil.
+ aLabel := (StringMorph contents: self model currentRemoteVatId translated
+ font: (StrikeFont familyName: TextStyle defaultFont familyName
+ size: TextStyle defaultFont pointSize - 1)).
+ self addMorph: (self horizontalPanel
+ addMorphBack: aLabel;
+ addMorphBack: aButton;
+ yourself).!

Item was added:
+ ----- Method: PluggableDropDownListMorph>>list (in category 'accessing') -----
+ list
+ "Answer the value of list"
+
+ ^ self model perform: self listSelector.
+ !

Item was added:
+ ----- Method: PluggableDropDownListMorph>>listSelector (in category 'accessing') -----
+ listSelector
+ "Answer the value of listSelector"
+
+ ^ listSelector!

Item was added:
+ ----- Method: PluggableDropDownListMorph>>listSelector: (in category 'accessing') -----
+ listSelector: anObject
+ "Set the value of listSelector"
+
+ listSelector := anObject!

Item was added:
+ ----- Method: PluggableDropDownListMorph>>model (in category 'accessing') -----
+ model
+ ^ model!

Item was added:
+ ----- Method: PluggableDropDownListMorph>>model: (in category 'accessing') -----
+ model: anObject
+ "Set the value of model"
+
+ model := anObject!

Item was added:
+ ----- Method: PluggableDropDownListMorph>>selectionSelector (in category 'accessing') -----
+ selectionSelector
+ "Answer the value of selectionSelector"
+
+ ^ selectionSelector!

Item was added:
+ ----- Method: PluggableDropDownListMorph>>selectionSelector: (in category 'accessing') -----
+ selectionSelector: anObject
+ "Set the value of selectionSelector"
+
+ selectionSelector := anObject!

Item was added:
+ ----- Method: PluggableDropDownListMorph>>selectionSetter (in category 'accessing') -----
+ selectionSetter
+ "Answer the value of selectionSetter"
+
+ ^ selectionSetter!

Item was added:
+ ----- Method: PluggableDropDownListMorph>>selectionSetter: (in category 'accessing') -----
+ selectionSetter: anObject
+ "Set the value of selectionSetter"
+
+ selectionSetter := anObject!