I got everything working besides the list update when changed. Also, is
there anyway to properly display data in columns? This is what i have:
http://i.imgur.com/bwK2M.png


On Wed, Jan 2, 2013 at 11:47 AM, Ben Coman <[email protected]> wrote:

>
> J. P. L. Martín wrote:
>
>  Hello, I'm having trouble to figure out how to do this, I have a simple
>> window with 3 buttons, each button should change the content listed on the
>> list below them but I'm really not sure about how to do it.
>>
>> This is the code for the window:
>> ---
>> open
>>     "Abre la ventana principal del Sistema de Gestion Bibleotecaria"
>>
>>     | builder contain |
>>     builder := UITheme builder.
>>     contain := builder newColumn: {builder newRow: {
>>             builder newButtonFor: self action: #onPrestamosClick label:
>> 'Prestamos'  help: ''.
>>             builder newButtonFor: self action: #onMaterialesClick label:
>> 'Materiales'  help: ''.
>>             builder newButtonFor: self action: #onSociosClick label:
>> 'Socios'  help: ''}.
>>             builder newColumn: {
>>             builder newListFor: self list: nil selected: nil
>> changeSelected: nil  help: '' }.}.
>>
>>     (contain  openInWindowLabeled: 'Babel') extent: 600@600.
>> ---
>>
>> How should I define #onLabelClick to set the list to for example: Prestamo
>> database.
>>
>> Thanks in advance.
>>
>>
>>
> J. P. L. Martín wrote:
>
>> Actually the code of the GUI is inspired on the Pharocast video on the
>> making of a Contact list. I wonder if the list is static since is defined
>> there as a newListFor and because that you can't send any message to it,
>>
>>
> The #changed: method tells the list to get its contents again - see
> example below.
>
>> I'm sure there should be a way to do it so #onPrestamosClick look like:
>> ---
>> #onPrestamosClick
>>     listMorph list: Prestamo database.
>> ---
>> or something like that.
>>
>>
>>
>>
> You didn't explicitly state your references, I presume you a referring to
> http://www.pharocasts.com/**2011/02/pharo-gui-with-**polymorph.html<http://www.pharocasts.com/2011/02/pharo-gui-with-polymorph.html>
> .
> Note that ContactManager-**LaurentLaffront.1.mcz referred to from this
> post uses...
>
>         |builder                newListFor: self                  list:
> #contacts
>                selected: #contactSelectedIndex
>                changeSelected: #contactSelectedIndex:
>                help: ''.|
>
> whereas you have...
>
>         builder                 newListFor: self                list: nil
>               selected: nil
>                 changeSelected: nil             help: ''
> which is the key part you are missing, where the (list: #contacts) defines
> the method to return the list contents, for example...
> ---
> #contacts
>    ^ Contact database collect: [:aContact|
>        ', ' join: {aContact lastName.  aContact firstName}
>    ].
> ---
>
>
> You have defined your list contents as (list: nil), whereas if it was
> (list: #selectedDatabase) the following might work...
> ---
> #onPrestamosClick
>
>    selectedDatabase := Prestamo database.
>    self changed: #selectedDatabase.
> ---
> #selectedDatabase
>         ^selectedDatabase.
>
> ---
>
> good luck,
> cheers -ben
>
>
>

Reply via email to