Yes :)
On 09 May 2016, at 13:45, Henrik Johansen <henrik.s.johansen@veloxit.no> wrote:
Yes, IIRC, the whole idea behind Spec was to have a literal syntax for specifying UI's. ��(Which is a neat storage format for, say, a UIBuilder)The focus seems to have changed over time to directly using what was initially the intermediate object model��the builder generated when parsing the spec.
btw, I���ve never been happy with that change :)and I agree, the original idea was to have some s-strings ��based description so an UI builder (to be done) could do a better job.
Esteban
Cheers,Henry��
On 09 May 2016, at 1:22 , Denis Kudriashov <dionisiydk@gmail.com> wrote:
2016-05-09 11:38 GMT+02:00 Peter Uhn��k <i.uhnak@gmail.com>:
No. Morphs are created by Adapters, Spec interpreter instantiates glues everything together.Regardless, there's no parsing involved��� what is there to parse? There are no literal arrays anywhere.The SpecLayout (that we called array last week), is not an array, it's a composition of real objects
defaultSpec^ SpecLayout composednewRow: [ :row | row newColumn: [ :col | col add: #topToolbar height: self toolbarHeight ] ]height: self toolbarHeight;newRow: [ :row |��rownewColumn: [ :col | col add: #navigatorModel ] origin: 0 @ 0 corner: 0.2 @ 1;addSplitter;newColumn: [ :col | col add: #tabManager ] origin: 0.2 @ 0 corner: 0.85 @ 1;addSplitter;newColumn: [ :col | col add: #formModel ] origin: 0.85 @ 0 corner: 1 @ 1 ]top: self toolbarHeight;yourself
Maybe array approach deprecated? But in first demos of Spec it was like this:
CheckBoxExample class>>defaultSpec
^ { #ContainerModel.#add:. { self topSpec. #layout:. #(#SpecLayoutFramebottomFraction: 0bottomOffset: 20) }.#add:. {{#model . #container } . #layout: . #(#SpecLayoutFrame topOffset: 22) }�� }��
(Actually it is from Pharo 5 image).