[squeak-dev] [Ann] Cuis 3.2 is released

Hannes Hirzel hannes.hirzel at gmail.com
Thu Apr 14 15:13:20 UTC 2011


On 4/14/11, Balázs Kósi <rebmekop at gmail.com> wrote:
> Hi,
>
> Today I restarted my efforts of basing SimpleMorphic on Cuis' morphic.
> My previous try stalled, because it proved to be hard to gap the
> divergence of Squeak and Cuis outside the code I brought from there.
> (IIRC I was fiddling with CharacterScanner incompatibilities lately)
>
> So my new approach is to sever a bigger chunk from Cuis .
>  - I grabbed not only Morphic and the Theme categories but also all
> the code from System-Text, Tools, Shout and Graphics-Text and three
> more classes (Preferences Preference RunArray). [1]
>  - Then loaded it with the little utility I attached [2]. This
> converts category and class names and class references.
>  - Then I've loaded the SMx package, and started the long battle with
> the errors popping up, eventually slipping into changing the extracted
> SimpleMorphic package.
>
> I've uploaded the results to the SimpleMorphicSqueak repo [3].
> Hopefully it can be loaded into a clean trunk image. It's possible to
> create a new project, open the world menu and return to the previous
> project.
>
> The next steps will be to make the tools (from Cuis) work, by
> improving the SMx package. I hope this will solder the code into the
> Trunk. Then make the ToolBuilder work, and then we hopefully can pick
> up the thread where we left and merge with Edgar. What do you think?
>
> Balázs
>
> p.s: We have 3 overrides in Trunk code. Two in Rectangle (Rectangle >>
> quickMerge:, Rectangle class >> merging: ). Both to accept nil instead
> of Rectangles. The third is DisplayScreen >> defaultCanvasClass. It
> dispatches on
> Project current to get the canvas class, so SimpleMorphic can use its
> own canvas. Maybe they can integrated into the Trunk.
>
> [1] This is the code I use to get the code out from Cuis:
>
> fs := FileStream newFileNamed: 'SimpleMorphic-3.2.st'.
> #('Morphic' 'Theme' 'System-Text' 'Tools' 'Shout' 'Graphics-Text') do:
> [ :category |
>        (SystemOrganization categoriesMatching: category, '*') do: [ :each |
>                SystemOrganization fileOutCategory: each on: fs ] ].
> #(Preferences Preference RunArray) do: [ :className | (Smalltalk
> classNamed: className) fileOutOn: fs ].
> fs close.
>
> [2] This is the code to load the filed out code:
>
> transformer := SMxFilePackageTransformer fromFileNamed:
> 'SimpleMorphic-3.2.st'.
> transformer filePackage fixClassOrder.
> transformer filePackage fileIn




> [3] Load script:
>
> Installer squeaksource
>        project: 'SimpleMorphicSqueak';
>        install: 'SimpleMorphic-kb.8';
>        install: 'SMx-kb.32'
>

Thank you Balázs for this description which shows with enough details
what you did.

I used your load script [3]

It loaded fine into Balázs  Squeak 4.3 alphta -11241 (trunk) as of today.

With menu 'Project / New Project' --> 'SMx Morphic Project' I can
create a SimpleMorphic project enter it and leave it.

In addition I can open a SystemBrowser.

This is a good milestone.
The GUI looks nice as the CUIS 3.2 I checked out yesterday.

Cuis 3.2 has

Morph allSubclasses size  52

---------------------------------------------------------------------
Now for the things which do not work yet

If I  'right-click' on the category pane to bring up the find class
command results in a debugger window.

Opening a workspace brings the same result.


---------------------------------------------------------------------
UIManager
---------------------------------------------------------------------


I see that you have
UIManager subclass: #SimpleMorphicUIManager


---------------------------------------------------------------------
Questions
---------------------------------------------------------------------

1. Looking at the class category I see the prefix

SimpleMorphic
and
SMx

How do they differ?

2. How far have you got into looking at what Edgar did?
He writes that he can bring up the Monticello browser though with some
hacks (see other thread; Bert and Andreas dont' want an abstract
method signature on UIManager which includes aWorld as a parameter.


Regards

--Hannes



More information about the Squeak-dev mailing list