I will have a look asap :P Ben
On Oct 5, 2013, at 10:12 PM, Pavel Krivanek <[email protected]> wrote: > Hi Ben, > > Gofer new > smalltalkhubUser: 'PavelKrivanek' project: 'Periscope'; > package: 'Periscope'; > load. > > Nautilus pluginClasses add: {(Smalltalk at: #NautilusPeriscopePlugin). #none} > . > > Very useful code: ;-) > > Periscope reset > > It still without experiments with own Morphic bindings, that will be > the next step :-) Feel free to commit any changes. > > Chees, > -- Pavel > > 2013/10/5 Benjamin <[email protected]>: >> Can you point me where to load your code and how to end up in a situation >> where I can play with the spec ? :P >> >> Ben >> >> On Oct 4, 2013, at 11:11 PM, Pavel Krivanek <[email protected]> >> wrote: >> >> Damn, the last row of the last plugins fills all the window... >> >> -- Pavel >> >> 2013/10/4 Pavel Krivanek <[email protected]>: >> >> Thanks, this seems to work: >> >> defaultSpec >> >> | layout | >> layout := SpecLayout composed. >> self pluginClasses do: [ :c | >> layout add: {#model. #class. #pluginOf:. c. #defaultSpec} ]. >> >> ^ layout. >> >> >> plugin code on the instance side looks like this: >> >> defaultSpec >> >> ^ SpecLayout composed >> newRow:[: r | >> r add: #finderButtonModel; >> add: #browserButtonModel] >> height: 25. >> >> >> -- Pavel >> >> 2013/10/4 Benjamin <[email protected]>: >> >> Since you are doing some really edge use of Spec, >> it's not covered by Spec easily. >> >> But if on you model you have a method returning your pluginClasses, you >> could do maybe: >> >> | layout | >> layout := SpecLayout composed. >> self pluginClasses do: [ :c | >> layout add: {#model. pluginOf:. c} ] >> >> I am not sure it works, but it worth a try :P >> >> Ben >> >> On Oct 4, 2013, at 9:28 PM, Pavel Krivanek <[email protected]> wrote: >> >> This was the original code for the spec that embeds plugins. As you >> can see, it had to use ugly addMorph:. I do not think that I need to >> do something special. Has the current Spec a better way how to do >> that? >> >> defaultSpec >> >> | spec | >> spec := OrderedCollection with: #ContainerModel. >> spec addAll: {#changeTableLayout. >> #listDirection:. #topToBottom. >> #hResizing:. #spaceFill. >> #vResizing:. #spaceFill.}. >> self pluginClasses do: [:c | >> spec add: #addMorph:. >> spec add: {(self pluginOf: c) defaultSpec}]. >> ^ spec asArray. >> >> 2013/10/4 Pavel Krivanek <[email protected]>: >> >> In other words... I have a model that has some plugins. I need to >> generate a spec that embeds specs generated for each plugin. Models >> for this embedded specs must be the plugins, not the original model. >> >> -- Pavel >> >> 2013/10/4 Pavel Krivanek <[email protected]>: >> >> well, and the version with "SpecLayout composed" when I do not need >> direct fractions? >> >> ^ SpecLayout composed >> newRow:[: r | >> r add: #finderButtonModel] >> height: 25 >> >> How to send #finderButtonModel to different object than SpecInterpreter >> model? >> >> -- Pavel >> >> 2013/10/4 Benjamin <[email protected]>: >> >> ^{ #ContainerModel. >> >> #vShrinkWrap. >> >> #add:. {{self. #finderButtonModel}. >> >> #layout:. #(FrameLayout >> >> rightFraction: 0.125)}. >> >> #add:. {{self. #browserButtonModel}. >> >> #layout:. #(FrameLayout >> >> leftFraction: 0.125 >> rightFraction: 0.25)}} >> >> This should work, but looks strange though :P >> >> Ben >> >> On Oct 4, 2013, at 8:13 PM, Pavel Krivanek <[email protected]> wrote: >> >> Ben, >> >> how now should look code like this: >> >> defaultSpec >> >> ^{ #ComposableSpec. >> #vResizing:. #shrinkWrap. >> #add:. {{self. #finderButtonModel}. >> #layout:. #(FrameLayout >> rightFraction: 0.125)}. >> #add:. {{self. #browserButtonModel}. >> #layout:. #(FrameLayout >> leftFraction: 0.125 >> rightFraction: 0.25)}} >> >> -- Pavel >> >> 2013/10/4 Benjamin <[email protected]>: >> >> For Spec users: >> >> The change is mostly backward compatible :) >> 2 things really changed: >> - direct access to a model's widget is not returning what it used to return. >> This is done on purpose since >> it's very often a bad idea to directly access the widget. >> - some behaviour on trees are now only available after the tree build. This >> is because some properties >> have been moved on the adapter directly, which is reachable only after the >> model build. >> You can use `whenBuiltDo:` to add post-build actions. >> >> Enjoy this new Spec :P >> >> Ben >> >> On Oct 4, 2013, at 2:31 PM, Marcus Denker <[email protected]> wrote: >> >> 30448 >> ----- >> >> 11740 Remove Morphic dependency from Spec >> https://pharo.fogbugz.com/f/cases/11740 >> >> A Huge change from Ben... >> >> Diff information: >> http://smalltalkhub.com/mc/Pharo/Pharo30/main/Tools-MarcusDenker.1292.diff >> http://smalltalkhub.com/mc/Pharo/Pharo30/main/Tabs-MarcusDenker.33.diff >> http://smalltalkhub.com/mc/Pharo/Pharo30/main/Spec-Widgets-MarcusDenker.265.diff >> http://smalltalkhub.com/mc/Pharo/Pharo30/main/Spec-Tools-MarcusDenker.150.diff >> http://smalltalkhub.com/mc/Pharo/Pharo30/main/Spec-Tests-MarcusDenker.35.diff >> http://smalltalkhub.com/mc/Pharo/Pharo30/main/Spec-MorphicAdapters-MarcusDenker.9.diff >> http://smalltalkhub.com/mc/Pharo/Pharo30/main/Spec-PolyWidgets-MarcusDenker.7.diff >> http://smalltalkhub.com/mc/Pharo/Pharo30/main/Spec-Layout-MarcusDenker.58.diff >> http://smalltalkhub.com/mc/Pharo/Pharo30/main/Spec-Inspector-MarcusDenker.102.diff >> http://smalltalkhub.com/mc/Pharo/Pharo30/main/Spec-Examples-MarcusDenker.48.diff >> http://smalltalkhub.com/mc/Pharo/Pharo30/main/Spec-Debugger-MarcusDenker.163.diff >> http://smalltalkhub.com/mc/Pharo/Pharo30/main/Spec-Core-MarcusDenker.175.diff >> http://smalltalkhub.com/mc/Pharo/Pharo30/main/Spec-Builder-MarcusDenker.43.diff >> http://smalltalkhub.com/mc/Pharo/Pharo30/main/Spec-Bindings-MarcusDenker.35.diff >> http://smalltalkhub.com/mc/Pharo/Pharo30/main/NautilusRefactoring-MarcusDenker.126.diff >> http://smalltalkhub.com/mc/Pharo/Pharo30/main/Spec-Adapters-MarcusDenker.3.diff >> http://smalltalkhub.com/mc/Pharo/Pharo30/main/Manifest-CriticBrowser-MarcusDenker.124.diff >> http://smalltalkhub.com/mc/Pharo/Pharo30/main/Keymapping-Tools-Spec-MarcusDenker.19.diff >> http://smalltalkhub.com/mc/Pharo/Pharo30/main/KeyChain-MarcusDenker.58.diff >> http://smalltalkhub.com/mc/Pharo/Pharo30/main/HudsonBuildTools20-MarcusDenker.45.diff >> >> >> >> >> >> >> >> >> >
