Some questions on dude. I am using an external tool for computing
duplications and trying to instantiate appropriate entities in moose:
1. What is referenceCode and duplicateCode in the context of SmallDude and
what is the difference between the two?
2. What is a signature?
tx
Usman
Hi,
We just had over the last couple of days some 194 failed tests:
http://ci.moosetechnology.org/job/moose-latest-dev/957/
191 of them came from a parallel commit into Mondrian. I solved it now, but to prevent this kind of thing in the future, I now changed the build to send notifications to this mailing list.
We still have three tests (related to Monticello) that are failing on the server.
Cheers,
Doru
--
www.tudorgirba.com
"No matter how many recipes we know, we still value a chef."
Hi,
I made some progress with the TreeMapLayout. Two challenges remain to be
solved.
The first one is related to dragging. It is kind if complicated to explain
in words, so I made this short screencast:
http://cl.ly/150n1t2Z2h1y3L0z1U0L
As you can see the positions of the shapes get updated only when hovering
over them, not instantly when dragging, as I would like them to.
One difference code-wise to other graph layouts is that the owner of all
shapes is, in this case, not MORoot but the node "org", which is a normal
MONode. I had to do this (change ownership) because MORoot does not get
drawn (is this by design?).
Does anyone have some ideas on what could explain this behavior?
Another question would be: Is it possible to make the inner nodes not
draggable? The user should not be able to move individual shapes inside the
TreeMap around.
Cheers,
Dennis
Hi,
If you have talks that are related to Moose, please let us know and we will also add them to the news feed.
Cheers,
Doru
--
www.tudorgirba.com
"From an abstract enough point of view, any two things are similar."
Hi!
I'm trying to load Glamour in pharo 1.4 with the following script:
Gofer it
squeaksource: 'Glamour';
package: 'ConfigurationOfGlamour';
load.
(ConfigurationOfGlamour project version: '2.3') load: #('Core' 'Morphic'
'Glamour-Magritte-Presentations')
And I'm having the following error:
This package depends on the following classes:
GLMOpenBrowserAction
You must resolve these dependencies before you will be able to load these
definitions:
morphicActOn:
Any idea?
Guille
Hello,
I am building a MoosePanel with customized entities, customized model and,
hence customized menus. So, for example, in models pane I would like to
display only my own models.
For menu items, I am looking to replace existing menus (on models and
entities) with my own menus: since the entities in my custom models are
particular, current menus cannot be used (some parts can be used e.g.
delete a model). I would like to keep the current display/navigation model
of the moose panel/moose finder.
For my solution, I have started subclassing MooseModel and MooseEntity to
be able to describe my customized menus on my models and entities.
Customized model integration in Moose Panel was smooth: subclass MooseModel
and launch this class from a MoosePanel subclass (needed to do a
resetMeta, though).
Customized menus cannot be constructed by simply subclassing MooseModel and
MooseEntities because menus are constructed from particular pragmas inside
methods of these classes.
My solution: I override mooseFinderActions method in my custom model class
to populate menus of my model. I works. However, I cannot reuse parts of
MooseModel menus that are applicable on my customized model. Similarly, for
actions (moosePresentationOrder:) I override methods for customized menu
building through pragma reading.
My question: Is it the right way to achieve my objectives or should I look
somewhere else for the task?
tx,
usman
Doru,
The tests that fail make use of the package-cache folder. They create a monticello package and save it locally.
I remember there were something about the configuration you have on Jenkins. What is it exactly?
Cheers,
Alexandre
On 24 Apr 2012, at 16:41, admin(a)moosetechnology.org wrote:
> See <http://hudson.moosetechnology.org/job/moose-latest-dev/951/>
>
>
--
_,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:
Alexandre Bergel http://www.bergel.eu
^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
Hi!
I experienced some problem on installing Glamour for Pharo 1.4
Am I the only one?
Cheers,
Alexandre
--
_,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:
Alexandre Bergel http://www.bergel.eu
^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
Status: New
Owner: tudor.gi...(a)gmail.com
Labels: Type-Defect Priority-Medium Component-Glamour Milestone-4.7
New issue 791 by tudor.gi...(a)gmail.com: Glamour browsers should announce
changes
http://code.google.com/p/moose-technology/issues/detail?id=791
A Glamour browser should announce when the it changes its inner structure.
Essentially, it should announce the triggering of a transmission.
This can be useful if we want to build meta-tools that react to
interactions. For example, the tree visualization of a browser should be
able to update itself every time the browser changes.
Hi,
I have some minimal glamour enhancements that I would like to push up. Not too important, but I would like to hear opinions before commiting:
1) GLMAction refactoring
-I added several testing methods (#isMenu, #isButton)
-I changed way of rendering actions, adding a #renderGlamorouslyOn: inside actions (so you can change ways of presenting action buttons if desired: I needed to add some behavior for my customer of lawsuit tracker)
-refactor #renderToolbarForPresentation:inMorph: to take advantage of all this issues.
2) morph presentation refactoring
It was showing a plain morph, I added a renderer to be able to respond to events fired by updateOn:
3) actionList presentation was refactored into it's own renderer... yes, I know Doru wants to drop that presentation, but I needed then I added it (if you want to drop this one, I can put it in my own package)
4) I added icons and shortcut text to context menus (if present... if not, everything behaves like before)
all tests are green
so... should I push this changes?
best,
Esteban
Hi!
I just download the last moose from the ci.moosetechnology.org
Simply opening the image seems to active some diff, cleaning, to quit at the end.
Can someone tell us a bit more what is happening?
Cheers,
Alexandre
--
_,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:
Alexandre Bergel http://www.bergel.eu
^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
Hi,
The second challenge I mentioned in the mail before is related to outgoing
edges stored for MONodes.
When I create a layout in the following way...
*view nodes: self nodes.*
*view edges: self nodes *
* from: [ :each | each ] *
* toAll: [ :each | each children ].*
* view layout: (MOTreeMapLayoutIncubation withWeightBlock: [ :e | e model
entity numberOfLinesOfCode ]).*
...Everything works as expected. Meaning every MONode has outgoing edges to
its direct children defined.
However, if I construct a layout in the following way...
*view nodes: (self getLevel: 3) "Returns all nodes on a certain level in
the tree"*
* forEach: [ :each |*
* view nodes: each recursiveChildren. "All nodes below given node"*
* view edges: each recursiveChildren "From all nodes to all their direct
children"*
* from: [ :node | node ] *
* toAll: [ :node | node children ].*
* view layout: (MOTreeMapLayoutIncubation withWeightBlock: [ :e | e model
entity numberOfLinesOfCode ]).*
* ].*
...So that I have multiple TreeMaps (one for each node on level 3 in the
graph), the MONodes do *not* have outgoing edges defined and thus I can't
render the TreeMap.
Does anyone have an idea what could cause this behavior?
Cheers,
Dennis
Status: New
Owner: ----
CC: anquetil...(a)gmail.com
Labels: Type-Defect Priority-Medium Component-VerveineJ Milestone-4.6
New issue 763 by tudor.gi...(a)gmail.com: VerveineJ generates wrong paths in
source anchors when there is a . in the root folder
http://code.google.com/p/moose-technology/issues/detail?id=763
Do this:
- download:
http://sourceforge.net/projects/jfreechart/files/latest/download
- go to: jfreechart-1.0.14
- execute:
/PATH_TO_verveine.extractor.java/verveinej.sh -Xmx2000m -- -autocp . .
The fileNames all start with "0.14/./" instead of "./"
I am trying to combine interactions with subviews in Mondrian but it is
not working as expected. This is with a fresh Moose 4.6 downloaded today
plus ConfigurationOfMondrian (AlexandreBergel.345) and [
ConfigurationOfMondrian project lastVersion load ].
As a test case, from ( World > Moose > Mondrian Easel ) I combine:
Examples > interaction > variation in node size
Examples > subviews > simple
to produce the following example:
----8<-----
view nodes: (1 to: 5) forEach:
[:each |
view interaction strongHighlightWhenOver: [ :v | v ].
view shape rectangle withText; size: 20.
view nodes: (1 to: each).
view gridLayout
].
----8<-----
However executing this in Mondrian Easel you will notice that (taking
for example the third group) hovering over small squares 1 & 2 does not
highlight these and hovering over small square 3 highlights the large
square rather than its small square.
I get my expected/required behaviour by modifying
MOAnnouncer>>registerForEvent: forNodes: updateShape: updateLayout:
to replace...
domainNodes := (aBlockOrSymbol moValue: ann element model).
nodes := ann viewRenderer nodeForDomainValues: domainNodes.
by...
nodes := OrderedCollection new add: ann element ; yourself.
...but I don't know what else that breaks or another way to get my
required behaviour.
How should I proceed?
cheers, -ben
Status: New
Owner: ----
Labels: Type-Defect Priority-Medium
New issue 789 by google....(a)ben.coman.com.au: Mondrian spelling recursive
http://code.google.com/p/moose-technology/issues/detail?id=789
I notice the following methods in Mondrian...
resetCacheResursively
resetFormCacheResursively
resetMetricCachesResursively
and assume the spelling should be "recursive" not "resursive"
Hi,
This little q&a game I initiated on the humane assessment blog might be interesting for people interested in Moose:
http://www.humane-assessment.com/blog/assessment-q-a/
------
Assessment is not difficult once you jump in the boat. But, this jumping can be perceived to be difficult. To dispel the magic, let's open the curtain and play a game.
It's simple. You ask questions, and I will answer them on this blog.
How to ask questions:
• send me an email at tudor(a)tudorgirba.com
• post a comment on this blog
• post a tweet mentioning @humaneA, or @girba
• ask me in person when you see me (I will be at PharoConf and Jazoon in the following months)
What questions? Any questions.
What's in it for me? You will help me shape my ideas.
Your turn now.
------
Cheers,
Doru
--
www.tudorgirba.com
If you can't say why something is relevant,
it probably isn't.
Hi,
I downloaded latest Moose and I dragged and dropped into the image a st
file to file it in. Debugger popped up saying:
SubscriptOutOfBounds: 1
By copy pasting the content of the st file into a workspace and by
executing the workspace's content it works.
here the build i used:
http://ci.moosetechnology.org/job/moose-latest-dev/923/artifact/moose/
Cheers,
Fabrizio
The issue tracker New Issue Template says: "Please fill in the labels
with the following information: * Type-Defect, Type-Enhancement,
Type-Engineering, Type-Review, Type-Other * Component-XXX"
but I don't see where to do that. Where should these be set?
cheers, -ben
Doru
Question1
---------
I would like to save the annotations (and annotation creation) with a model.
Do you have an idea where to start looking for?
Because so far I'm puzzled since this is a Magritte description of FameEntity.
Question2
--------
I have a question why FM3Element does not have a magritteDescription but description? should I fix it because even if we use pragma I prefer when this is regular.
FM3Element >>descriptionName
<magritteDescription>
^ MAStringDescription new
accessor: #name;
default: 'noname';
label: 'Name';
priority: 100;
beRequired;
yourself
FM3PropertyDescription>>magritteDescriptionType
<magritteDescription>
^ MASingleOptionDescription new
accessor: #type;
label: 'Type';
priority: 300;
default: FM3 boolean;
beRequired;
options: {FM3 number . FM3 string . FM3 boolean};
yourself
Question3
---------
FM3 number returns an AnonymousClass.
I saw that FM3 number create a FM3MetaDescription which describes a class.
I'm not sure that I need to add new species may be boolean, string and number are enough. Now I would like to change the an Anonymous in the UI a least.
I suggest that we create an instance of a subclass of Class (I called it FM3AnonymousClass) so that we can customize the printing and other behavior the way we want.
I did it but changing printOn: in such class is not invoked so I'm confused (but now I understand but still I found that confusing).
FM3MetaDescription>>numberClass
| class |
class := Class new.
class superclass: self.
class setFormat: self format.
class methodDictionary: MethodDictionary new.
class methodDictionary at: #isPrimitive put: (self methodDictionary at: #anonymousReturnTrue).
class setName: 'AnonymousClass'.
^class
Do you know the relationship between such anonymous classes and FM3etaDescrption?
The class comment does not say much on that :(
When I read the code I guess that FM3 is a subclass of FM3MetaDescription (not sure that the superclass is FM3MetaDescription or FM3MetaDescription class), now I do not know what is the real advantages compared to have real subclasses of FM3MEtaDescription (besides being cool and yes we can do it syndrome).
Now what confused me was that
FM3 number superclass is FM3Object and I got it
FM3MetaDescription>>number
number isNil ifTrue: [
number := self numberClass basicNew.
number initialize.
number name: #Number.
].
^number
For changing the printOn: method I imagine that it should be put in the
class methodDictionary at: #printOn: put: (self methodDictionary at: #anonymousPrintOn:).
booleanClass
| class |
class := FM3AnonymousClass new.
class superclass: self.
class setFormat: self format.
class methodDictionary: MethodDictionary new.
class methodDictionary at: #isPrimitive put: (self methodDictionary at: #anonymousReturnTrue).
class methodDictionary at: #printOn: put: (self methodDictionary at: #anonymousPrintOn:). <-------
class setName: 'AnonymousClass'.
^class
but it means that to define it in FM3MetaDescription. But so far it did not work… I will try again.
I have problem to see the added value to recreate an independent class and metaclass core?
Stef
Status: New
Owner: ----
Labels: Type-Defect Priority-Medium Component-ExternalTools
New issue 721 by tu...(a)tudorgirba.com: VerveineJ should mark constructors
http://code.google.com/p/moose-technology/issues/detail?id=721
Constructors should be marked with isConstructor.
Hi,
the method ensureClassesAndNamespaces Invoke "parentScope:" on a class.
ensureClassesAndNamespaces
<menuItem: 'Ensure Classes and Namespaces' category: 'Utilities'>
self allMethods do: [ :each |
each parentType isNil ifTrue: [
each parentType: self unknownFAMIXClass ] ].
self allClasses do: [ :each |
each parentScope isNil ifTrue: [
each parentScope: self unknownFAMIXNamespace ] ]
Now FAMIXType contains the method "parentScope" implemented as:
parentScope
"Polymorphic alias to mimic GlobalVariable#parentScope and similar"
^ self container
I believe that in the method ensureClassesAndNamespaces we should use the
method "container:" instead of "parentScope:"
What do you think?
Cheers,
Fabrizio
Hi all, I'm using Merlin and need some help, for example in the following
script I want to associate the next button with the 'Option 2' to the
ListPart (in a second pane) and the next button with the 'Option 1' to the
radio button pane group (options 3 and 4, in another second pane). Should I
use branches? and callbacks? May anyone show an example how to do it?
| wizard |
wizard := WizardControl new.
wizard renderer: MerlinMorphicWizardRenderer new.
wizard
addPane: ( WizardFirstPane new
row: ( RadioButtonsPart new
inGroupboxNamed: 'Choose Option A';
options: { #'Option 1'. #'Option 2' };
defaultValue: nil;
yourself )
associatedTo: #optionSelected );
addPane: ( WizardMiddlePane new
row: ( ListPart new
initialList: { 1 . 2 . 3 . 4 };
yourself ) );
addPane: ( WizardFirstPane new
row: ( RadioButtonsPart new
inGroupboxNamed: 'Choose Option B';
options: { #'Option 3'. #'Option 4' };
defaultValue: nil;
yourself )
associatedTo: #optionSelected ).
wizard open.
Cheers,
Hernán