Spec question

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

Spec question

Glenn Cavarlé
Hi all,
i'm new (first post) and my english is very poor so please don't blame me :).

I would like to use Spec for display a collection of domain objects and i would like to specify the layout which apply to each items,
not just display a String or a Text like "ListModel>>displayBlock:" but a more complexe layout with rows, columns and images within (for example).
To illustrate, an equivalent would be the component ListView in Android.

I turn to you to know if it's possible to do that with Spec.
Thanks,


Regards,
Glenn
Glenn Cavarlé
Reply | Threaded
Open this post in threaded view
|

Re: Spec question

Benjamin Van Ryseghem (Pharo)
I think the widget to look at is TreeModel :)

Do you have an image showing what you would like?

Ben

On 05 Feb 2014, at 00:58, Glenn Cavarlé <[hidden email]> wrote:

Hi all,
i'm new (first post) and my english is very poor so please don't blame me
:).

I would like to use Spec for display a collection of domain objects and i
would like to specify the layout which apply to each items,
not just display a String or a Text like "ListModel>>displayBlock:" but a
more complexe layout with rows, columns and images within (for example).
To illustrate, an equivalent would be the component ListView in Android.

I turn to you to know if it's possible to do that with Spec.
Thanks,


Regards,
Glenn



-----
Glenn Cavarlé
--
View this message in context: http://forum.world.st/Spec-question-tp4741608.html
Sent from the Pharo Smalltalk Users mailing list archive at Nabble.com.


Reply | Threaded
Open this post in threaded view
|

Re: Spec question

Glenn Cavarlé
Thanks for your reply,

I haven't an image but google yes :)
An example with Android ListView:
http://www.codelearn.org/android-tutorial/assets/list_view/list-view-example-1-95973c43c6eed64af57c7e050981966b.jpg

TreeModel to make a list? I look at it.

Thanks,

Glenn
Glenn Cavarlé
Reply | Threaded
Open this post in threaded view
|

Re: Spec question

pharo4Stef@free.fr
In reply to this post by Glenn Cavarlé

> Hi all,
> i'm new (first post) and my english is very poor so please don't blame me
> :).

same as ours :)
and we do not care so welcome and do not hesitate to ask question and have fun with us and pharo :)

> I would like to use Spec for display a collection of domain objects and i
> would like to specify the layout which apply to each items,
> not just display a String or a Text like "ListModel>>displayBlock:" but a
> more complexe layout with rows, columns and images within (for example).
> To illustrate, an equivalent would be the component ListView in Android.
>
> I turn to you to know if it's possible to do that with Spec.
> Thanks,
>
>
> Regards,
> Glenn
>
>
>
> -----
> Glenn Cavarlé
> --
> View this message in context: http://forum.world.st/Spec-question-tp4741608.html
> Sent from the Pharo Smalltalk Users mailing list archive at Nabble.com.
>


Reply | Threaded
Open this post in threaded view
|

Re: Spec question

Glenn Cavarlé
In reply to this post by Benjamin Van Ryseghem (Pharo)
Hi,
I have looked at the TreeModel class and it's not exactly that i seek.
The idea is rather something like that :

MyListModel>>initializeWidgets
    title := self newLabel.
    manager := self newListManager.
    manager model:#MyDummyItemModel

MyListModel class>>defaultSpec
    ^SpecLayout composed
        newColumn:[:mainCol|
            mainCol add: #title;
                        add: #manager
        ];
        yourself

MyDummyItemModel>>initializeWidgets
    image := self newImage.
    address := self newLabel.
    zipCode := self newLabel.
    city := self newLabel.
    editBtn := self newButton.
    delBtn := self newButton.

MyDummyItemModel class>>defaultSpec:
    ^SpecLayout composed
        newRow:[:mainRow|
            mainRow add: #image;
                    newColumn:[:addrCol|
                        addrCol add: #address;
                                   add: #zipCode;
                                   add: #city
                    ];
                    newColumn:[:btnCol|
                        btnCol add: #editBtn;
                                  add: #delBtn
                    ];  
        ];
        yourself
       

 mlm := MyListModel new.
 mlm openWithSpec.
 mlm title value: 'I am a list'.
 mlm manager items: aCollectionOfDummyObjects


it seem there isn't such implementation in Spec.
What would be the best way to implement it (if it's possible)? a mix between ListModel and TabManager ?

Regards,
Glenn
Glenn Cavarlé
Reply | Threaded
Open this post in threaded view
|

Re: Spec question

Ben Coman
In reply to this post by Glenn Cavarlé
Welcome Glenn,
As a native english speaker I'd say your English is pretty darn good.
I've presumed to do a few corrections and you can see it is a very few.  
So don't hold back.
---

Hi all,
i'm new (first post) and my english is very poor so please don't blame me
:).

I would like to use Spec _to_ display a collection of domain objects and i
would like to specify the layout which _applys_ to each _item_,
not just display a String or a Text like "ListModel>>displayBlock:" but a
more _complex_ layout with rows, columns and images within (for example).
To illustrate, an equivalent would be the component ListView in Android.

I turn to you to know if it's possible to do that with Spec.
---

Besides, I think there are more people on the list with english as a second language that those with native english.
cheers -ben


Glenn Cavarlé wrote:

> Hi all,
> i'm new (first post) and my english is very poor so please don't blame me
> :).
>
> I would like to use Spec for display a collection of domain objects and i
> would like to specify the layout which apply to each items,
> not just display a String or a Text like "ListModel>>displayBlock:" but a
> more complexe layout with rows, columns and images within (for example).
> To illustrate, an equivalent would be the component ListView in Android.
>
> I turn to you to know if it's possible to do that with Spec.
> Thanks,
>
>
> Regards,
> Glenn
>
>
>
> -----
> Glenn Cavarlé
> --
> View this message in context: http://forum.world.st/Spec-question-tp4741608.html
> Sent from the Pharo Smalltalk Users mailing list archive at Nabble.com.
>
>
>  



Reply | Threaded
Open this post in threaded view
|

Re: Spec question

Benjamin Van Ryseghem (Pharo)
In reply to this post by Glenn Cavarlé
Ok :)

So displayBlock can return any morph you want :)
So I think you can do this quite easily :)

I will have a deeper look tomorrow afternoon, and tell you :)

Ben

On 05 Feb 2014, at 01:34, Glenn Cavarlé <[hidden email]> wrote:

Thanks for your reply,

I haven't an image but google yes :)
An example with Android ListView:
http://www.codelearn.org/android-tutorial/assets/list_view/list-view-example-1-95973c43c6eed64af57c7e050981966b.jpg
<http://www.codelearn.org/android-tutorial/assets/list_view/list-view-example-1-95973c43c6eed64af57c7e050981966b.jpg>  

TreeModel to make a list? I look at it.

Thanks,

Glenn




-----
Glenn Cavarlé
--
View this message in context: http://forum.world.st/Spec-question-tp4741608p4741617.html
Sent from the Pharo Smalltalk Users mailing list archive at Nabble.com.


Reply | Threaded
Open this post in threaded view
|

Re: Spec question

pharo4Stef@free.fr
In reply to this post by Glenn Cavarlé
hi glenn

were are you located?
Because if you are around lille you should come to hack with us :)

Stef
On 05 Feb 2014, at 11:54, Glenn Cavarlé <[hidden email]> wrote:

> Hi,
> I have looked at the TreeModel class and it's not exactly that i seek.
> The idea is rather something like that :
>
> MyListModel>>initializeWidgets
>    title := self newLabel.
>    manager := self newListManager.
>    manager model:#MyDummyItemModel
>
> MyListModel class>>defaultSpec
>    ^SpecLayout composed
>        newColumn:[:mainCol|
>            mainCol add: #title;
>                        add: #manager
>        ];
>        yourself
>
> MyDummyItemModel>>initializeWidgets
>    image := self newImage.
>    address := self newLabel.
>    zipCode := self newLabel.
>    city := self newLabel.
>    editBtn := self newButton.
>    delBtn := self newButton.
>
> MyDummyItemModel class>>defaultSpec:
>    ^SpecLayout composed
>        newRow:[:mainRow|
>            mainRow add: #image;
>                    newColumn:[:addrCol|
>                        addrCol add: #address;
>                                   add: #zipCode;
>                                   add: #city
>                    ];
>                    newColumn:[:btnCol|
>                        btnCol add: #editBtn;
>                                  add: #delBtn
>                    ];  
>        ];
>        yourself
>
>
> mlm := MyListModel new.
> mlm openWithSpec.
> mlm title value: 'I am a list'.
> mlm manager items: aCollectionOfDummyObjects
>
>
> it seem there isn't such implementation in Spec.
> What would be the best way to implement it (if it's possible)? a mix between
> ListModel and TabManager ?
>
> Regards,
> Glenn
>
>
>
> -----
> Glenn Cavarlé
> --
> View this message in context: http://forum.world.st/Spec-question-tp4741608p4741681.html
> Sent from the Pharo Smalltalk Users mailing list archive at Nabble.com.
>


Reply | Threaded
Open this post in threaded view
|

Re: Spec question

Glenn Cavarlé
Hi Stef,

It would be a pleasure but i'm located in Brest, so,a bit too distant...
For holidays maybe ? :)

But you can come in Brest if you want ? it's so beautiful !

Regards,
Glenn
Glenn Cavarlé
Reply | Threaded
Open this post in threaded view
|

Re: Spec question

Glenn Cavarlé
In reply to this post by Ben Coman
Tkanks Ben for your corrections and your encouragement,
Google help me a little :) but it's a good exercice, especially if i want to make me understand in the Smalltalk community.

Regards,
Glenn
Glenn Cavarlé
Reply | Threaded
Open this post in threaded view
|

Re: Spec question

Alain Plantec-3
In reply to this post by Glenn Cavarlé
Hi Stephane, all
Hello Glenn

Glenn is starting his phd at Brest.
You will meet him the next time you come at Brest :)
and we will attend esug together.

Cheers
Alain

On 5 févr. 2014, at 23:30, Glenn Cavarlé <[hidden email]> wrote:

> Hi Stef,
>
> It would be a pleasure but i'm located in Brest, so,a bit too distant...
> For holidays maybe ? :)
>
> But you can come in Brest if you want ? it's so beautiful !
>
> Regards,
> Glenn
>
>
>
> -----
> Glenn Cavarlé
> --
> View this message in context: http://forum.world.st/Spec-question-tp4741608p4741808.html
> Sent from the Pharo Smalltalk Users mailing list archive at Nabble.com.
>


Reply | Threaded
Open this post in threaded view
|

Re: Spec question

hernanmd
In reply to this post by Benjamin Van Ryseghem (Pharo)
Did you have progress with that ListView in Spec?
Anything to check in the repo?

Cheers,

Hernán



2014-02-05 15:15 GMT-03:00 Benjamin <[hidden email]>:
Ok :)

So displayBlock can return any morph you want :)
So I think you can do this quite easily :)

I will have a deeper look tomorrow afternoon, and tell you :)

Ben

On 05 Feb 2014, at 01:34, Glenn Cavarlé <[hidden email]> wrote:

Thanks for your reply,

I haven't an image but google yes :)
An example with Android ListView:
http://www.codelearn.org/android-tutorial/assets/list_view/list-view-example-1-95973c43c6eed64af57c7e050981966b.jpg
<http://www.codelearn.org/android-tutorial/assets/list_view/list-view-example-1-95973c43c6eed64af57c7e050981966b.jpg>  

TreeModel to make a list? I look at it.

Thanks,

Glenn




-----
Glenn Cavarlé
--
View this message in context: http://forum.world.st/Spec-question-tp4741608p4741617.html
Sent from the Pharo Smalltalk Users mailing list archive at Nabble.com.



Reply | Threaded
Open this post in threaded view
|

Re: Spec question

Glenn Cavarlé
Thanks for interest,

I had a lot of problems i had to resolved before continue my work on ListView.
it's possible to do a "ListView like" with MorphTreeModel (example: SimpleGridExample) and i'm seeing what it's possible to do simply with Spec TreeModel.

I try to post an example in this thread, this weekend i hope.

Regards,
Glenn Cavarlé
Reply | Threaded
Open this post in threaded view
|

Re: Spec question

Benjamin Van Ryseghem (Pharo)
In reply to this post by hernanmd
On 01 Mar 2014, at 06:18, Hernán Morales Durand <[hidden email]> wrote:

Did you have progress with that ListView in Spec?
Anything to check in the repo?

You can experiment a bit based on this script[1] using the latest Spec code.
Reply | Threaded
Open this post in threaded view
|

Re: Spec question

hernanmd
Thanks Benjamin, I will try to build something and let you know.
Cheers,

Hernán


2014-03-02 10:11 GMT-03:00 Benjamin <[hidden email]>:
On 01 Mar 2014, at 06:18, Hernán Morales Durand <[hidden email]> wrote:

Did you have progress with that ListView in Spec?
Anything to check in the repo?

You can experiment a bit based on this script[1] using the latest Spec code.

Reply | Threaded
Open this post in threaded view
|

Re: Spec question

Glenn Cavarlé
Hi Benjamin and Hernán,

I found few time to make a little example of ListView (extend TreeModel).
I hosted it in my wiki :
ListViewModel Example
The only specific point it's to well define the displayBlock block an that's all.
As Benjamin said previously, it was quite easy to do that with TreeModel.

Thanks Benjamin ;-)

Regards,
Glenn Cavarlé
Reply | Threaded
Open this post in threaded view
|

Re: Spec question

LogiqueWerks
Glenn,

thanks for posting the link !

Robert


On 3 March 2014 12:15, Glenn Cavarlé <[hidden email]> wrote:
Hi Benjamin and Hernán,

I found few time to make a little example of ListView (extend TreeModel).
I hosted it in my wiki :
ListViewModel Example
<http://ijintek.fr/wiki/doku.php?id=spec_examples#listview_example>
The only specific point it's to well define the displayBlock block an that's
all.
As Benjamin said previously, it was quite easy to do that with TreeModel.

Thanks Benjamin ;-)

Regards,



-----
Glenn Cavarlé
--
View this message in context: http://forum.world.st/Spec-question-tp4741608p4747490.html
Sent from the Pharo Smalltalk Users mailing list archive at Nabble.com.


Reply | Threaded
Open this post in threaded view
|

Re: Spec question

Benjamin Van Ryseghem (Pharo)
In reply to this post by Glenn Cavarlé
Thanks for the pointer :)

Why do you subclass TreeModel instead of using one?
Could you add an example and a screenshot so we can see how it looks :)


Thanks,
Ben

On 03 Mar 2014, at 17:15, Glenn Cavarlé <[hidden email]> wrote:

Hi Benjamin and Hernán,

I found few time to make a little example of ListView (extend TreeModel).
I hosted it in my wiki :
ListViewModel Example
<http://ijintek.fr/wiki/doku.php?id=spec_examples#listview_example>  
The only specific point it's to well define the displayBlock block an that's
all.
As Benjamin said previously, it was quite easy to do that with TreeModel.

Thanks Benjamin ;-)

Regards,



-----
Glenn Cavarlé
--
View this message in context: http://forum.world.st/Spec-question-tp4741608p4747490.html
Sent from the Pharo Smalltalk Users mailing list archive at Nabble.com.


Reply | Threaded
Open this post in threaded view
|

Re: Spec question

Glenn Cavarlé
Ops, i forgot to write the  use case of the ListViewModel... i added it...
I subclass TreeModel to create a "native" Spec component like ListModel or DropListModel, which does simply what it is supposed to do, show a list of ComposableModel.
It's just for the example, i made it also using ComposableModel and adding a TreeModel in layout and it works fine :).

I will make an example more elegant tonight and i will add a screenshot.

thanks for feedbacks,

Regards,
Glenn Cavarlé