Hi,
I am coming back to the issue of zOrder.
Here is a little example:
view shape label text: #yourself.
view nodes: (1 to: 20).
view edges: (1 to: 20) from: [:x | x // 2] to: 1.
view edges: (1 to: 20) from: [:x | x // 3] to: 2.
view edges: (1 to: 20) from: [:x | x // 5] to: #yourself.
view edges: (1 to: 20) from: [:x | x // 7] to: #yourself.
view dominanceTreeLayout
Open this one is Mondrian and then in the Roassal Easel (see attached screenshots).
Then, try to select 1.
In Roassal, you cannot select 1 because of the edges that go on top of it. What is more, you also can barely see it. This situation will always appear in graphs with edges that cross the nodes.
Given that at least the MondrianViewBuilder should be about mapping domain models onto graphs, having a sensible zOrder, at least in the MondrianViewBuilder is important.
Doru
--
www.tudorgirba.com
"Sometimes the best solution is not the best solution."
Status: Started
Owner: damien.c...(a)gmail.com
CC: tudor.gi...(a)gmail.com, chisvasi...(a)gmail.com
Labels: Type-Defect Priority-Medium Platform-Pharo Component-Glamour
New issue 886 by damien.c...(a)gmail.com: GLMMorphicSpotterTest>>testCreation
is not automatic
http://code.google.com/p/moose-technology/issues/detail?id=886
This method opens a tool and requires user intervention. This blocks test
runners and continuous integration.
Status: New
Owner: ----
Labels: Type-Engineering Priority-Medium Milestone-4.7 Maintainability
New issue 887 by tu...(a)tudorgirba.com: <MSEProperty: ...> should replace
<property: ... > pragmas
http://code.google.com/p/moose-technology/issues/detail?id=887
Here is the list of violations:
#'Smalltalk::FAMIXClassGroup.abstractness()'
#'Smalltalk::FAMIXNamespace.bunchCohesion()'
#'Smalltalk::FAMIXPackage.martinCohesion()'
#'Smalltalk::FAMIXNamespace.martinCohesion()'
#'Smalltalk::FAMIXPackage.bunchCohesion()'
#'Smalltalk::FAMIXNamespace.efferentCoupling()'
#'Smalltalk::FAMIXNamespace.afferentCoupling()'
#'Smalltalk::FAMIXClassGroup.afferentCoupling()'
Status: New
Owner: ----
Labels: Type-Defect Priority-Medium
New issue 867 by kurs....(a)gmail.com: Start rule is missing in the
PPAllParsersBrowser
http://code.google.com/p/moose-technology/issues/detail?id=867
When you select e.g. PPArithmeticParser in PPAllParsersBrowser, you can
test 'start' rule by defining 'Sample' and pressing Parse button.
When you select some rule (e.g. number), you cannot test 'start' again. You
have to select another parser and re-select PPArithmeticParser.
Status: New
Owner: ----
CC: tudor.gi...(a)gmail.com
Labels: Type-Defect Priority-Medium Component-PetitParser
New issue 882 by kurs....(a)gmail.com: PetitParser Inspector tab in
GTInspector does not work
http://code.google.com/p/moose-technology/issues/detail?id=882
When opening Petit Parser instance in GTInspector, Inspector tab is empty
Status: New
Owner: tu...(a)tudorgirba.com
Labels: Type-Defect Priority-Medium Component-Finder Milestone-4.7
New issue 885 by tu...(a)tudorgirba.com: Moose Finder does not provide the
navigation list in alphabetical order
http://code.google.com/p/moose-technology/issues/detail?id=885
For example, for a class, attributes appear somewhere in the middle of the
list. It should be on top.
Hi Alex and Vanessa,
At this point, Roassal has open branches. Is this wanted? I guess not, but if yes, which is the official branch?
Cheers,
Doru
--
www.tudorgirba.com
"Yesterday is a fact.
Tomorrow is a possibility.
Today is a challenge."
Status: New
Owner: ----
Labels: Type-Enhancement Priority-Medium Milestone-4.7
New issue 811 by anquetil...(a)gmail.com: Create more virtual association in
MooseChef
http://code.google.com/p/moose-technology/issues/detail?id=811
Famix recognizes 4 types of associations (reference, access, inheritance,
invocation) and Moosechef was built upon these dependencies
(queryAllOutgoingReferences, ...)
But this will miss a good deal of actual dependencies, because many of them
are not expressed by associations:
- exceptions caught, thrown
- parameter types in parameterized classes
- use of annotations
- other?
With Glamour, to enable targeting the focus of a Roassal View based on
the list selection in another pane, I hacked up the following Workspace
script. Is there a more elegant way to achieve this? In particular, one
that avoids the need to for the 'viewHack' variable?
-------------
| browser viewHack |
browser := GLMTabulator new.
browser column: #list; column: #drawing.
browser transmit
to: #list;
andShow: [ :a | a list ].
browser transmit
to: #drawing;
andShow: [ :a | a roassal painting:
[ :moview :collection |
collection do: [ :x | moview view add: (ROElement
spriteOn: x) + ROLabel + ROBox white ].
ROVerticalLineLayout on: moview view elements.
viewHack := moview view.
] ].
browser transmit
from: #list port:#selection;
to: #drawing;
transformed:
[ :x | | foundElements |
viewHack elements do: [ :el | ROUnhighlightElement on: el ].
targetElement := viewHack elements at: x.
ROFocusView on: targetElement.
ROHighlightElement on: targetElement color: Color red.
viewHack signalUpdate
].
browser openOn: #(1 2 3 4 5 6).
--------------------
hi!
Just to share an example on how to do animations in Roassal. All the pieces are there, but abstractions are still missing. Sequencing animations is not intuitive so far.
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
"Source code: ROExample>>animationOn:"
"Preambule. It includes the initialization. "
| view rawView elements b helpLabel |
rawView := ROView new.
view := ROMondrianViewBuilder view: rawView.
"-------------"
"-------------"
"Define 10 blue rectangles, align them, and move them away from the corner"
elements := ROElement forCollection: (1 to: 10).
elements do: [ :el | el + ROBox blue; extent: 40 @ 80 ].
rawView addAll: elements.
ROHorizontalLineLayout new
horizontalGap: 0;
on: elements.
elements do: [ :el |
el translateBy: 40 @ 40 ].
"We define the animation in a block to be repeatable"
b := [ elements do: [ :el |
el model odd ifTrue: [
ROLinearMove new
nbCycles: 30;
for: el by: 0 @ 40;
after: [ ROLinearMove new
nbCycles: 30;
for: el by: 0 @ -40 ] ] ] ].
"We first do the animation"
b value.
"Help message"
RONopAnimation new
nbCycles: 70;
after: [ rawView add: (helpLabel := (ROElement on: 'Click here!') + ROLabel).
helpLabel translateTo: 20 @ 150.];
on: rawView.
RONopAnimation new
nbCycles: 120;
after: [ helpLabel remove ];
on: rawView.
rawView on: ROMouseClick do: [ :event | b value ].
"-------------"
"-------------"
"Below is the initiation of the menu and opening the visualization"
ROEaselMorphic new populateMenuOn: view.
view noLayout.
view open
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
--
_,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:
Alexandre Bergel http://www.bergel.eu
^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
Status: New
Owner: ----
CC: anquetil...(a)gmail.com
Labels: Type-Defect Priority-Medium Component-VerveineJ
New issue 734 by tu...(a)tudorgirba.com: VerveineJ does not export parameters
for stub methods
http://code.google.com/p/moose-technology/issues/detail?id=734
If we analyze this code, the print method will appear without parameters.
public class NoParametersInStubMethods {
public void invoking() {
System.out.print("aString");
}
}
Status: New
Owner: ----
CC: kurs....(a)gmail.com
Labels: Type-Enhancement Priority-Medium Component-PetitParser
New issue 879 by tu...(a)tudorgirba.com: PetitParser browser does not provide
the possibility to add a new parser
http://code.google.com/p/moose-technology/issues/detail?id=879
We should be able to invoke the PPAddParserRefactoring refactoring from the
browser.
Status: Accepted
Owner: ----
Labels: Type-Defect Priority-Medium Component-VerveineJ
New issue 761 by anquetil...(a)gmail.com: Missing method invocation with
VerveineJ
http://code.google.com/p/moose-technology/issues/detail?id=761
see discussion on mailing list: "invokingMethods broken in moose or inFamix"
source code:
http://svn.apache.org/repos/asf/incubator/stanbol/trunk/enhancer/engines/ke…
The method getLinkedEntityTypes in
org.apache.stanbol.enhancer.engines.keywordextraction.linking.EntityLinker
has an empty collection of invokingMethods even though the method is
invoked for example by "process()".
Hi guys,
Each time we need to do case studies in Moose, we have to select the software application, in a certain version and probably without all the source code needed. This results on evaluations that are probably not reproducible.
I think that we need to unify our efforts and share the mse files of our models. With that, it will be not necessary to generate a FAMIX model each time we need one.
For now, I begun to generate the model from the Qualitas Corpus 'e' (http://qualitascorpus.com/). There are 486 multiple versions of multiple Java systems. The mse files are really big (more than 650Mo for Eclipse_SDK3.7). I tried to load the biggest one in Moose, and it loads ! I just needed to attribute 2Gb of memory in the info.plist file of Moose 4.6.
I propose to put the files on a server. For all the tar.bz2 files, I need 3.65Gb.
Now, we lack ok at least two pieces of information : (i) the version of verveineJ used for the extraction. For now, VerveineJ has no version (I took the latest one). (ii) the version(s) of Moose that can load the file. I tried one mse file with Moose4.6.
We also need a server that can accept all the files.
Any suggestion ?
Jannik
Status: New
Owner: tu...(a)tudorgirba.com
Labels: Type-Defect Priority-Medium Component-Glamour Milestone-4.7
New issue 878 by tu...(a)tudorgirba.com: Glamour does not show the shortcuts
on toolbar actions
http://code.google.com/p/moose-technology/issues/detail?id=878
In the following browser, the toolbar icon and menu item does not show the
shortcut.
| wrapper |
wrapper := GLMWrapper new.
wrapper act: [:f | f inspect] icon: GLMUIThemeExtraIcons glamorousInspect
on: $i entitled: 'Inspect with icon'.
wrapper act: [:f | f inspect] on: $i entitled: 'Inspect without icon'.
wrapper show: [:a | a text ].
wrapper openOn: 'sample'
Status: New
Owner: ----
Labels: Type-Other Priority-Low
New issue 874 by kurs....(a)gmail.com: Secondary selection color is white
http://code.google.com/p/moose-technology/issues/detail?id=874
In Moose, secondary selection is enabled, but the color is the same as a
background color. Therefore user cannot see the secondary selection.
Status: New
Owner: ----
Labels: Type-Defect Priority-Medium
New issue 876 by anne.et...(a)gmail.com: FAMIX: Opposite reference between
BehaviouralEntity and ImplicitVariable
http://code.google.com/p/moose-technology/issues/detail?id=876
- There is a reference between ImplicitVariable and BehaviouralEntity
(parentBehaviouralEntity) whose opposite reference is named localVariables.
However, in BehaviouralEntity, the reference named localVariables points to
LocalVariables. And there is no inheritance between ImplicitVariable and
LocalVariable.
Please fill in the labels with the following information:
* Type-Engineering
* Component-FAMIX
Hi,
I'm using Roassal and I have the following question: Is there a way to have, in the same view, two different set of nodes with different layouts?
For example 20 nodes layout'ed in a grid and other 20 nodes layout'ed using a tree but in the same view?
Cheers,
Roberto
Status: New
Owner: kurs....(a)gmail.com
CC: tudor.gi...(a)gmail.com
Labels: Type-Defect Priority-Medium Component-PetitParser
New issue 877 by kurs....(a)gmail.com: DNU after parsing in PPBrowserInspector
http://code.google.com/p/moose-technology/issues/detail?id=877
- Open PPAllParserBrowser.
- Select PPArithmeticParser.
- Parse text, e.g. '1'
- Go to the Debugger tab and select something
- Parse the text again
- Debugger with "MessageNotUnderstood: receiver of "first" is nil" appears
Hi,
I have studied the Famix metamodel and I have some questions / remarks:
- There is a reference (I think even a composition) between ScopingEntities and Function. It thus means that by inheritance, a Module, a Namespace or a Package refer to function. Does it make sense for Namespace or Package?
- Furthermore, there also exist a reference (I think even a composition) between Module and Function. In Module, how the distinction is done between the functions collection inherited from ScopingEntitiy and the specific one?
- There is a reference between ImplicitVariable and BehaviouralEntity (parentBehaviouralEntity) whose opposite reference is named localVariables. However, in BehaviouralEntity, the reference named localVariables points to LocalVariables. And there is no inheritance between ImplicitVariable and LocalVariable.
- There is a reference (globalVariables) (I think even a composition) between ScopingEntities and GlobalVariable with an opposite reference. There is also a reference between GlobalVariable and Module (parentModule) but without any opposite reference. Is this later an easy way to determine the module as a ScopingEntity to which a GlobalVariable belongs to or does it add something from the reference between GlobalVariable and ScopingEntities.
It would be nice if someone can give me explanations.
Anne
PS: Sorry, if the questions have been already asked, I am new on the list.
Status: New
Owner: ----
CC: anquetil...(a)gmail.com
Labels: Type-Defect Priority-Medium Component-VerveineJ Milestone-4.7
New issue 868 by tu...(a)tudorgirba.com: VerveineJ does not set the container
of a ParameterizedType correctly
http://code.google.com/p/moose-technology/issues/detail?id=868
Consider this case:
---ACalssUsedAsArgumentType.java
package packageDefiningArgumentType;
public class ACalssUsedAsArgumentType { }
---UserClass.java
package userPackage;
import packageDefiningArgumentType.*;
public class userClass {
public void m() { new ArrayList<ACalssUsedAsArgumentType>();} }
VerveineJ sets the container of the ParameterizedType to be
userPackage.userClass.m(). This is wrong.
The issue gets even worse when we have multiple users of the same type. For
example, if we also get:
---SecondUserClass.java
package secondUserPackage;
import packageDefiningArgumentType.*;
public class SecondUserClass {
public void m() { new ArrayList<ACalssUsedAsArgumentType>();} }
... with the current setup, we will get only one ParameterizedType, but we
do not know which container we will end up with (the first or the second
method).
To fix the situation we have two options:
1. Continue to have only one instance of ParameterizedType and have the
container point to the container of the ParameterizableClass.
2. Have multiple instances for ParameterizedTypes and keep the rest as it
is.
I think I prefer 1.