Is there a way to set a default selection to a list presentation? so that
when I open the browser, the morphic list has already a value selected.
I tried that:
tmpBrowser := GLMTabulator new.
tmpBrowser row: #list.
tmpBrowser transmit to: #list; andShow: [:a |
display: [:input | input];
tmpBrowser openOn: #( b c d v a d f r).
but the list still open with nothing selected
Alex Syrel, Andrei Chis and I are happy to announce a new addition to the
GTSpotter, a novel interface for spotting objects.
GTSpotter has two goals:
- Provide a uniform yet moldable interface that can work on any object, and
- Handle searching through arbitrary levels of object nesting.
We think this will have a significant impact on the development workflow in
Here is a couple of screenshots:
[image: Inline image 2] [image: Inline image 1] [image: Inline image 3]
A trailer is available here:
A detailed description is available here:
It works already in Pharo 3.0 and can be played with by following the
Please let us know what you think.
The Glamorous Team
since I wanted to use DarkTheme I played around with TRMorph (since seeing
giant white rectangle in dark theme is not very nice).
What I have done is moved the background color setting to `surface clear:`
(instead of the original aCanvas fillRectangle).
And then if theme background luminance is dark (>0.5), I invert all the
colors in the visualization.
For dark theme the background is black, and not the theme background - at
least to me it seems that black is much clearer.
Is this something that could be incorporated?
And the modified code:
"aCanvas is a FormCanvas"
"aCanvas fillRectangle: bounds color: trachelCanvas color."
"The drawing has to be done when a change in the shapes occured or when
there is an animation."
surface drawDuring: [:cs |
surface clear: trachelCanvas color.
"We display the elements that are subject to the camera"
translateBy: (self extent / 2) asFloatPoint;
scaleBy: trachelCanvas camera scale asFloat;
translateBy: trachelCanvas camera position negated asFloatPoint.
trachelCanvas shapes do: [ :trachelShape |
trachelShape drawOn: cs.
"We display the elements that are _NOT_ subject to the camera"
cs pathTransform loadIdentity scaleBy: 1.001.
trachelCanvas fixedShapes do: [ :trachelShape |
trachelShape drawOn: cs.
self theme backgroundColor luminance < 0.5 ifTrue: [
surface drawDuring: [ :cs |
cs paintMode restoreAfter: [
cs setPaint: Color white.
cs paintMode difference.
cs drawShape: (0 @ 0 extent: surface extent)
"aCanvas translucentImage: surface asForm at: self bounds origin."
"asForm creates a new Form, which is likely to be expensive. This can be
aCanvas image: surface asForm at: self bounds origin sourceRect: (0 @ 0
extent: surface extent) rule: 34.
I have worked on the actions available in Glamour during the last few days.
I have just added a find icon (glasses icon):
Clicking on it open a spotter to look for element in the view. Selecting it move the camera to focus on it.
Alexandre Bergel http://www.bergel.eu
apparently we broke MorphicRoassalAdapter when cleaning Spec, I attached a
However my question is - does anybody (except us) actually use the
Roassal2Spec package? Because otherwise we could clean it a bit. For
example I'm not sure of the use case of script:/lastEvent:.
If I inspect a compile method, I have a tab showing the source code. But I cannot modify the source code of it (well, it does not compile).
Is there a way to edit compile method within the GTInspector?
Maybe using Ring?
Alexandre Bergel http://www.bergel.eu
is it possible to programatically change the width of Playground/Inspector
Currently if I want one pane bigger I have to resize both which wastes a
lot of space (I need to resize twice as much).
I wouldn't mind having a "special playground" just for this particular use
case. There is also Roassal Easel
However I would like to have the code on a side rather than underneath
because code is tall, not wide.
some time ago I saw a diagram consisting of two columns of words and lines
showing associations between the words in both columns.
It looked similar to the "parallel coordinates" diagram from this link:
http://homes.cs.washington.edu/~jheer/files/zoo/ but with only two columns.
Now, I am not sure if I saw this in an email on a Pharo or Moose list and
wanted to ask if it is already possible to create such diagrams with
Thank you very much,
I moved Glamour to Rubric, deprecated those presentations that use
PluggableTextMorph and moved almost all usages of presentations that rely
These changes are still only in the Moose branch to see if there are any
The changes to the glamour API are the following:
- deprecated #smalltalkCode, #pharoPlayground and #rubricText
- added #pharoScript
If you use #smalltalkCode replace it with either #pharoMethod or
If you use #rubricTest replace those usages with #text
If you use #pharoPlayground replace those usages with #pharoScript (we
changed this as the glamour playground is not the same at the GTPlayground
and this was causing some confusion)
For this I also renamed GLMPharoPlaygroundPresentation to
GLMPharoScriptPresentation and GLMMorphicPharoPlaygroundRenderer to
If you are using the latest moose let me know if you run into any problems
or have questions.
For preparing my teaching course I would have love to have simple class hierarchy visualisations or even better, real UML representations.
Unfortunately, the UML like diagram from the Moose panel is not zoomable. It is by default in light grey saying that it is harder to read. It contains all the attributes and all the methods so it is difficult to put it in a single readable picture. Please make the experiment with the Famix-Core classes.
I was not able to do easily a class hierarchy with the name of the classes. After more than one hour, I gave up.
So it could be good, if we can have:
- a class hierarchy with only the names of the classes in boxes or not
- a class hierarchy with only attributes
- a class hierarchy with only methods
- the existing "UML" representation
- a real metamodel representation. Not as a system complexity representation, but as a real UML representation meaning with inheritance AND associations (those can be deduce from pragmas and now with the new MooseQuery API, we get all the methods to do it).
It should be possible to easily specify which classes we want to represent.
It seems to me the minimum vital to do real analyses.
In my course, I wanted to show I extended FAMIX for SQL purpose. It was so complex (because I don’t want not all FAMIX entity, but just the one from which the SQL classes inherit and without the methods) that once again I gave up.
I don’t have enough time to better look for. But anyway, I find it sad that it is so hard even for people knowing (a bit) Moose of not being able to do that.