On Oct 11, 2012, at 11:04 PM, Pavel Krivanek wrote:

> Unfortunately it is not only about a layer between Morphic and Spec.
> Whole Spec design is greatly conforming to Morphic. Check out Spec
> definitions, they look almost like transcription of Morphic calls
> 
> MethodToolbar class >> defaultSpec
>       <spec>
>       ^ { #Panel.
>                       #changeTableLayout.
>                       #listDirection:.                #rightToLeft.
>                       #addMorph:. {#model.    #browseModel.}.
>                       #addMorph:. {#model.    #sendersModel.}.
>                       #addMorph:. {#model.    #implementorsModel.}.
>                       #addMorph:. {#model.    #versionModel.  }.
>                       #addMorph:. {#model.    #dropListModel.}.
>                       #hResizing:.    #spaceFill.
>                       #vResizing:.    #shrinkWrap.    }

This is because this method is out dated, it shold be now

        ^ SpecLayout composed
                newRow:[: r |
                        r 
                                add: #browseModel;
                                add: #sendersModel;
                                add: #implementorsModel;
                                add: #versionsModel;
                                add: #dropListModel ]
                height: 25

> 
> Of course these methods are implemented only in Morphic classes. Whole
> layout management is directly taken from Morphic. And the Spec
> definitions are unclear and hard to read. They are composed almost
> solely from symbols so it is hard to work with and analyze them with
> our development tools. We have such beautiful metalanguage where to
> create DSL is so easy...
> 
> In comparison with OmniBrowser the Spec is big step back. Sorry, I do
> not want to be ugly but I started this impression when I was working
> on Periscope and since that time it is deeper and deeper.
> 
> Cheers,
> -- Pavel
> 
> 
> 
> 
> 
> On Thu, Oct 11, 2012 at 10:21 PM, Igor Stasenko <[email protected]> wrote:
>> On 11 October 2012 20:52, Benjamin <[email protected]> 
>> wrote:
>>> This method is actually the only one from ComposableModel with direct 
>>> Morphic binding :)
>>> 
>>> 
>>> I am still trying to move that away, but I needed the rebuild to work
>>> 
>> i think you can introduce own protocol (and put it as extension to
>> morphic, if you want to)
>> so, instead of saying
>> 
>> widget removeAllMorphs
>> 
>> you will use own extension method ,like:
>> 
>> widget specRemoveAllChilds
>> 
>> etc (spec here is namespacing prefix for a method, to indicate that it
>> belongs to spec package
>> and to indicate that it is a contract implied between spec and widget)
>> 
>>> Ben
>>> 
>>> On Oct 11, 2012, at 8:49 PM, Pavel Krivanek wrote:
>>> 
>>>> Hi Ben,
>>>> 
>>>> I really would like to write Spec binding for Phobos (Esteban will
>>>> want to do it for Mars etc.). But, how to say that, Spec was not
>>>> written with UI Independence in mind :-) Very basic example of that
>>>> fact:
>>>> 
>>>> ComposableModel>>buildWithSpec: aSpec
>>>>      "Build the widget using the spec name provided as argument"
>>>>      | widget |
>>>> 
>>>>      (self spec notNil and: [ self needRebuild not ])
>>>>              ifTrue: [ | old |
>>>>                      self needRebuild: true.
>>>>                      old := self widget.
>>>>                      old removeAllMorphs.
>>>>                      self ensureExtentFor: old.
>>>>                      widget := SpecInterpreter buildMorphFor: self 
>>>> withSpec: aSpec.
>>>>                      widget submorphs do:[ :e |  old addMorphBack: e ].
>>>>                      self spec instance: old.
>>>>                      ^ old ]
>>>>              ifFalse: [ widget := SpecInterpreter buildMorphFor: self 
>>>> withSpec: aSpec. ].
>>>> 
>>>>      self ensureExtentFor: widget.
>>>> 
>>>>      ^ widget
>>>> 
>>>> Can you please do at least basic steps in the architecture of Spec to
>>>> make it more independent on Morphic?
>>>> 
>>>> Cheers,
>>>> -- Pavel
>>>> 
>>>> On Wed, Oct 10, 2012 at 12:10 AM, Benjamin
>>>> <[email protected]> wrote:
>>>>> It was part of my battle plan to rule the world ;)
>>>>> 
>>>>> We wanted with Nico to part it to Amber to get the Javascript part for 
>>>>> free, then generate some XUL :)
>>>>> 
>>>>> Anyway, really cool job, and impressive as well :)
>>>>> 
>>>>> Ben
>>>>> 
>>>>> On Oct 9, 2012, at 11:07 PM, Stéphane Ducasse wrote:
>>>>> 
>>>>>> It looks really nice.
>>>>>> I imagine that Spec could generate XUL too.
>>>>>> 
>>>>>> Stef
>>>>>> On Oct 9, 2012, at 9:48 PM, Pavel Krivanek wrote:
>>>>>> 
>>>>>>> Hi all,
>>>>>>> 
>>>>>>> I would like to introduce you Phobos - the XULRunner based Smalltalk
>>>>>>> framework for development of native GUI with standard look&feel for
>>>>>>> Linux, Mac OS X and Windows.
>>>>>>> 
>>>>>>> It is based on Zinc, WebSockets and Seaside continuations. For more
>>>>>>> information including more screenshots see the project page:
>>>>>>> 
>>>>>>> http://code.google.com/p/phobos-framework/
>>>>>>> 
>>>>>>> You should pay attentions to FAQ too:
>>>>>>> http://code.google.com/p/phobos-framework/wiki/FAQ
>>>>>>> 
>>>>>>> Phobos has Seaside-like components and rendering style, can combine
>>>>>>> XUL with HTML or SVG, supports printing etc.
>>>>>>> 
>>>>>>> Cheers,
>>>>>>> -- Pavel
>>>>>>> <01.png>
>>>>>> 
>>>>>> 
>>>>> 
>>>>> 
>>>> 
>>> 
>>> 
>> 
>> 
>> 
>> --
>> Best regards,
>> Igor Stasenko.
>> 
> 


Reply via email to