Hi,
I enhanced Glamour with a first version of a Watcher browser that offers a behavior similar to Quick Preview on Mac.
For example, if you run the code below in a Moose image, and then press Ctrl+Shift+Space you will get a preview of source code in a window floating above the current one. See the attachment.
| browser |
browser := GLMTabulator new.
browser column: #methods.
browser transmit to: #methods; andShow: [:a | a list display: #methods; format: #selector ].
browser transmit from: #methods; toWatcher; andShow: [:a |
a smalltalkCode
smalltalkClass: [ :method | method methodClass ];
display: [:method | method getSource ] ].
browser openOn: GLMBrowser
To get it 100% useable I would need help with some Morphic magic:
- to make the Watcher window not appear in the taskbar
- to make the rendering of Watcher happen in another thread so that it does not block the current UI
Cheers,
Doru
--
www.tudorgirba.com
"Not knowing how to do something is not an argument for how it cannot be done."
Status: New
Owner: ----
Labels: Type-Defect Priority-Medium
New issue 767 by sean.p.d...(a)gmail.com: Book: presentation names are
confusing
http://code.google.com/p/moose-technology/issues/detail?id=767
For example, on
http://www.themoosebook.org/book/internals/glamour/presentations/action-list
ActionListPresentation is referenced, but the class name is
GLMActionListPresentation. So, when I pasted it into a workspace, it was
highlighted red as an unrecognized class. I think it'd be clearer to either
use full presentation class names or spaces between camel case
(e.g. "Action List Presentation").
The same is true for some of the other presentations e.g. DiffPresentation
Status: New
Owner: ----
Labels: Type-Defect Priority-Medium
New issue 644 by cy.delau...(a)gmail.com: A fly by help to show each time the
source code of an entity
http://code.google.com/p/moose-technology/issues/detail?id=644
Maybe it would be interesting when navigating in moose, to always have a
fly by help that show the source code of an element
Status: New
Owner: ----
CC: georgega...(a)gmail.com
Labels: Type-Defect Priority-Medium Component-ExternalTools
New issue 782 by tudor.gi...(a)gmail.com: inFamix should export basic metrics
for methods
http://code.google.com/p/moose-technology/issues/detail?id=782
inFamix should export basic method metrics:
- LOC (lines of code)
- NOS (number of statements)
- CYCLO (cyclomatic complexity)
Status: New
Owner: ----
CC: alexandr...(a)gmail.com
Labels: Type-Defect Priority-Medium Component-Roassal Milestone-4.7
New issue 797 by tudor.gi...(a)gmail.com: ROLine should support width
http://code.google.com/p/moose-technology/issues/detail?id=797
Right now we cannot assign the width of a line. We need this mechanism.
Hi,
In Pharo 1.4, Glamour has a problem with selecting an element in the tree when the element is nested.
The following snippet shows the problem:
browser := GLMBasicExamples new treeWithInitialSelection.
browser openOn: {
#first->{$a->{}. $c->{}. $d->{}}.
#second->{$e->{}. $f->{}}.
#third->{$h->{}}
}.
(browser panes first port: #selection) value: (browser panes first port: #entity) value first value first.
Cheers,
Doru
--
www.tudorgirba.com
"What we can governs what we wish."
Hi,
Here is how to install Athens (I also added this comment to the ConfigurationOfAthens):
1. Install Cairo on your machine
For example, for Mac, you open the terminal and run:
sudo port install -f cairo +universal
More information can be found here:
http://cairographics.org/download/
2. Download the NativeBoost enabled Cog VM from:
https://ci.lille.inria.fr/pharo/view/NativeBoost/
3. Get a Pharo image and run:
Gofer new
squeaksource: 'Athens';
package: 'ConfigurationOfAthens';
load.
(Smalltalk at: #ConfigurationOfAthens) loadDevelopment
4. Play with it. For example:
VGTigerDemo runDemo
Thanks Igor!
Cheers,
Doru
--
www.tudorgirba.com
"Live like you mean it."
Hi!
I've spent a bit of time in trying to port DSM to Roassal. Unfortunately not everything goes as smooth as I wished. The task is clearly doable, but it is a bit more than merely changing MOViewRenderer for ROMondrianViewBuilder.
For example, there is code like:
shapeOfDetailedHeader
^ MOFixedRectangleShape new width: 36; height: 10; withoutBorder; fontSize: 8; fontFamily: 'Accuny'
In Roassal, the width and the height is defined on the element, and not the shape. A ROBox does not know how to display text, it has to be added a ROLabel in it.
Well... I feel the safer is to revert what I have done yesterday, and leaving DSM use Mondrian. Else if someone wants to rethink DSM a bit.
Cheers,
Alexandre
--
_,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:
Alexandre Bergel http://www.bergel.eu
^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
Hi guys
I would like to take the opportunity that we will be present at PharoConf to organize a Moose
meeting.
- I would like to see how we (INRIA) can allocate some time to improve the configuration of moose.
- and I would like to come with 3 other items where we will invest
- Arki
- so what are the other two that are important for the community?
Stef
Status: New
Owner: ----
Labels: Type-Enhancement Priority-Medium Component-Glamour
New issue 582 by tudor.gi...(a)gmail.com: Watcher support in Glamour
http://code.google.com/p/moose-technology/issues/detail?id=582
Like we now have a statusbar, we should also have a detailed preview shown
in a floating Watcher window. The behavior would be similar to Quick Look
on Mac.
Hi all,
With the recent release of Roassal I thought I try it out and see if I can
port my TreeMapLayout from Mondrian to the new engine.
First of all: I really like Roassal. I felt while it was similar to
Mondrian it was easier to use and understand. I was able to throw away some
boilerplate code in my layout, it is much cleaner now. Also, the porting
did not took much time.
There are two things which are missing (or I did not find them) to enable
to draw a real TreeMap though: z-ordering and making edges invisible.
Roassal seems to render the nodes in the order they are given to it,
meaning the first node will be "under" all the others with the last one on
top. Is there a way to alter this? In Mondrian every shape had a zOrder
index.
And how would I go on about making edges invisible?
Cheers,
Dennis
Hi,
Currently, there are some 63 relevant references to MOViewRenderer. These are the entry points to the visualizations that we need to review in order to move to Roassal.
You can find the list here:
http://ci.moosetechnology.org/job/moose-on-moose/lastCompletedBuild/testRep…
Cheers,
Doru
--
www.tudorgirba.com
Innovation comes in least expected form.
That is, if it is expected, it already happened.
Hi,
The OnMoose Report is created using Arki based on a FAMIX model of the Moose code.
The report contains concerns that are checked. Technically, the checkers are similar to SmallLint, but they differ significantly in the way they are (typically) used. The idea is to treat them as specific tests, rather as generic rules. Essentially, it is about living the idea of humane assessment.
The report is executed after each successful Moose build and it is here:
http://ci.moosetechnology.org/job/moose-on-moose/
(You can also download the image and look at the already built report)
There are only a few rules at the moment, but I would like to see it growing :).
To run it in your Moose image, you can do:
Gofer new
squeaksource: 'Arki';
package: 'OnMoose-Report';
load.
And then:
| report |
MooseScripts createModelForConfigurationOfMoose.
report := OnMooseReport on: MooseModel root allModels last.
report open.
REPHudson runOn: report spec.
Cheers,
Doru
--
www.tudorgirba.com
"One cannot do more than one can do."
Status: New
Owner: tudor.gi...(a)gmail.com
Labels: Type-Enhancement Priority-Medium Milestone-4.7 Component-Glamour
New issue 796 by tudor.gi...(a)gmail.com: Glamour should offer a simple way
to wrap presentations in a browser
http://code.google.com/p/moose-technology/issues/detail?id=796
Right now, to build a browser with only one pane, we create a Tabulator
with one pane and a transmission to this pane.
Instead, we should have a Wrapper browser.
Hi,
Moose was the first user of RPackage, and RPackage works best when we have one package per category.
Roassal does not comply to this requirement, but it should because I want Moose to continue to be a good RPackage citizen :).
Alex, could you take care of splitting it?
Cheers,
Doru
--
www.tudorgirba.com
"The coherence of a trip is given by the clearness of the goal."
Hi,
I'm working with EyeSee to create some charts in Moose but unfortunately I
haven't been able to create multiple lines in a single line chart, is this
possible? and if so does anyone have some sample code to share?
Thanks.
Franco
Hello,
I am constructing a tree presentation with Glamour. Parents are modules in
my tree and children are a module's functions. Here is the code:
modulesIn: composite
^ composite tree
title: 'All Modules';
showOnly: 50;
display: [ :each | each allModules];
tags: [ :each |
{each numberOfFunctions asString} ];
format: [ :each | each mooseName];
selectionAct: [:each | each selection inspect ] on: $i entitled: 'Inspect';
icon: #mooseIcon;
children: [:each | each functions ].
Now, when I click on a child, glamour wants to executes the children and
tags block on a function in the above code. Now since my functions do not
understand the messages functions/numberOfFunctions, there is an error.
My question: for constructing a glamour tree, should parents and children
both understand the same API or am I missing something here?
thanx
Usman
Hi,
I am happy to announce that I will organize the first Moose apprentice public course. This is an introductory course on how to use the Moose analysis platform for putting humane assessment into practice. It is dedicated to software engineers, and the concepts covered include model navigation, querying techniques, code metrics, and visualizations. The course sessions are accompanied by hands-on exercises.
Here is the official announcement:
http://www.humane-assessment.com/blog/free-moose-apprentice-course-june-2-3…
Cheers,
Doru
--
www.tudorgirba.com
"We cannot reach the flow of things unless we let go."
Hi,
I download the latest yellow build from the moose web site (8 may). When I
open Nautilus I cannot see the code.
I don't have any clue if it is about Nautilus or about how Nautilus is
loaded in Moose or about something else.
Any idea?
Cheers,
Fabrizio
Hello,
I am working to add a new tab in Moose Finder's pane to display code: So
when I select a class, I want to show its methods as a tree and clicking on
each method shows the code of the method.
Here is the code of my attempt:
mooseFinderChildrenTreeIn2: composite
<moosePresentationOrder: 80>
composite tabulator with: [:t |
t row: #methodList; row: #code; title: 'Details'.
t transmit
to: #methodList
andShow: [ :a | a tree display: [:each | each methods]]
].
Problem: my method is not executing the display block and hence the
tabulator tab does not show the list (I can see empty tabulator). I think
its related to embedding a tabulator within a composite presentation and
transmission of values but I do not precisely where to look to correct it.
thanx,
Usman
In MooseFinder, table presentation is placing last character on the next
line (see the attached image). Is there a way to force the text to display
on a single line? I'm sure its not related to the size of the text.
thanx,
Usman
Hi,
As discussed, I am working on the idea how to customize menus for entities
in Moose Finder. As the menu construction depends on the pragmas defined on
moose entity hierarchy, the idea is to read pragmas in some specific way.
We tried something with Stéphane yesterday and here I am sending you the
change set. Can you please have a look?
The change set does not complete resolve the problem :-). The problem is
that menus are duplicated and changes are still invasive (that is the code
overrides the default moose finder behavior). But this can be a possible
approach to resolve it.
tx
Usman
Hi,
I implemented this new method:
MOFilledShape>>identityBorderColorOf: aBlockOrObject
"Set the border color based on the identity returned by the block."
borderColor := MONIdentityNormalizer withCommand: aBlockOrObject
Noting fancy but could be cool to have it in the mondrian core, what do you
think?
Cheers,
Fabrizio