Juraj has been working on a new builder for Roassal. Imagine something like Mondrian for to define Matrixes. The idea is to port DSM on Roassal
Juraj did an excellent job at defining the infrastructure to easily defines matrixes and DSM.
Here is the incantation to load the builder:
Gofer new
smalltalkhubUser: 'JurajKubelka' project: 'RoassalProposals';
package: 'RoassalGraphBuilders';
load.
(Smalltalk globals at: #RODependencyMatrixBuilderTest) browse.
Here is a list of small doits with their respective screenshots:
-=-=-=-=-=-=-=-=-=-=-=-=
| view builder |
view := ROView new.
builder := RODependencyMatrixBuilder new.
builder model: (Array with: true with: false).
builder dependencyBoolean: #xor:.
builder gapSize: 0.
builder on: view.
view open
-=-=-=-=-=-=-=-=-=-=-=-=
-=-=-=-=-=-=-=-=-=-=-=-=
| view builder objects |
objects := ROShape withAllSubclasses.
view := ROView new.
view @ RODraggable.
builder := RODependencyMatrixBuilder new.
builder model: objects.
builder dependency: #superclass.
builder gapSize: 0.
builder on: view.
view open
-=-=-=-=-=-=-=-=-=-=-=-=
-=-=-=-=-=-=-=-=-=-=-=-=
| view builder |
view := ROView new.
builder := RODependencyMatrixBuilder new.
builder model: (1 to: 5).
builder dependencyModel: [ :model :r :c | r + c ].
builder dependencyShape: ROLabel green.
builder on: view.
view open
-=-=-=-=-=-=-=-=-=-=-=-=
In a Roassal Easel opened on a class group:
-=-=-=-=-=-=-=-=-=-=-=-=
| builder |
builder := RODependencyMatrixBuilder new.
builder model: classGroup.
builder rowShape text: [ :element | element model name asString ].
builder columnShape text: ''.
builder dependencyModel: [ :model :r :c | r queryAllOutgoingInvocations atClassScope includes: c ].
builder dependencyShape: (ROBox new color: [ :el | el model ifTrue: [ Color red ] ifFalse: [ Color white ] ]; extent: 20 @ 20).
builder gapSize: 0.
builder on: view raw.
builder sort: [ :model | model queryAllOutgoingInvocations atClassScope size ].
-=-=-=-=-=-=-=-=-=-=-=-=
Cheers,
Alexandre
--
_,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:
Alexandre Bergel
http://www.bergel.eu^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.