[Pharo-dev] Esteban's ChangeLog week of 28 January 2019

estebanlm at gmail.com estebanlm at gmail.com
Mon Feb 4 02:00:03 EST 2019


This is my weekly ChangeLog, from 28 January 2019 to 3 February 2019.
You can see it in a better format by going here: http://log.smallworks.eu/web/search?from=28/1/2019&to=3/2/2019


30 January 2019:

*    Still more work for the [PR](https://github.com/pharo-spec/Spec/pull/208) I submited yesterday. 
    It is now ready to merge!

29 January 2019:

*    I made a [PR](https://github.com/pharo-spec/Spec/pull/208) that adds two new elements to Spec 2:
    1) SpecPanedLayout is a new layout that complements SpecBoxLayout:
    A paned layout is like a Box Layout (it places childen in vertical or horizontal fashion), but it will add a splitter in between, that user can drag to resize the panel.
    In exchange, a paned layout can have just two children.
    2) NotebookPresenter is a new implementation of a tab manager. Needed because old one was not lazy, bad layouted 
    and too attached to Morphic (while we attempt to be more backend agnostic).
    All of this is still WIP (there are missing functionality still), but what is there is working fine :)
*    I merged this [PR](https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/362) from Pavel to 
    improve keyboard handling on Windows VMs.
*    Now that Pharo 7.0 is out, I started work on the Pharo 8.0 roadmap (that I need to 
    send to the list, btw). 
    Since some weeks I've been working on Spec2 (because we will need it sooner than 
    expected and I wanted to make some progress on its general design and needs). In Spec2, 
    some things will be enhanced, some others replaced and some other more added from 
    I wanted to know mor more or less were we stand to do the job. 
    Some work I've made (along with Cyril): 
    1) Layouts will be revamped. Right now there is just one layout which is overpowerful but hard 
    to use and too attached to morphic (and our goal is to be able to replace the Morphic backend 
    with a Bloc backend). We decided to go for a different approach: instead one layout that does
    all, having different layouts to fulfil different needs: 
    	- +SpecBoxLayout+ (rigid panes)
    	- +SpecPanedLayout+ (non rigid panes)
    	- +SpecGridLayout+ (form kind layout)
    	- +SpecFlowLayout+ (flowing components)
    	- +SpecXYLayout+ (rigid coordinates)
    	- And of course there will be need of a kasowary based layout. 
    	- ... ?
    I already implemented +SpecBoxLayout+, +SpecPanesLayout+ and a preliminary version od +SpecGridLayout+ :). 
    2) Interpreter will be removed. Just the old layout makes it necessary today, and it adds a 
    complexity we do not need.
    3) We will add a +TablePresenter+ (a good one) and a +TreeTablePresenter+ (again, a good one). 
    Old versions that try to fullfil same function will be deprecated. There is already a functional 
    preliminary version of them :) 
    4) We will add components for Numbers, Dates, etc. (+NumberInputFieldPresenter+ is already implemented)
    5) We will revisit all other components. 
    As a roadmap, is pretty ambicious but is looking good so far :)


More information about the Pharo-dev mailing list