Ok!
*distributionMapIn:* a *with:* aNumber
"in this point the method is executed"
^a mondrian
painting: [ :view :model |* self halt*.
view shape rectangle withoutBorder.
view nodes: (model allModelNamespaces asSet sortedAs: [ :x :y | x
numberOfClasses > y numberOfClasses ]) forEach: [ :each |
view shape label.
view node: each name.
view node: each forIt: [
view interaction menu: #mooseMenu.
view shape rectangle size: 12;
if: [ :c | c numberOfMethods = 0 ] fillColor: Color green;
if: [ :c | c numberOf Methods >= 1 and: [ c numberOfBugs < 3 ] ]
fillColor: Color orange;
if: [ :c | c numberOfMethods >= 3 ] fillColor: Color red.
view nodes: ((each classes select: [ :class | class numberOf Methods >=
aNumber]) sortedAs: #numberOfMethods).
view gridLayout gapSize: 2 ].
view verticalLineLayout ].
view gridLayout ].
the first method parameter is a GLMTabulator, The block started by the
method "halt" is not executed, I no wonder why!
On 19 December 2011 10:15, Tudor Girba <tudor(a)tudorgirba.com> wrote:
> Hi,
>
> I am sorry, but I cannot understand what the issue is. Could you
> provide some runnable code?
>
> Cheers,
> Doru
>
>
> 2011/12/19 Júlio Martins <jleandro.martins(a)gmail.com>:
> > Hi people!
> >
> > I was with problems figure out the question "how to update the
> distribution
> > map from a secundary wizard? So searching for the solution i found a
> another
> > problem: when a mondrian receive a message to GLMTabulator and send a
> > message to method "painting:[:a :b| ... ]" , the execution flow doesn't
> > enter on block, where is all commands to build my new distribution map
> view.
> > The code is like this sample:
> >
> >
> > GLMTabulator new mondrian
> > painting:[:a :b|
> > ....
> > "here the flow doesn't enter, why?"
> > ]
> >
> > Before this block, the flow is normal and works, but have no commands to
> > execute
> > i need help of you.
> >
> > ________________________________
> > View this message in context: Glamour-Merilin-Mondrian
> > Sent from the Moose mailing list archive at Nabble.com.
> >
> > _______________________________________________
> > Moose-dev mailing list
> > Moose-dev(a)iam.unibe.ch
> > https://www.iam.unibe.ch/mailman/listinfo/moose-dev
> >
>
>
>
> --
> www.tudorgirba.com
>
> "Every thing has its own flow"
>
> _______________________________________________
> Moose-dev mailing list
> Moose-dev(a)iam.unibe.ch
> https://www.iam.unibe.ch/mailman/listinfo/moose-dev
>
--
View this message in context: http://forum.world.st/Re-Moose-dev-Re-Glamour-Merilin-Mondrian-tp4213899p42…
Sent from the Moose mailing list archive at Nabble.com.
Hi people!
I was with problems figure out the question "how to update the distribution
map from a secundary wizard? So searching for the solution i found a
another problem: when a mondrian receive a message to GLMTabulator and send
a message to method "painting:[:a :b| ... ]" , the execution flow doesn't
enter on block, where is all commands to build my new distribution map
view. The code is like this sample:
GLMTabulator new mondrian
painting:[:a :b|
....
"here the flow doesn't enter, why?"
]
Before this block, the flow is normal and works, but have no commands to
execute
i need help of you.
--
View this message in context: http://forum.world.st/Glamour-Merilin-Mondrian-tp4213842p4213842.html
Sent from the Moose mailing list archive at Nabble.com.
Hi,
during my work on the XML-Mapping framework SimpleXO, I realized that the
XML querying code could be useful standalone, too. I factored out a
library named SimpleXPath and made it available in Cincom public
repository under the MIT license. It is similar to the XPath location path
subset (without predicates) but offers some distinct features:
- paths are built as pure Smalltalk expressions
- extended wildcard support
- simple API
Example:
(RootStep // 'source' /@ 'id') "XPath: //source/@id"
contextNode: anXmlNode;
nodesDo: [:node | Transcript show: node stringValue; cr].
The above code prints the 'id' value of all 'source' elements in the XML
document from which anXmlNode is taken.
I am interested in your opinions. I'd be glad If you give it a try and
discuss your thoughts here. Below I've attached the package comment
explaining the API, just in case. ;)
Regards and happy coding!
Steffen
Simple XPath is an XML query library based on a subset of the XPath 1.0
language. It provides a handy API to construct paths and a parser for
abbreviated XPath location paths without predicates.
See also: http://www.w3.org/TR/xpath/.
I. NodeSets
-----------------
The result of constructing a path or parsing an XPath location path is a
NodeSet. If applied to an XML node, a NodeSet provides access to the nodes
selected by this set.
1. Call #contextNode: to define the node a NodeSet is applied to.
2. Call
#nodes to get a set of all matched nodes,
#nodesDo: with a one argument block to iterate over all matched nodes and
#selectNodes: with a one argument block to select some of the matched
nodes.
If you are working with tags that have prefixed names, ensure that you
resolve the associated namespace before using a NodeSet.
Call >>#resolveNamespaces: with a dictionary that maps all prefixes to
their namespace.
II. Path construction API:
------------------------------------
To construct a path programmatically, use the Axis classes and the methods
from the protocol "path construction".
1. Single path steps:
ChildAxis ? 'name'. "select all child nodes tagged with 'name'"
ChildAxis ? ('prefix' + 'name'). "select all child nodes tagged with
'prefix:name'"
AttributeAxis ? 'id'. "select all attribute nodes tagged with 'id'"
SelfAxis ? AnyNodeTest. "select the context node itself"
DescendantOrSelfAxis ? CommentTest. "select all descendant comment nodes"
2. Concatenate steps with #/ :
(ChildAxis ? 'name') / (ChildAxis ? ('second' + 'name')).
(ChildAxis ? AnyNodeTest) / (AttributeAxis ? 'id').
"Often, the axis can be omitted:"
'name' / ('second' + 'name'). "same as"
(ChildAxis ? 'name') / (ChildAxis ? ('second' + 'name')).
AnyNodeTest / (AttributeAxis ? 'id'). "same as"
(ChildAxis ? AnyNodeTest) / (AttributeAxis ? 'id').
"Similar to XPath, #/@, #// and #//@ abbreviate attribute and
descendant-or-self steps:"
AnyNodeTest /@ 'id'. "same as"
(ChildAxis ? AnyNodeTest) / (AttributeAxis ? 'id').
'name' // CommentTest. "same as"
(ChildAxis ? 'name') / (DescendantOrSelfAxis ? AnyNodeTest) / (ChildAxis
? CommentTest).
'name' //@ 'id'. "same as"
(ChildAxis ? 'name') / (DescendantOrSelfAxis ? AnyNodeTest) /
(AttributeAxis ? 'id').
3. Query from the document root with a RootStep:
RootStep // AnyNodeTest. "all nodes"
RootStep //@ 'id'. "id of each node"
4. Create the union of two NodeSets with #| :
(RootStep // 'element') | (RootStep // CommentTest).
"#\@ abbreviates the union with an attribute step:"
CommentTest \@ 'id'. "same as"
(ChildAxis ? CommentTest) | (AttributeAxis ? 'id').
5. The wildcards # and * match single and multiple characters in local tag
names:
ChildAxis ? 'name_##'. "selects e.g. <name_01 />"
AttributeAxis ? '*_id'. "selects e.g. ... svg_id='0x5' ..."
"NOTE: XPath allows * only for the whole tag name, e.g. //prefix:* "
III. Parser API:
--------------------
To parse an abbreviated XPath location path, use SimpleXPathParser.
However, predicate expressions are not supported.
Call
#parseString: with the XPath string to parse that string and obtain a
NodeSet and
#validateString: to check whether the string is free of syntax errors.
If parsing fails, a SyntaxError is raised that gives the error position
and a brief description.
_______________________________________________
vwnc mailing list
vwnc(a)cs.uiuc.edu
http://lists.cs.uiuc.edu/mailman/listinfo/vwnc
To whoever implemented the Overview Pyramid in moose: thank you indeed! I like the book "Object-Oriented Metrics in Practice" and I am happy to recommend it by giving a demo on real code.
Kind regards,
Pascal
Pascal Vollmer
Email: pascal.vollmer(a)ieee.org
Hi,
There were several test problems due to the introduction of the new method in LANNode, but I solved them.
We now have only one red test:
MooseMonticelloImporterTest>>testBasic
It seems to be a setup problem, but I cannot figure out why it breaks all of a sudden. Could someone take a look?
Cheers,
Doru
--
www.tudorgirba.com
"It's not what we do that matters most, it's how we do it."
Hi,
I disabled the 3 tests from Fame that caused failures on the server, but were running Ok locally.
They can be found in the FMMetaRepositoryFilterTest class:
- disabledBecauseItFailsOnTheServerInHeadlessModetestExportLIBBookWithPartialMetamodel
- disabledBecauseItFailsOnTheServerInHeadlessModetestExportLIBLibraryWithPartialMetamodel
- disabledBecauseItFailsOnTheServerInHeadlessModetestExportLIBPersonWithPartialMetamodel
Cheers,
Doru
--
www.tudorgirba.com
"We cannot reach the flow of things unless we let go."
Hi Tudor!
On 15 December 2011 19:06, Tudor Girba-2 [via Smalltalk] <
ml-node+s1294792n4201975h14(a)n4.nabble.com> wrote:
> Hi,
>
> In general, if you are looking for a code solution, it goes much faster if
> you provide some code for us to work on.
>
> You asked how to run the example with updateable browsers. Every example
> from the GLMBasicExamples has a comment with a sample of running it. In
> this case, it would be:
> |collection|
> collection := GLMAnnouncingCollection new.
> collection add: 1; add: 2; add: 3.
> GLMBasicExamples new updateableIndividualPresentations openOn: collection.
>
> Ok! I will remember this. Thanks!
> But, coming back to the problem, let me summarize what I understood the
> problem is, and then you tell us if it is so:
> - you have a browser
> - in that browser you have an action that opens a Merlin wizard
>
- you want that given the value returned by the wizard to update the whole
> browser, or just a part of it
>
> If this is correct, you can probably do something like:
> browser act: [:b | filterWizard atEndDo: [...]. b update ] entitled: '...'
>
> You are correct! This value retrieved from the wizard i need to update the
browser Indeed what I have to update is a distribution map. I have tried to
use this
browser act: [:b | filterWizard atEndDo: [...]. b update ] entitled:
'...'
method but my Merlin wizard doesn't appear. I only can do this when I use
browser
spawn: [:a|
filterWizard atEndDo:[:wizardInformation|
a transmit
to: #map;
andShow:[:b|
self distributionMapIn: b with: (wizardInformation at: #textEntry) ]
]
] entitled: 'Filter'.
I thought this would be sufficient to update the distribution map, but I
was wrong. I can't understand good how use your hint..
>
>
> On 15 Dec 2011, at 14:37, Júlio Martins wrote:
>
> > Very nice!
> >
> > This is what I was needing. This method atEndDo serves to me good.
> However i can't update the view yet. The current modrian view persist and I
> can't show a new view based on the value gotten from the wizard.
> > Following the code that I am using. The method distributionMapIn: with:
> just build the view. I thought this was sufficient to update the view, but
> it doesn't work.The old view persist.
> >
> > filterWizard := WizardControl new
> > atEndDo:[:wizardInformation|
> > browser transmit
> > to: #map;
> > andShow: [ :a | self distributionMapIn: a with: (wizardInformation at:
> #textEntry) ]. ]
> >
> > How can I show the new view?
> >
> > On 14 December 2011 16:48, Cyrille Delaunay [via Smalltalk] <[hidden
> email]> wrote:
> > I think that what you are looking for is the place where to retrieve the
> values returned by your wizard and update your visualization according it.
> > What you could do is: when you create your merlin wizard, send the
> message 'atEndDo:', where your specify a block with the action to perform
> at the end of the wizard:
> >
> > WizardControl new
> > ...;
> > ...;
> > atEndDo: [:wizardInformations | updateVisualizationWith:
> (wizardInformations at: #key)].
> >
> >
> >
> > 2011/12/14 Alexandre Bergel <[hidden email]>
> >
> >
> >
> > > A mondrian browser call a window that contain radio buttons, text
> field. A value that I need will be on text field, so when I performed an
> action in a button finish, I can update the view in back window. ( ok?)
> > > How a good manner to do it?
> >
> > Hi!
> > I still do not understand the example. How a Mondrian browser can call a
> window?
> > Maybe a screenshot will help us help you
> >
> > Alexandre
> > _______________________________________________
> > Moose-dev mailing list
> > [hidden email]
> > https://www.iam.unibe.ch/mailman/listinfo/moose-dev
> >
> >
> >
> > --
> > Cyrille Delaunay
> > http://cyrilledelaunay.seasidehosting.st/
> >
> >
> > _______________________________________________
> > Moose-dev mailing list
> > [hidden email]
> > https://www.iam.unibe.ch/mailman/listinfo/moose-dev
> >
> >
> > If you reply to this email, your message will be added to the discussion
> below:
> > http://forum.world.st/Glamour-Merilin-Mondrian-tp4195096p4196469.html
> > To start a new topic under Moose, email [hidden email]
> > To unsubscribe from Moose, click here.
> > NAML
> >
> >
> > View this message in context: Glamour-Merilin-Mondrian
> > Sent from the Moose mailing list archive at Nabble.com.
> > _______________________________________________
> > Moose-dev mailing list
> > [hidden email] <http://user/SendEmail.jtp?type=node&node=4201975&i=0>
> > https://www.iam.unibe.ch/mailman/listinfo/moose-dev
>
> --
> www.tudorgirba.com
>
> "To utilize feedback, you first have to acquire it."
>
>
> _______________________________________________
> Moose-dev mailing list
> [hidden email] <http://user/SendEmail.jtp?type=node&node=4201975&i=1>
> https://www.iam.unibe.ch/mailman/listinfo/moose-dev
>
>
> ------------------------------
> If you reply to this email, your message will be added to the discussion
> below:
> http://forum.world.st/Glamour-Merilin-Mondrian-tp4199967p4201975.html
> To start a new topic under Moose, email
> ml-node+s1294792n1310756h25(a)n4.nabble.com
> To unsubscribe from Moose, click here<http://forum.world.st/template/NamlServlet.jtp?macro=unsubscribe_by_code&no…>
> .
> NAML<http://forum.world.st/template/NamlServlet.jtp?macro=macro_viewer&id=instan…>
>
--
View this message in context: http://forum.world.st/Re-Glamour-Merilin-Mondrian-tp4202902p4202902.html
Sent from the Moose mailing list archive at Nabble.com.