Hi!
Now that some of you are building complex and interactive
visualizations, I feel the need to add some annotations on things that
are displayed. I am not talking about the model here, but really
annotation on the view. For example, assume that I want the size of a
node to increase (e.g., to see its method inside) when I double click
on it. Where do I store the information that the node has been
expanded ?
I started to have this need with popupView:. A node needs to know
whether its popupview is on or not. I added a variable popup in
MOGraphElement which solve this. But more complex interaction requires
a generalization of this.
I am about to introduce a variable annotation in MOGraphElement that
will lazily create a dictionary.
Any comment?
Cheers,
Alexandre
--
_,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:
Alexandre Bergel http://www.bergel.eu
^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
Hi there
I would like your opinion on Issue 287: allModelPackages does not retrieve pure extension packages
One proposed solution is to set the isStub flag on package/namespace imported because of stub classes (i.e., not specifically requested by the user).
For now, this is a smalltalk specific problem. However, it would be good if the semantic is clearly agreed between the importers.
--
Simon
Hi Jannik,
You can now use:
a tree
rootsExpanded.
a tree
allExpanded.
Cheers,
Doru
On 15 Jan 2010, at 03:19, Tudor Girba wrote:
> Hi Jannik,
>
> 1. It is not yet possible to do that, but I created an issue:
> http://code.google.com/p/moose-technology/issues/detail?id=292
>
> 2. To me it looks like it should work if the system variable points
> to the root object that was affected by the change. In any case, you
> do not have to do the announce dance when you want to explicitly
> force an update. Just send #update to the presentation (the first
> parameter of the act block).
>
> If it does not work, I would need an executable code including the
> objects. Best would be to create a dummy example with simple objects
> (like it is in the GLMBasicExamples).
>
> Cheers,
> Doru
>
>
> On 14 Jan 2010, at 16:59, Laval Jannik wrote:
>
>> Hi Doru,
>> sorry for duplicated mail.
>>
>> Here is a part of my code which does not work.
>>
>> =====
>> | browser announcer |
>>
>> browser := GLMTabulator new.
>> announcer := Announcer new.
>>
>> browser column: #versions.
>>
>> browser showOn: #versions; using: [
>> browser tree
>> format:[:system | system name];
>> display: [:each | each orionModels select:[:om | om parentModel
>> = nil]];
>> children: [:each | each childrenModel];
>> act: [:each | each selection createNewChildVersion. announcer
>> announce: OrionModelAdded] entitled: 'create a child';
>> updateYourselfOn: OrionModelAdded from: [announcer];
>> shouldValidate: true;
>> registerAnnouncements.
>> ].
>>
>> ^ browser
>> ==========
>>
>> Cheers,
>> Jannik
>>
>> On Jan 14, 2010, at 16:53 , Laval Jannik wrote:
>>
>>> Hi Doru,
>>>
>>> I have two questions for you about Glamour :)
>>>
>>> - the simple one: is it possible to open a tree-pane with an
>>> opened tree: in my case, I always use the last item of the tree,
>>> so it is slow to open each level.
>>>
>>> - the second one: I try to use updateYourselfOn:from: on a treePane.
>>> In a previous version of Glamour (I don't know which one, but a
>>> recent one), it works but it is unstable. In the latest version of
>>> Glamour, it does not work.
>>> In your example, this method works on a list-pane.
>>> The question is: do you know this issue ? if no, I can try to do
>>> an example... but maybe it is my code which does not work also...
>>>
>>> Cheers,
>>>
>>> ---
>>> Jannik Laval
>>> ---
>>>
>>
>>
>
> --
> www.tudorgirba.com
>
> "Yesterday is a fact.
> Tomorrow is a possibility.
> Today is a challenge."
>
>
>
--
www.tudorgirba.com
"Presenting is storytelling."
Hi,
I played a bit with the finder and the meta browser to add titles for
each pane. You need the latest Moose-Finder and Glamour for this.
MoosePanel open.
MooseModel browseMeta.
Cheers,
Doru
--
www.tudorgirba.com
"What we can governs what we wish."
I never understood the purpose of this method.
I see that is is in Moose-Core. Should it be placed in Famix-Extensions or even better, Famix-Java? It would remove two direct cycles :) (between Moose-Core, Famix-Core, Famix-Extensions)
BTW, FamixAnnotationType>>annotatedEntities should also be moved to Famix-Java.
--
Simon
Hi there
With Jannik, we are looking at cyclic dependencies between Moose packages. Here a few things about Glamour
1) Glamour-Core <-> Glamour-Helpers
Glamour-Helpers extends Object with asGlamourousMultivalue, which references GLMMultiValue defined in Glamour-Core (Glamour-Core itself relying on Glamour-Helpers of course).
Suggestions:
- make #asGlamourousMultivalue an extension of Glamour-Core
or
- move GLMMultiValue in Glamour-Helpers
Neither should create an unwanted dependency
2) Glamour-Browsers <-> Glamour-Scripting
There are two methods initializeScriptingDefaults in the package Glamour-Browsers which could be moved to Glamour-Scripting.
This should remove all circuits between packages in Glamour.
--
Simon
Hi,
I implemented a Moose Panel based on Glamour. It integrates both the
list of models and the finder. You can get it by executing: MoosePanel
open.
The list of models is now updated using a new basic means to update a
Glamour presentation.
The importing actions are rendered as toolbar buttons based on the
specs from the MoosePaneCommand. The pane commands that do not specify
an icon, are rendered as menu that is spawned by pressing the "..."
toolbar button.
Please let me know what you think.
Cheers,
Doru
--
www.tudorgirba.com
"Next time you see your life passing by, say 'hi' and get to know her."
Hi Alex
The title says it all :)
I like the way we can finally access common actions from the menu, as it enables discoverability. Why not add the 'previous scripts' command?
--
Simon
Hi,
Mondrian has a number of tests related to the bounds of text nodes. I
am not sure why these fail. Is it because they were created with a
specific font in mind? Alex?
Cheers,
Doru
--
www.tudorgirba.com
"Every thing has its own flow."
Hi,
I just wanted to let you know that the latest version of Glamour will
bring up an unstable version. I will get back to you once it stabilizes.
Cheers,
Doru
--
www.tudorgirba.com
"We cannot reach the flow of things unless we let go."
Dear List,
The package management in Pharo is getting more centralized.
I moved ConfigurationOfMoose, ConfigurationOfCAnalyzer,
ConfigurationOfMondrian in the SqueakSource package MetacelloRepository.
It would be great if you follow this convention.
I load the tools I need using the script:
-=-=-=-=-=-=-=-=-=
#('Mondrian' 'CAnalyzer' 'Spy')
do: [:t |
| name |
name := 'ConfigurationOf', t.
Gofer new
squeaksource: 'MetacelloRepository';
package: name;
load.
(Smalltalk at: name asSymbol) perform: #loadDefault ].
-=-=-=-=-=-=-=-=-=
Cheers,
Alexandre
--
_,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:
Alexandre Bergel http://www.bergel.eu
^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
Hi there
Today we finally pushed the final fix for Issue 143
If you open the metamodel browser, then you get a new command in the contextual menu, 'Check metamodel rules'. It opens an ORLintBrowser which runs over the browsed metamodel and check the classes. Currently there are 5 rules, 3 about Fame metamodel consistency, 2 about Famix conventions (those 2 are still a bit broken, dont take the results seriously).
We already fix some inconsistencies in Famix-Core, but it appears there are more in extensions of Famix.
--
Simon
One of my teammate followed straight the indications on Pharo and Moose to get a Moose image and got a DNU on Gofer#package:
What happened?
He went to the Pharo website to download the latest Pharo, but he noticed the following:
Pharo 09.12.2 (10502)
The above version, 09.12.2, has several issues. Until they are resolved, please use the older version Pharo 09.11.4 (10496).
Then he went to the Moose website where he saw the following script:
Gofer new
squeaksource: 'Moose';
package: 'ConfigurationOfMoose';
load.
(Smalltalk at: #ConfigurationOfMoose) perform: #loadDefault
As some of you may quickly notice, we change #addPackage: to #package: recently to follow 10502 with the latest Gofer changes, while the recommended version is still 10496.
I just hope that the final 1.0 will be soon out so that we can get past all those things :)
--
Simon
Hi,
I would like to retrieve the number of lines of code of a file when
importing C code in moose. Here is what I do once the code loaded in moose:
- I inspect a FAMIXFile from the MooseFinder
-> when printing 'self numberOfLinesOfText' , it returns '0' (while
the corresponding file is not empty). This is my first problem,
- Then, I try to retrieve the object CAImplementation (from CAnalyzer)
correspondind by inspecting 'self entities first' (is it the good way?)
-> when printing 'self numberOfLinesOfText', it returns '-1'
(-> even if I inspect directly a CAImplementation object from the
moose finder, it returns -1)
So is there somethings wrong or is the problem coming from the xml files
generated bu srcml?
The figure seems a bit outdated (no SourcedEntity for example)
Also it would be cool if the image could downloaded or zoomed, because it is not readable right now.
--
Simon
Hi all,
I did a ConfigurationOfGlamour loadDefault in a pretty fresh image
(pharo 10502 + moose + aspectmaps) to get the latest bugfixes, and now
I get a MNU. Cause is that (GLMPresentationsChanged new) returns
AnObsoleteGLMPresentationsChanged.
I guess something went wrong in the load. How do I fix this ?
--
Johan Fabry
jfabry(a)dcc.uchile.cl - http://dcc.uchile.cl/~jfabry
PLEIAD Lab - Computer Science Department (DCC) - University of Chile
Hi,
I would like to update the list of tools around Moose that are present
in Pharo.
If you are working on such a tool, I would appreciate if you could
send around the following info:
- Project Name
- Authors and Short Description
- License
- Monticello repository and loading script
Cheers,
Doru
--
www.tudorgirba.com
"Relationships are of two kinds: those we choose and those that
happen. They both matter."
Hi all,
rebuilding a new image from scratch... Loading Moose using the code on
the website in the 'Install from Monticello' page. This gives me 2
warnings that addPackage: has been replaced by package: It would be
nice to clean that up.
Reported as issue 274 http://code.google.com/p/moose-technology/issues/detail?id=274&colspec=ID%2…
--
Johan Fabry
jfabry(a)dcc.uchile.cl - http://dcc.uchile.cl/~jfabry
PLEIAD Lab - Computer Science Department (DCC) - University of Chile
Hi,
perhaps this is a naive question, but anyway: I was wondering if it is possible to select multiple figures in mondrian and if so, how to access the selection to spawn another view.
thanks!
Marco
Hi all,
I am trying to understand how to use the MOForms builder in the following script in the context of a FAMIXClassGroup
view shape rectangle
height: [ :cls | cls numberOfMethods ];
width: [ :cls | cls numberOfAttributes ];
].
view nodes: self entities forEach: [:each | | builder |
view shape rectangle.
builder := MOFormsBuilder new.
builder column ; fill.
builder row; fill ; row ; fill.
builder x: 1 y: 1 add: MORectangleShape new.
builder x: 1 y: 1 add: (MOLabelShape new text: [ :e | e name ]).
builder x: 1 y: 2 add: (self viewMethodsForClass: each onView: view).
view layout: builder asLayout.
].
view
edges: self entities
from: [ :cls | cls superclass ].
view treeLayout
where the method #viewMethodsForClass:onView: is as follows:
viewMethodsForClass: class onView: view
view shape rectangle.
^view node: class forIt: [
view shape rectangle.
view nodes: class methods.
view gridLayout.]
What I would like to get is, for each class, a composite figure with
- a label on top
- a composite figure where each subfigure represent a method
Ideally the label and the composite should also be centrally aligned.
However, with my script I get figure attached.
Thanks!
Marco
Hi all,
When I try to load packages Collection-Weak and Collection-Support, SmalltalkImporter have a bug on the character "_".
Is there any way to fix this easily ?
Cheers
---
Jannik Laval
---
Hi all,
part of AspectMaps is a polymetric view of classes and aspects. For
that I want to use Glamour to specify the metrics for the dimension.
The code below shows what I have (and will embed in another browser at
some point) which leads me to 2 questions and a bug.
First question: how can I let each browser show its title? With 6 of
these it's easy to be confused which is which.
Second question: at some point in the mondrian script I need to
retrieve the selections in each browser. (I dont want to automatically
repaint when a selection is changed). How can I do this?
I have tried to get both of these things to work myself but I'm not
having any success ...
The bug: in the code below add a size: 100 to both column
specifications, and you get a nice ZeroDivide error :-/
| browser mprops cprops aprops|
cprops := #(CLOC NumMeth NumAtt NumJP NumAsp).
aprops := #(ALOC NumPC NumAdv NumJPP).
mprops := #(MLOC MNumJP MNumAsp).
browser := GLMTabulator new.
browser column: [: c | c row: #cheight; row: #aheight; row: #mheight];
column: [: c | c row: #cwidth; row: #awidth; row: #mwidth].
browser showOn: #cheight; using: [
browser tree title: 'Classes Height'; display: cprops.].
browser showOn: #cwidth; using: [
browser tree title: 'Classes Width'; display: cprops.].
browser showOn: #aheight; using: [
browser tree title: 'Aspects Height'; display: aprops.].
browser showOn: #awidth; using: [
browser tree title: 'Aspects Width'; display: aprops.].
browser showOn: #mheight; using: [
browser tree title: 'Methods Height'; display: mprops.].
browser showOn: #mwidth; using: [
browser tree title: 'Methods Width'; display: mprops.].
browser openOn: 'Select'
--
Johan Fabry
jfabry(a)dcc.uchile.cl - http://dcc.uchile.cl/~jfabry
PLEIAD Lab - Computer Science Department (DCC) - University of Chile
Hi,
Please use the 4.0-beta.4 release of Moose. As it was mentioned in the
announcement mail, this release solves the PrimitiveType problem.
Cheers,
Doru
On 4 Jan 2010, at 16:02, Usman Bhatti wrote:
> Hi Doru,
>
> I have similar problem here. I have generated an MSE file with
> InFusion. Moose (moose-suite-4_0-beta.app) fails to load the file...
> A bit of troubleshooting shows that moose is having a problem with
> PrimitiveType expressions present in mse file. I removed them from
> the generated file and it worked...
>
> I am sending you the problematic MSE file for bug replication
> purposes...
>
> regards,
>
>
> On Mon, Jan 4, 2010 at 4:20 PM, Tudor Girba <tudor.girba(a)gmail.com>
> wrote:
> Hi Arif,
>
> It looks like the MSE that you give as input as an incorrect syntax.
> How did you obtain this MSE?
>
> Cheers,
> Doru
>
>
>
> On 4 Jan 2010, at 09:49, Arif Iftikhar wrote:
>
> While loading MSE File in Moose i get the error attached. If i
> proceed it loads 0 entities in moose.Is there any special version of
> moose for such mse file.
>
> --
> Thanks & Regards
>
> Arif Iftikhar
> <moose error.JPG>_______________________________________________
> Moose-dev mailing list
> Moose-dev(a)iam.unibe.ch
> https://www.iam.unibe.ch/mailman/listinfo/moose-dev
>
> --
> www.tudorgirba.com
>
> "Value is always contextual."
>
>
>
>
>
>
> --
> Dr. Muhammad Usman Bhatti
> Assistant Professor, FAST-NU LHR
> Office MS-Block
> Ext : 273
> <Callgraph.mse>
--
www.tudorgirba.com
"Sometimes the best solution is not the best solution."