How do we make the IDE more like real life - live, direct, and fun!
GToolkit is the reference platform, but the goal is for it to also work in the latest Pharo release
[
EpMonitor current disable.
[ Metacello new
baseline: 'LivingCode';
repository: 'github://seandenigris/Living-Code/repository';
"onConflict: [ :ex | ex allow ];"
load ] ensure: [ EpMonitor current enable ].
] fork.
From the World Menu, click "Open Self World" Things to note:
- The world is infinite (see below for how to scroll)
- Currently, due to Morphic limitations, zooming is not available; but this is very much desired!
- In the Self window, in the editor bar near the top, type an expression
- Accept with either Cmd+s or [Enter] An object, very much like an Outliner in the Self Language, will appear in your hand. Place it in the world wherever you want
Just use the mouse wheel, or click and drag anywhere on the World's background
Since grokking a complex world can be difficult, there is a RadarMorph, inspired by Self's RadarView. Try the following:
- Accept in the window's evaluating editor:
RadarMorph new extent: (300.0@200.0); openInHand
- Place the RadarMorph in one of the corners of the world
- You now have a warp speed option for scrolling - click and drag in the RadarMorph. Compare the regular scrolling described above and you'll see that it is at a much finer level
In self, the equivalent of creating a new instance is to copy a prototype e.g. "morph copy" ~ "Morph new". One key difference is that in most of the examples, you continue to customize the behavior, which is not a built-in way to deal with Smalltalk instances. So, we start with an equivalent of "Morph subclass: #MyMorphSubclass". In the future, we may make a real prototyping facility, but this will get the ball rolling.
In self, one would add a slot to globals under an appropriate category and then connect the slot to the new prototype. As a Smalltalk equivalent, we include a "package" slot in all outliners. So one can drag and drop the package slot handle onto an RPackage.