[Pharo-users] Spec layout

Marion Noirbent ms.noirbent at etudiant.univ-lille1.fr
Wed May 18 06:46:31 EDT 2016


Because I would use "openWithSpec" to build only when the widget is 
ready, but it call a method (with the good pragma) on the class side.

In the example i use i have add RadioButtonModel with addRadioButton: in 
the collection buttons, it's not empty but RadioButtonModel is a 
ComposableModel and layout: is define in the subclass 
DynamicComposableModel .

Le 18/05/2016 10:22, stepharo a écrit :
> But why from the class side.
>
> buttons
>      ^ buttons
>
> returns an empty collection
>
> and
>
> rebuildWidget
>      self widgets removeAll.
>      self createWidgets.
>      self needFullRebuild: false.
>      self buildWithSpecLayout: self dynamicLayout.
>      self alignButtons
>
>
>
> Le 18/5/16 à 11:31, Marion Noirbent a écrit :
>> I was trying to use it but i have still the problem to call the
>> instance method from the class side, so i call the
>> buildWithSpecLayout: in the method to add buttons in the collection,
>> it seems work but i have an "MessageNotUnderstood" RadioButton>>layout:
>>
>> Le 18/05/2016 09:20, stepharo a écrit :
>>> marion the solution is what peter proposes.
>>>
>>> Stef
>>>
>>>
>>> Le 18/5/16 à 11:14, Marion Noirbent a écrit :
>>>> In fact i was trying to modify RadioButtonGroup to turn it into a
>>>> widget, #buttons is not a widget but its collection of widget.
>>>>
>>>> May you have confused RadioButtonGroup with the MenuModel /
>>>> MenuGroupModel / MenuItemModel which are widgets. I take inspiration
>>>> from them and I would got the same kind of behaviour.
>>>>
>>>> Le 17/05/2016 21:11, stepharo a écrit :
>>>>> Thanks Johan
>>>>>
>>>>>
>>>>> We looked at
>>>>>
>>>>> RadioButtonGroupExample
>>>>>
>>>>> but you see we cannot have a RadioButtonGroupPresenter having 2, 3
>>>>> or 4
>>>>> radioButton.
>>>>>
>>>>> Stef
>>>>>
>>>>>
>>>>> Le 17/5/16 à 18:52, Johan Fabry a écrit :
>>>>>> Hi Marion,
>>>>>>
>>>>>> the class side message of defaultSpec is generally meant to be
>>>>>> used if
>>>>>> you use a fixed number of widgets, so you can put the reference to
>>>>>> the
>>>>>> name of each widget there (in cour case #buttons). For variable
>>>>>> number
>>>>>> of widgets you should have a look at the dynamic features of Spec.
>>>>>>
>>>>>> That being said, It looks like what you really want to use is a Radio
>>>>>> Button Group. Have a look at RadioButtonGroupExample.
>>>>>>
>>>>>> HTH
>>>>>>
>>>>>> --
>>>>>> Does this mail seem too brief? Sorry for that, I don’t mean to be
>>>>>> rude! Please see http://emailcharter.org .
>>>>>>
>>>>>> Johan Fabry   -   http://pleiad.cl/~jfabry
>>>>>> PLEIAD and RyCh labs  -  Computer Science Department (DCC)  -
>>>>>> University of Chile
>>>>>>
>>>>>>> On May 17, 2016, at 13:48, Marion Noirbent
>>>>>>> <ms.noirbent at etudiant.univ-lille1.fr> wrote:
>>>>>>>
>>>>>>> Hi,
>>>>>>> I'm trying to create a widget whith Spec, managing a collection of
>>>>>>> RadioButton. But I have a problem with defaultSpec (the accessor of
>>>>>>> the collection is the methods "buttons") :
>>>>>>>
>>>>>>> If i put defaultSpec on class side, i can't acces the collection of
>>>>>>> the instance. (the following code iterate on the string)
>>>>>>>
>>>>>>> defaultSpec
>>>>>>>     <spec: #default>
>>>>>>>     ^ SpecLayout composed
>>>>>>>         newColumn: [ :column | #buttons do: [ :item | column add:
>>>>>>> item ] ];
>>>>>>>         yourself
>>>>>>>
>>>>>>> If i put it on instance side, the lookup don't find it (in the book
>>>>>>> Building UI with Spec, it said the lookup begin by the instance side
>>>>>>> and it allow to have specific UI, in part about layout)
>>>>>>>
>>>>>>> defaultSpec
>>>>>>>     <spec: #default>
>>>>>>>     ^ SpecLayout composed
>>>>>>>         newColumn: [ :column | self buttons do: [ :item | column
>>>>>>> add:
>>>>>>> item ] ];
>>>>>>>         yourself
>>>>>>>
>>>>>>> Any idea ?
>>>>>>>
>>>>>>> Marion Noirbent,
>>>>>>>
>>>>>>>
>>>>>>
>>>>>>
>>>>>
>>>>>
>>>>
>>>
>>>
>>
>
>

-- 
Ma clé publique sur pgp.mit.edu




More information about the Pharo-users mailing list