Now I get it :) This is not supported in 2.0 in the sense that the Spec version shipped with Pharo 2.0 has evolved :)
You can try it in Pharo 3.0 :) Ben On 11 Nov 2013, at 12:08, prova email <prova...@hotmail.it> wrote: > I'm doing a TreeModel. As you know, widgetDo is not a message of TreeModel, > that's why i was asking you if there something wrong. As i asked you in a old > post, column: is not a message of TreeModel, so, where do i have to create > that message? The following code means to me that i have to create column: > into MorphTreeAdapter, a class that i haven't got into my Pharo 2.0. > > MorphTreeAdapter>>#columns: > columns: columns > self widgetDo: [ :w | > w columns: columns. > w resizerChanged. > w updateList ] > Paolo > From: benjamin.vanryseghem.ph...@gmail.com > Date: Mon, 11 Nov 2013 12:03:13 +0100 > To: pharo-users@lists.pharo.org > Subject: Re: [Pharo-users] Spec - Grid/Table Layout > > I am sure that Adapters understands widgetDo: > To which objects do you send this message ? > > Ben > > On 11 Nov 2013, at 11:08, prova email <prova...@hotmail.it> wrote: > > Hi Ben, > are you sure that the message "widgetDo:" is the right one? It's not a > message that my object looks to understand. > Thanks in advance. > Paolo > > From: benjamin.vanryseghem.ph...@gmail.com > Date: Fri, 8 Nov 2013 14:34:18 +0100 > To: pharo-users@lists.pharo.org > Subject: Re: [Pharo-users] Spec - Grid/Table Layout > > It is definitely defined in TreeModel :) > > Ben > > On 08 Nov 2013, at 14:29, prova email <prova...@hotmail.it> wrote: > > Very very very good Ben, thanks a lot. Last question: you use the "columns:" > message, but it's not defined in TreeModel. You defined it here > MorphTreeAdapter>>#columns: > columns: columns > self widgetDo: [ :w | > w columns: columns. > w resizerChanged. > w updateList ] > > in the brand new Class MorphTreeAdapter. What's the difference between define > columns: here instead of in the TreeModel class? > Great job and thank you! > Paolo > > > From: benjamin.vanryseghem.ph...@gmail.com > Date: Fri, 8 Nov 2013 14:15:46 +0100 > To: pharo-users@lists.pharo.org > Subject: Re: [Pharo-users] Spec - Grid/Table Layout > > tree := TreeModel new. > tree openWithSpec. > > tree columns: (Array > with: (MorphTreeColumn new rowMorphGetSelector: [:node | node item > first asString asMorph ]; headerButtonLabel: 'Name' font: nil; yourself) > with: (MorphTreeColumn new rowMorphGetSelector: [:node | node item > second asString asMorph ]; headerButtonLabel: 'Last Name' font: nil; yourself) > with: (MorphTreeColumn new rowMorphGetSelector: [:node | node item > third asString asMorph ]; headerButtonLabel: 'Age' font: nil; yourself) > with: (MorphTreeColumn new rowMorphGetSelector: [:node | node item > fourth asString asMorph ]; headerButtonLabel: 'Gender' font: nil; yourself) > with: (MorphTreeColumn new rowMorphGetSelector: [:node | (ButtonModel > new label: 'Yes we can') buildWithSpec hResizing: #spaceFill]; > headerButtonLabel: 'Morph' font: nil; yourself)). > > tree roots: { > {'Benjamin'.'Van Ryseghem'.'26'.'M'}. > {'Pamela'.'Anderson'.'Far too much'.'F'} > } > > Ben > > On 08 Nov 2013, at 14:05, prova email <prova...@hotmail.it> wrote: > > Yes Ben, too much threads! That's why i'm a little bit confused! That's what > i understood: i've got two roads-> use TreeModel as you did with Pamela > Anderson or use the simple and nested SpecLayout (SpecLayout composed) as > Clement did. > If in your TreeModel i can put a RadioButtonModel or a ButtonModel or so > on... we got the deal! > > Paolo > > From: benjamin.vanryseghem.ph...@gmail.com > Date: Fri, 8 Nov 2013 13:59:51 +0100 > To: pharo-users@lists.pharo.org > Subject: Re: [Pharo-users] Spec - Grid/Table Layout > > I guess too much threads :) > > I answer this in another thread I think :P > > the block provided to displayBlock:/rowMorphGetSelector: can return anything > understanding asMorph. > So you can return any custom morph there :) > > I think the following work > > tree columns: (Array > with: (TreeColumnModel new displayBlock: [:node | node content first > asString ]; headerLabel: 'Name'; yourself) > with: (TreeColumnModel new displayBlock: [:node | node content second > asString ]; headerLabel: 'Last Name'; yourself) > with: (TreeColumnModel new displayBlock: [:node | node content third > asString ]; headerLabel: 'Age'; yourself) > with: (TreeColumnModel new displayBlock: [:node | node content fourth > asString ]; headerLabel: 'Gender'; yourself) > with: (TreeColumnModel new displayBlock: [:node | Morph new ]; > headerLabel: ‘Morph'; yourself)) > > or > > tree columns: (Array > with: (MorphTreeColumn new rowMorphGetSelector: [:node | node item > first asString asMorph ]; headerButtonLabel: 'Name' font: nil; yourself) > with: (MorphTreeColumn new rowMorphGetSelector: [:node | node item > second asString asMorph ]; headerButtonLabel: 'Last Name' font: nil; yourself) > with: (MorphTreeColumn new rowMorphGetSelector: [:node | node item > third asString asMorph ]; headerButtonLabel: 'Age' font: nil; yourself) > with: (MorphTreeColumn new rowMorphGetSelector: [:node | node item > fourth asString asMorph ]; headerButtonLabel: 'Gender' font: nil; yourself) > with: (MorphTreeColumn new rowMorphGetSelector: [:node | Morph new ]; > headerButtonLabel: 'Morph' font: nil; yourself)). > > And you get something like > > <Screen Shot 2013-11-08 at 13.58.51.png> > > Ben > > On 08 Nov 2013, at 13:45, prova email <prova...@hotmail.it> wrote: > > Yes Clement, i've got your .st file. I saw it in Nested Layout thread. I file > in it in Pharo and i see that is not as good as a fashion window is. Maybe > Morphic is the right solution but, in that way, we are leaving the idea of > Bahman, and the 2nd Spec Tuto is in danger! > > However, you asked to Ben the same question that i did: can i put some > widgets in these cells or only String? > > Thanks again! > Paolo > > From: bera.clem...@gmail.com > Date: Fri, 8 Nov 2013 12:51:06 +0100 > To: pharo-users@lists.pharo.org > Subject: Re: [Pharo-users] Spec - Grid/Table Layout > > Ben answered in another thread: > > About table, I have an example which will be running soon in Pharo (the > changes are waiting to be integrated) > > tree := TreeModel new. > tree openWithSpec. > > tree columns: (Array > with: (TreeColumnModel new displayBlock: [:node | node content first > asString ]; headerLabel: 'Name'; yourself) > with: (TreeColumnModel new displayBlock: [:node | node content second > asString ]; headerLabel: 'Last Name'; yourself) > with: (TreeColumnModel new displayBlock: [:node | node content third > asString ]; headerLabel: 'Age'; yourself) > with: (TreeColumnModel new displayBlock: [:node | node content fourth > asString ]; headerLabel: 'Gender'; yourself)). > > tree roots: { > {'Benjamin'.'Van Ryseghem'.'26'.'M'}. > {'Pamela'.'Anderson'.'Far too much'.'F'} > } > > > Right now, you can get the same by > - adding MorphTreeAdapter>>#columns: > columns: columns > self widgetDo: [ :w | > w columns: columns. > w resizerChanged. > w updateList ] > > And then evaluating: > > tree := TreeModel new. > tree openWithSpec. > > tree columns: (Array > with: (MorphTreeColumn new rowMorphGetSelector: [:node | node item > first asString asMorph ]; headerButtonLabel: 'Name' font: nil; yourself) > with: (MorphTreeColumn new rowMorphGetSelector: [:node | node item > second asString asMorph ]; headerButtonLabel: 'Last Name' font: nil; yourself) > with: (MorphTreeColumn new rowMorphGetSelector: [:node | node item > third asString asMorph ]; headerButtonLabel: 'Age' font: nil; yourself) > with: (MorphTreeColumn new rowMorphGetSelector: [:node | node item > fourth asString asMorph ]; headerButtonLabel: 'Gender' font: nil; yourself)). > > tree roots: { > {'Benjamin'.'Van Ryseghem'.'26'.'M'}. > {'Pamela'.'Anderson'.'Far too much'.'F'} > } > > Ben > > Ben, in each cell, can we put something else than a String ? If so, can you > add an example in the code above ? Thanks. > > I guess doing Ben's solution is the best. I did it with nested layout but it > is definitely not as good (see file in attachment, add it in your image then > evaluate SpecTable new). > > > 2013/11/8 prova email <prova...@hotmail.it> > Hi Clement; > > I did the Spec tuto made by Bahman (great tuto). As him, i'd like to put some > widgets into it. Is it possible? Maybe with the method "items:"? I don't know > if the solution that Ben give to us (use Morphic instead of Spec) is > suitable, that's because his UI looks like a list that accept only string. > Maybe i'm wrong, can you give us more explanations? Or is it something new > for you too? > > Thanks for your help! > Paolo > > From: bera.clem...@gmail.com > Date: Thu, 7 Nov 2013 10:04:51 +0100 > To: bah...@bahmanm.com; pharo-users@lists.pharo.org > Subject: Re: [Pharo-users] Spec - Grid/Table Layout > > > Hello, > > Actually I had the same problem, I think the best widget that exists for that > right now is MultiColumnListModel. > > For example, in the senders window (in attachment), the top panel is a > MultiColumnListModel. You can have as many lines and as many columns as you > want. > > We do not have yet a tableLayout, but we miss it. If you plan to implement > it, we will be interested in integrating it into Pharo. > > Ben can advise you on how to implement that. > > > > > 2013/11/7 Bahman Movaqar <bah...@bahmanm.com> > Hi all, > > Is there a grid/table layout available in Spec? Something like an HTML > table or Swing's GridLayout? If not, how may I achieve such a > functionality? > > I'd appreciate any hints/pointers. > > -- > Bahman Movaqar (http://BahmanM.com) > > ERP Evaluation, Implementation & Deployment Consultant > PGP Key ID: 0x6AB5BD68 (keyserver2.pgp.com)