Do we have Spec examples for - menues - lists with icons - trees already? What is the state and overall plan for the near future. Thx T. |
On Jul 10, 2012, at 1:16 PM, Torsten Bergmann wrote: > > Do we have Spec examples for > - menues Which kind of menus ? If it's about menu on list, yes, if it's about menu on windows, not yet (I just introduce a spec for windows ^^) > - lists with icons IconListModel new icons: [:e | UITheme current forwardIcon ]; items: (1 to: 10) asArray; openWithSpec (so I just introduced IconListModel example) > - trees TreeModel example > > already? What is the state and overall > plan for the near future. > About the battle plan, I introduced dynamic layouts yesterday (so you can add/remove widgets on the fly) and the next step is a UIBuilder Ben > Thx > T. > DynamicSpec2.mov (443K) Download Attachment |
In reply to this post by Torsten Bergmann
The plan is the following:
- focus on really added value: - dynamic spec (and ben did it already). We should be able to build mac os x like finder engine - focus on four/five items (buttons, list, trees, text area) - build a first complete UIPainter something that can be used to place widgets on the screen and wire them. - we started to look again at UIBuilder in 1.0 to get what could be reused (for now we will probably drop the event aspect) - ideally the panes for widgets settings should be generated automatically based on some kind of meta description or spec of the widgets so that we can move faster - continue to rewrite all the tools with Spec. ChangeSorter and dualChangeSorter got into production. - continue the chapter. - probably some videos. Now if people want to help, there are welcome. I think that we need more users. A typical task would be to rewrite the MC tools. > > Do we have Spec examples for > - menues > - lists with icons > - trees > > already? What is the state and overall > plan for the near future. > > Thx > T. > |
How to participate then ?
Will it be possible to do maybe a simple, but "live" painter ? My first contact with Morphic to do a few gui elements (such as rewritting the Nautilus GUI :-P) found the interface to be on the confusing side (multiple morphs doing the same thing, complex instantiation interface on average). Thierry Le 11/07/2012 14:58, Stéphane Ducasse a écrit : > The plan is the following: > > - focus on really added value: > - dynamic spec (and ben did it already). We should be able to build mac os x like finder engine > > - focus on four/five items (buttons, list, trees, text area) > - build a first complete UIPainter something that can be used to > place widgets on the screen and wire them. > - we started to look again at UIBuilder in 1.0 to get what could be reused > (for now we will probably drop the event aspect) > - ideally the panes for widgets settings should be generated automatically > based on some kind of meta description or spec of the widgets so that we can > move faster > > - continue to rewrite all the tools with Spec. ChangeSorter and dualChangeSorter got into > production. > > - continue the chapter. > - probably some videos. > > Now if people want to help, there are welcome. > I think that we need more users. A typical task would be to rewrite the MC tools. > > >> >> Do we have Spec examples for >> - menues >> - lists with icons >> - trees >> >> already? What is the state and overall >> plan for the near future. >> >> Thx >> T. >> > > > -- Thierry Goubier CEA list Laboratoire des Fondations des Systèmes Temps Réel Embarqués 91191 Gif sur Yvette Cedex France Phone/Fax: +33 (0) 1 69 08 32 92 / 83 95 |
To participate, you can:
- take a random tool and rewrite it using Spec :) - read the tech report, and tell where it's clear/unclear :) - write comments ^^ - just use it, and share your feedback. Then all together we can improve Spec - try to convince other people to participate :D Thank you in advance, Ben On Jul 11, 2012, at 4:22 PM, Goubier Thierry wrote: > How to participate then ? > > Will it be possible to do maybe a simple, but "live" painter ? > > My first contact with Morphic to do a few gui elements (such as rewritting the Nautilus GUI :-P) found the interface to be on the confusing side (multiple morphs doing the same thing, complex instantiation interface on average). > > Thierry > > Le 11/07/2012 14:58, Stéphane Ducasse a écrit : >> The plan is the following: >> >> - focus on really added value: >> - dynamic spec (and ben did it already). We should be able to build mac os x like finder engine >> >> - focus on four/five items (buttons, list, trees, text area) >> - build a first complete UIPainter something that can be used to >> place widgets on the screen and wire them. >> - we started to look again at UIBuilder in 1.0 to get what could be reused >> (for now we will probably drop the event aspect) >> - ideally the panes for widgets settings should be generated automatically >> based on some kind of meta description or spec of the widgets so that we can >> move faster >> >> - continue to rewrite all the tools with Spec. ChangeSorter and dualChangeSorter got into >> production. >> >> - continue the chapter. >> - probably some videos. >> >> Now if people want to help, there are welcome. >> I think that we need more users. A typical task would be to rewrite the MC tools. >> >> >>> >>> Do we have Spec examples for >>> - menues >>> - lists with icons >>> - trees >>> >>> already? What is the state and overall >>> plan for the near future. >>> >>> Thx >>> T. >>> >> >> >> > > > -- > Thierry Goubier > CEA list > Laboratoire des Fondations des Systèmes Temps Réel Embarqués > 91191 Gif sur Yvette Cedex > France > Phone/Fax: +33 (0) 1 69 08 32 92 / 83 95 > > > |
have a look at the dualChangeSorter as an example.
Stef On Jul 11, 2012, at 4:25 PM, Benjamin wrote: > To participate, you can: > - take a random tool and rewrite it using Spec :) > - read the tech report, and tell where it's clear/unclear :) > - write comments ^^ > - just use it, and share your feedback. Then all together we can improve Spec > - try to convince other people to participate :D > > Thank you in advance, > Ben > > > On Jul 11, 2012, at 4:22 PM, Goubier Thierry wrote: > >> How to participate then ? >> >> Will it be possible to do maybe a simple, but "live" painter ? >> >> My first contact with Morphic to do a few gui elements (such as rewritting the Nautilus GUI :-P) found the interface to be on the confusing side (multiple morphs doing the same thing, complex instantiation interface on average). >> >> Thierry >> >> Le 11/07/2012 14:58, Stéphane Ducasse a écrit : >>> The plan is the following: >>> >>> - focus on really added value: >>> - dynamic spec (and ben did it already). We should be able to build mac os x like finder engine >>> >>> - focus on four/five items (buttons, list, trees, text area) >>> - build a first complete UIPainter something that can be used to >>> place widgets on the screen and wire them. >>> - we started to look again at UIBuilder in 1.0 to get what could be reused >>> (for now we will probably drop the event aspect) >>> - ideally the panes for widgets settings should be generated automatically >>> based on some kind of meta description or spec of the widgets so that we can >>> move faster >>> >>> - continue to rewrite all the tools with Spec. ChangeSorter and dualChangeSorter got into >>> production. >>> >>> - continue the chapter. >>> - probably some videos. >>> >>> Now if people want to help, there are welcome. >>> I think that we need more users. A typical task would be to rewrite the MC tools. >>> >>> >>>> >>>> Do we have Spec examples for >>>> - menues >>>> - lists with icons >>>> - trees >>>> >>>> already? What is the state and overall >>>> plan for the near future. >>>> >>>> Thx >>>> T. >>>> >>> >>> >>> >> >> >> -- >> Thierry Goubier >> CEA list >> Laboratoire des Fondations des Systèmes Temps Réel Embarqués >> 91191 Gif sur Yvette Cedex >> France >> Phone/Fax: +33 (0) 1 69 08 32 92 / 83 95 >> >> >> > > |
In reply to this post by Benjamin Van Ryseghem (Pharo)
have a look at the dualChangeSorter as an example.
Stef On Jul 11, 2012, at 4:25 PM, Benjamin wrote: > To participate, you can: > - take a random tool and rewrite it using Spec :) > - read the tech report, and tell where it's clear/unclear :) > - write comments ^^ > - just use it, and share your feedback. Then all together we can improve Spec > - try to convince other people to participate :D > > Thank you in advance, > Ben > > > On Jul 11, 2012, at 4:22 PM, Goubier Thierry wrote: > >> How to participate then ? >> >> Will it be possible to do maybe a simple, but "live" painter ? >> >> My first contact with Morphic to do a few gui elements (such as rewritting the Nautilus GUI :-P) found the interface to be on the confusing side (multiple morphs doing the same thing, complex instantiation interface on average). >> >> Thierry >> >> Le 11/07/2012 14:58, Stéphane Ducasse a écrit : >>> The plan is the following: >>> >>> - focus on really added value: >>> - dynamic spec (and ben did it already). We should be able to build mac os x like finder engine >>> >>> - focus on four/five items (buttons, list, trees, text area) >>> - build a first complete UIPainter something that can be used to >>> place widgets on the screen and wire them. >>> - we started to look again at UIBuilder in 1.0 to get what could be reused >>> (for now we will probably drop the event aspect) >>> - ideally the panes for widgets settings should be generated automatically >>> based on some kind of meta description or spec of the widgets so that we can >>> move faster >>> >>> - continue to rewrite all the tools with Spec. ChangeSorter and dualChangeSorter got into >>> production. >>> >>> - continue the chapter. >>> - probably some videos. >>> >>> Now if people want to help, there are welcome. >>> I think that we need more users. A typical task would be to rewrite the MC tools. >>> >>> >>>> >>>> Do we have Spec examples for >>>> - menues >>>> - lists with icons >>>> - trees >>>> >>>> already? What is the state and overall >>>> plan for the near future. >>>> >>>> Thx >>>> T. >>>> >>> >>> >>> >> >> >> -- >> Thierry Goubier >> CEA list >> Laboratoire des Fondations des Systèmes Temps Réel Embarqués >> 91191 Gif sur Yvette Cedex >> France >> Phone/Fax: +33 (0) 1 69 08 32 92 / 83 95 >> >> >> > > |
In reply to this post by Benjamin Van Ryseghem (Pharo)
Here I come with somme feedback on Spec.
I tried to rebuilt an example using a tree view using spec this week-end, and it went fairly well (after a few misunderstandings). So, if I summarize what Spec is : * A herarchical view of models (a model is composed of submodels, where submodels may themselves be composite), up to elementary models provided by Spec. * A related hierarchy of views, which are created by specs. * Each model provides a defaultSpec to create the display. * Each model, even a composite, must implement the following methods : initializePresenter, initializeWidgets. And use instantiateModels:! * Models are linked to one another by appropriate "trigger" blocks. Good points : * Creating a window is very easy; just call openWithSpec. * The declarative aspect of Spec methods seems nice for a GUI painter. * There are enough models for a good start. A bit confusing so far with Spec: * Some examples have twice the submodels initialization (ClassMethodBrowser, in initialize and initializeWidgets) * Two syntaxes are available in xSpec methods * Two syntaxes are available in calls to instantiateModels: * I don't know yet how an existing application would connect to a Spec-based GUI (i.e. I don't know how to do a M-MVC app with it). * I haven't found a declarative way of setting up relations between models. * The spec and instantiateModels syntax isn't detailed. * I don't know how to integrate a non-spec morph and model. * The level of customization is frightening (TreeModel defaultSpec) but this seems to be a Morphic problem overall. * Exploring the generated morph hierarchy doesn't help much, due to the complexity linked with each morph object. * Why isn't there is a bit of info in the HelpBrowser ? It's easier to read the doc this way instead of toggling between a Pharo window and a pdf reader. I'll show you soon my results with spec! Thierry Le 11/07/2012 16:25, Benjamin a écrit : > To participate, you can: > - take a random tool and rewrite it using Spec :) > - read the tech report, and tell where it's clear/unclear :) > - write comments ^^ > - just use it, and share your feedback. Then all together we can improve Spec > - try to convince other people to participate :D > > Thank you in advance, > Ben > > > On Jul 11, 2012, at 4:22 PM, Goubier Thierry wrote: > >> How to participate then ? >> >> Will it be possible to do maybe a simple, but "live" painter ? >> >> My first contact with Morphic to do a few gui elements (such as rewritting the Nautilus GUI :-P) found the interface to be on the confusing side (multiple morphs doing the same thing, complex instantiation interface on average). >> >> Thierry >> >> Le 11/07/2012 14:58, Stéphane Ducasse a écrit : >>> The plan is the following: >>> >>> - focus on really added value: >>> - dynamic spec (and ben did it already). We should be able to build mac os x like finder engine >>> >>> - focus on four/five items (buttons, list, trees, text area) >>> - build a first complete UIPainter something that can be used to >>> place widgets on the screen and wire them. >>> - we started to look again at UIBuilder in 1.0 to get what could be reused >>> (for now we will probably drop the event aspect) >>> - ideally the panes for widgets settings should be generated automatically >>> based on some kind of meta description or spec of the widgets so that we can >>> move faster >>> >>> - continue to rewrite all the tools with Spec. ChangeSorter and dualChangeSorter got into >>> production. >>> >>> - continue the chapter. >>> - probably some videos. >>> >>> Now if people want to help, there are welcome. >>> I think that we need more users. A typical task would be to rewrite the MC tools. >>> >>> >>>> >>>> Do we have Spec examples for >>>> - menues >>>> - lists with icons >>>> - trees >>>> >>>> already? What is the state and overall >>>> plan for the near future. >>>> >>>> Thx >>>> T. >>>> >>> >>> >>> >> >> >> -- >> Thierry Goubier >> CEA list >> Laboratoire des Fondations des Systèmes Temps Réel Embarqués >> 91191 Gif sur Yvette Cedex >> France >> Phone/Fax: +33 (0) 1 69 08 32 92 / 83 95 >> >> >> > > > > -- Thierry Goubier CEA list Laboratoire des Fondations des Systèmes Temps Réel Embarqués 91191 Gif sur Yvette Cedex France Phone/Fax: +33 (0) 1 69 08 32 92 / 83 95 |
Administrator
|
In reply to this post by Benjamin Van Ryseghem (Pharo)
What do I load to play with this?
Cheers,
Sean |
It's already in the Pharo 2.0 image :)
I will provide examples soon :) Basically you can have your living ComposableModel, send self needRebuild: false. "To specify not to rebuild the widget but to update it, maybe the name sucks :)" self buildWithSpec "if you use the same layout" or more interesting self buildWithSpecLayout: aLayout "where a Layout is a SpecLayout" So you can dynamically create a spec layout, and rebuild your view with it Ben On Jul 16, 2012, at 4:15 PM, Sean P. DeNigris wrote: > > Benjamin Van Ryseghem-2 wrote >> >> I introduced dynamic layouts yesterday (so you can add/remove widgets on >> the fly) > > What do I load to play with this? > > -- > View this message in context: http://forum.world.st/Spec-questions-tp4639349p4640203.html > Sent from the Pharo Smalltalk mailing list archive at Nabble.com. > |
Administrator
|
Cool! Can it be loaded in 1.4?
Cheers,
Sean |
I think so :) Actually I haven't try, but it should work :)
Ben On Jul 16, 2012, at 4:41 PM, Sean P. DeNigris wrote: > > Benjamin Van Ryseghem-2 wrote >> >> It's already in the Pharo 2.0 image :) >> > > Cool! Can it be loaded in 1.4? > > -- > View this message in context: http://forum.world.st/Spec-questions-tp4639349p4640206.html > Sent from the Pharo Smalltalk mailing list archive at Nabble.com. > |
Administrator
|
What do I have to load on top of Spec 1.0? Should I just try to update all the spec packages to latest?
Cheers,
Sean |
If you load the configuration, it's not here ?
Ben On Jul 16, 2012, at 4:53 PM, Sean P. DeNigris wrote: > > Benjamin Van Ryseghem-2 wrote >> >> I think so :) Actually I haven't try, but it should work :) >> >> On Jul 16, 2012, at 4:41 PM, Sean P. DeNigris wrote: >>> Cool! Can it be loaded in 1.4? >> > > What do I have to load on top of Spec 1.0? Should I just try to update all > the spec packages to latest? > > -- > View this message in context: http://forum.world.st/Spec-questions-tp4639349p4640209.html > Sent from the Pharo Smalltalk mailing list archive at Nabble.com. > |
In reply to this post by Benjamin Van Ryseghem (Pharo)
1 more vote for 1.4...
2012/7/16 Benjamin <[hidden email]> I think so :) Actually I haven't try, but it should work :) Philippe Back Dramatic Performance Improvements Mob: +32(0) 478 650 140 | Fax: +32 (0) 70 408 027 Mail: [hidden email] | Web: http://philippeback.eu | Blog: http://philippeback.be High Octane SPRL rue cour Boisacq 101 1301 Bierges Belgium |
In reply to this post by Goubier Thierry
this is a good summary
Ben willcertainly comment it. > Here I come with somme feedback on Spec. > > I tried to rebuilt an example using a tree view using spec this week-end, and it went fairly well (after a few misunderstandings). > > So, if I summarize what Spec is : > > * A herarchical view of models (a model is composed of submodels, where submodels may themselves be composite), up to elementary models provided by Spec. > * A related hierarchy of views, which are created by specs. > * Each model provides a defaultSpec to create the display. > * Each model, even a composite, must implement the following methods : initializePresenter, initializeWidgets. And use instantiateModels:! > * Models are linked to one another by appropriate "trigger" blocks. > > Good points : > > * Creating a window is very easy; just call openWithSpec. > * The declarative aspect of Spec methods seems nice for a GUI painter. > * There are enough models for a good start. > > A bit confusing so far with Spec: > > * Some examples have twice the submodels initialization (ClassMethodBrowser, in initialize and initializeWidgets) > * Two syntaxes are available in xSpec methods > * Two syntaxes are available in calls to instantiateModels: > * I don't know yet how an existing application would connect to a Spec-based GUI (i.e. I don't know how to do a M-MVC app with it). indeed for now not clear if we will handle that > * I haven't found a declarative way of setting up relations between models. How would it be possible? > * The spec and instantiateModels syntax isn't detailed. > * I don't know how to integrate a non-spec morph and model. > * The level of customization is frightening (TreeModel defaultSpec) but this seems to be a Morphic problem overall. > * Exploring the generated morph hierarchy doesn't help much, due to the complexity linked with each morph object. I imagine that it often depend on the base widgetry > * Why isn't there is a bit of info in the HelpBrowser ? It's easier to read the doc this way instead of toggling between a Pharo window and a pdf reader. Because there is no need to duplicate documentation for an evolving system. > > I'll show you soon my results with spec! > > Thierry > > Le 11/07/2012 16:25, Benjamin a écrit : >> To participate, you can: >> - take a random tool and rewrite it using Spec :) >> - read the tech report, and tell where it's clear/unclear :) >> - write comments ^^ >> - just use it, and share your feedback. Then all together we can improve Spec >> - try to convince other people to participate :D >> >> Thank you in advance, >> Ben >> >> >> On Jul 11, 2012, at 4:22 PM, Goubier Thierry wrote: >> >>> How to participate then ? >>> >>> Will it be possible to do maybe a simple, but "live" painter ? >>> >>> My first contact with Morphic to do a few gui elements (such as rewritting the Nautilus GUI :-P) found the interface to be on the confusing side (multiple morphs doing the same thing, complex instantiation interface on average). >>> >>> Thierry >>> >>> Le 11/07/2012 14:58, Stéphane Ducasse a écrit : >>>> The plan is the following: >>>> >>>> - focus on really added value: >>>> - dynamic spec (and ben did it already). We should be able to build mac os x like finder engine >>>> >>>> - focus on four/five items (buttons, list, trees, text area) >>>> - build a first complete UIPainter something that can be used to >>>> place widgets on the screen and wire them. >>>> - we started to look again at UIBuilder in 1.0 to get what could be reused >>>> (for now we will probably drop the event aspect) >>>> - ideally the panes for widgets settings should be generated automatically >>>> based on some kind of meta description or spec of the widgets so that we can >>>> move faster >>>> >>>> - continue to rewrite all the tools with Spec. ChangeSorter and dualChangeSorter got into >>>> production. >>>> >>>> - continue the chapter. >>>> - probably some videos. >>>> >>>> Now if people want to help, there are welcome. >>>> I think that we need more users. A typical task would be to rewrite the MC tools. >>>> >>>> >>>>> >>>>> Do we have Spec examples for >>>>> - menues >>>>> - lists with icons >>>>> - trees >>>>> >>>>> already? What is the state and overall >>>>> plan for the near future. >>>>> >>>>> Thx >>>>> T. >>>>> >>>> >>>> >>>> >>> >>> >>> -- >>> Thierry Goubier >>> CEA list >>> Laboratoire des Fondations des Systèmes Temps Réel Embarqués >>> 91191 Gif sur Yvette Cedex >>> France >>> Phone/Fax: +33 (0) 1 69 08 32 92 / 83 95 >>> >>> >>> >> >> >> >> > > > -- > Thierry Goubier > CEA list > Laboratoire des Fondations des Systèmes Temps Réel Embarqués > 91191 Gif sur Yvette Cedex > France > Phone/Fax: +33 (0) 1 69 08 32 92 / 83 95 > > > |
Le 18/07/2012 07:26, Stéphane Ducasse a écrit :
> this is a good summary > Ben willcertainly comment it. Thanks. My small attempt at documenting it :-) >> Here I come with somme feedback on Spec. >> >> I tried to rebuilt an example using a tree view using spec this week-end, and it went fairly well (after a few misunderstandings). >> >> So, if I summarize what Spec is : >> >> * A herarchical view of models (a model is composed of submodels, where submodels may themselves be composite), up to elementary models provided by Spec. >> * A related hierarchy of views, which are created by specs. >> * Each model provides a defaultSpec to create the display. >> * Each model, even a composite, must implement the following methods : initializePresenter, initializeWidgets. And use instantiateModels:! >> * Models are linked to one another by appropriate "trigger" blocks. >> >> Good points : >> >> * Creating a window is very easy; just call openWithSpec. >> * The declarative aspect of Spec methods seems nice for a GUI painter. >> * There are enough models for a good start. >> >> A bit confusing so far with Spec: >> >> * Some examples have twice the submodels initialization (ClassMethodBrowser, in initialize and initializeWidgets) >> * Two syntaxes are available in xSpec methods >> * Two syntaxes are available in calls to instantiateModels: > this will be fixed. Maybe documenting both is enough; the array-based one is good for future tools (easy to manipulate), the code-based one is better for programmers (especially since the RB formatter doesn't do well, IMO, with dynamic arrays). >> * I don't know yet how an existing application would connect to a Spec-based GUI (i.e. I don't know how to do a M-MVC app with it). > indeed for now not clear if we will handle that Ok. >> * I haven't found a declarative way of setting up relations between models. > How would it be possible? A few objects defining more or less standard interactions (share, transform two-ways), with a bit of customisation and a painter for composite views... no ? In it's current state, Spec is already interesting. Good work ! Thierry -- Thierry Goubier CEA list Laboratoire des Fondations des Systèmes Temps Réel Embarqués 91191 Gif sur Yvette Cedex France Phone/Fax: +33 (0) 1 69 08 32 92 / 83 95 |
Administrator
|
In reply to this post by Benjamin Van Ryseghem (Pharo)
Bump :) I looked through the methods you described earlier in the thread, but don't know where to start. Is any code currently using the dynamic layout that I can look through? Didn't find anything that looked relevant via senders... Thanks, Sean
Cheers,
Sean |
Euh, I do not know :)
You can have a look at SpecInspector. If you need more, I will write more :) Ben On Jan 26, 2013, at 12:41 AM, Sean P. DeNigris wrote: > Benjamin Van Ryseghem-2 wrote >> I will provide examples soon :) >> ... >> So you can dynamically create a spec layout, and rebuild your view with it >> >> On Jul 16, 2012, at 4:15 PM, Sean P. DeNigris wrote: >>> Benjamin Van Ryseghem-2 wrote >>>> >>>> I introduced dynamic layouts yesterday (so you can add/remove widgets on >>>> the fly) > > Bump :) I looked through the methods you described earlier in the thread, > but don't know where to start. Is any code currently using the dynamic > layout that I can look through? Didn't find anything that looked relevant > via senders... > > Thanks, > Sean > > > > -- > View this message in context: http://forum.world.st/Spec-questions-tp4639349p4665462.html > Sent from the Pharo Smalltalk mailing list archive at Nabble.com. > |
Administrator
|
SpecInspector seems to cover the dynamic "showing and hiding" behavior, but I think an example of "adding and removing arbitrary widgets on the fly", like the one we discussed, would be very helpful.
Cheers,
Sean |
Free forum by Nabble | Edit this page |