Hi,
The GTInspector now offers dedicated presentations for managing keybindings
defined with the KeyMapping framework.
For example, the attached screenshot shows how you can go through the
submorphs and preview the associated keybindings.
[image: Inline image 2]
Here is a more detailed description of what is available:
http://www.humane-assessment.com/blog/managing-morph-keybindings-with-gtins…
Let us know what you think.
Cheers,
Doru
--
www.tudorgirba.com
"Every thing has its own flow"
Hello. It gives me great pleasure to announce my COBOL parser. This is a
fixed format COBOL parser. I expect that it could be expanded to work with
free format COBOL, but I have not need for that use.
Code is located at:
http://www.smalltalkhub.com/#!/~cbc/PetitCobol
To invoke the parser, evalutate:
CobolProg parseCobolCodingForm: <fileName>
This 'parser' contains 4 parsers plus a fair amount of additional logic to
prep the files for for the prarsers (and output from previous parsers for
later parsers). The rough outline of what happens:
1) File is read line by line. Each line is parsed as a formatted card.
2) Take these cards, and format them into sentences.
3) Parse the coding structure. (Parse it out into the various divisions,
and parse out the level 01 data).
4) Aggregate the structure into a segments.
5) Finally, parse the actual code, division by division.
The parser includes a full AST representation, along with a visitor to
subclass to help handling the resulting AST.
The parser is not complete - it should parse any fixed format COBOL program
file, but not all commands are implemented. I have implemented a way to
iteratively develop the parser. It will continue to parse each sentence
up to a point where it cannot continue - at that point, it will parse into
a CDJunk (for data division unknowns) and CobolStatement (for program
division unknowns). This later will point out any missing commands (which
exist), or possibly incomplete commands (which may exist); a simple visitor
over the AST trapping for those nodes should find them.
The result of the parse will leave you with a CobolProg containing the
final parsed AST in the variable formattedStructure. Comments in the code
will be in the variable comments (along with the line number that they
originated from). In addition, most of the interim steps will also be
present in the CobolProg instance, should you be interested in them. If
not, you can send #cleanup to the instance to get rid of all but the final
AST nodes.
Thanks,
cbc
Hi!
Here is a new example:
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
v := RTView new.
shape := RTMultiCompositeShape new.
shape add: RTLabel new.
shape add: RTBox new.
es := shape elementsOn: RTShape withAllSubclasses.
v addAll: es.
RTNest new
for: es
inShape: #second
add: [ :group :model |
group addAll: ((RTBox new color: Color blue) elementsOn: model methods).
RTGridLayout on: group.
].
RTFlowLayout new on: es.
es @ RTPopup @ RTDraggable.
v open
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
The last release of Roassal2 should address the comments of Leo and Doru I think…
Alexandre
--
_,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:
Alexandre Bergel http://www.bergel.eu
^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
Hello,
When I inspect a collection or an object, the size of any string displayed is fixed at 50. Depending of the object you want to inspect, it is not enough when the strings are large...
I would like to know if it is possible to have an interactive string contraction/expension in the inspector?
I began to search but I didn't found how to dynamically access the width of the column.
For example, the attributes value can be expensed because there is enough space on its right.
[cid:image001.png@01CFA511.EC8ACC20]
Thanks,
Cheers,
Vincent BLONDEAU
________________________________
Ce message et les pi?ces jointes sont confidentiels et r?serv?s ? l'usage exclusif de ses destinataires. Il peut ?galement ?tre prot?g? par le secret professionnel. Si vous recevez ce message par erreur, merci d'en avertir imm?diatement l'exp?diteur et de le d?truire. L'int?grit? du message ne pouvant ?tre assur?e sur Internet, la responsabilit? de Worldline ne pourra ?tre recherch?e quant au contenu de ce message. Bien que les meilleurs efforts soient faits pour maintenir cette transmission exempte de tout virus, l'exp?diteur ne donne aucune garantie ? cet ?gard et sa responsabilit? ne saurait ?tre recherch?e pour tout dommage r?sultant d'un virus transmis.
This e-mail and the documents attached are confidential and intended solely for the addressee; it may also be privileged. If you receive this e-mail in error, please notify the sender immediately and destroy it. As its integrity cannot be secured on the Internet, the Worldline liability cannot be triggered for the message content. Although the sender endeavours to maintain a computer virus-free network, the sender does not warrant that this transmission is virus-free and will not be liable for any damages resulting from any virus transmitted.
Hi,
Sometimes we have to show large text files and Pharo takes some time to get
their contents and display them. In a Glamour browser, for example, the
user would click and then wait for a few seconds before he'll get the
desired results. In such cases, it will be useful to show the user a
certain text in the text presentation, and once the contents of the file
are available, the presentation updates itself with it (something on the
lines of Cursor>>showWhile:)
Conceptually, with Glamour this can be achieved in two ways: triggering two
transmissions for the text display pane and updating the text presentation
when file contents are available.
Triggering transmission (or placing values manually in entity/selection
ports) means that if the pane contains multiple presentations, each one
will get affected the "delayed" behaviour even when there is none.
Updating the text presentation is better suited. Something like:
| tab textDisplayBlock|
tab := GLMTabulator new.
tab title: 'Playing with huge text files'.
tab column: #list span: 0.5; column:[:c | c row: #code; row: #details].
textDisplayBlock := [ :each | 'Loading file ...' ].
tab transmit to:#list; andShow: [:a |
a list display: #yourself].
tab transmit to:#code; from:#list; andShow: [:a |
a rubricText
display: textDisplayBlock.
a roassal2 painting: [ :view :entity | view add: (((RTBox new color: Color
red) + RTLabel) elementOn: entity) ]
].
tab transmit to:#details; from:#list; andShow: [:a |
a rubricText
display: #yourself.
].
tab openOn: RubLipsumBasicExample selectors.
"I just displayed text presentation, you can provide me the alternate block"
textDisplayBlock:= [:each | (RubLipsumBasicExample sourceCodeAt: each)].
tab update.
But this has to be done with Announcements not to introduce a specific
delay each time and outside browser interpretation loop so that the pane is
visible during the file reading operation. I haven't found so far how to
change the display behaviour of a presentation from an announcement raised
by an object outside the browser/presentation like:
on: FileContentsAvailable do: [block := textDisplayBlock:= [:each |
(RubLipsumBasicExample sourceCodeAt: each)]. browser update]
So my questions: am I trying achieve something glamour does not support
(yet)? Can we add a generic showWhile: mechanism for Glamour textual
presentations without too much effort? Or there is a simple way to achieve
it that I don't see?
tx,
usman
"It's not just you! http://www.moosetechnology.org looks down from here.”
Alexandre
--
_,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:
Alexandre Bergel http://www.bergel.eu
^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
The last build of Moose is severely broken. GLMRoassalEasel is not in the image, which prevent the world menu to open.
Alexandre
--
_,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:
Alexandre Bergel http://www.bergel.eu
^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
"Nesting and composed shape”. Not really a new topic isn’t it?
I have worked on a way to indicate where in a composed shape inner elements can be inserted.
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
| v |
v := RTView new.
v @ RTDraggableView.
shape := RTMultiCompositeShape new.
shape add: RTLabel new.
shape add: (RTBox new size: 20; color: (Color blue alpha: 0.3)).
es := shape elementsOn: RTShape withAllSubclasses.
v addAll: es.
es do: [ :e |
methodElements := RTBox new elementsOn: e model methods.
RTGridLayout on: methodElements.
RTNest new
on: e
inShape: #second
nest: methodElements
layout: #vertical.
v addAll: methodElements.
].
RTFlowLayout on: es.
es @ RTDraggable.
v open
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
The call of RTNest, indicated in bold, is the new thing.
The #vertical says we what to have the two shapes added to RTMultiCompositeShape have to use a vertical layout.
Here is the result:
Any comment?
Cheers,
Alexandre
--
_,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:
Alexandre Bergel http://www.bergel.eu
^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
[ meta comment: We regularly publish in our Facebook and twitter some tips about Roassal. I am wondering whether you guys will be happy to see it in the pharo-users mailing list. Is this something you would like to see? Please help us adjusting our documentation effort ]
Here is a new tip:
Roassal Tip #9: How to adjust edge transparency with moose hovering?
https://upload.facebook.com/ObjectProfile/photos/a.341189379300999.82969.34…
Cheers,
Alexandre
--
_,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:
Alexandre Bergel http://www.bergel.eu
^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
Hello,
I would like to know why CTRL+SHIFT+d doesn't not open the debugger from the playground but ALT+SHIFT+d does?
Is it possible to fix it?
Thanks!
Cheers,
Vincent
________________________________
Ce message et les pi?ces jointes sont confidentiels et r?serv?s ? l'usage exclusif de ses destinataires. Il peut ?galement ?tre prot?g? par le secret professionnel. Si vous recevez ce message par erreur, merci d'en avertir imm?diatement l'exp?diteur et de le d?truire. L'int?grit? du message ne pouvant ?tre assur?e sur Internet, la responsabilit? de Worldline ne pourra ?tre recherch?e quant au contenu de ce message. Bien que les meilleurs efforts soient faits pour maintenir cette transmission exempte de tout virus, l'exp?diteur ne donne aucune garantie ? cet ?gard et sa responsabilit? ne saurait ?tre recherch?e pour tout dommage r?sultant d'un virus transmis.
This e-mail and the documents attached are confidential and intended solely for the addressee; it may also be privileged. If you receive this e-mail in error, please notify the sender immediately and destroy it. As its integrity cannot be secured on the Internet, the Worldline liability cannot be triggered for the message content. Although the sender endeavours to maintain a computer virus-free network, the sender does not warrant that this transmission is virus-free and will not be liable for any damages resulting from any virus transmitted.
Hi,
This is a question for the moosers :)
Why there is no copy (with stable version) in metarepo of ll configurations that are under the moose umbrella?
cheers,
Esteban
On 18 Jul 2014, at 10:00, phil(a)highoctane.be wrote:
> I load it from the moose team on sth. Works for me, browser included.
>
> Le 18 juil. 2014 09:24, "Tudor Girba" <tudor(a)tudorgirba.com> a écrit :
> In the case of Moose, #development and #bleedingEdge are the same.
>
> Doru
>
>
> On Fri, Jul 18, 2014 at 9:18 AM, Norbert Hartl <norbert(a)hartl.name> wrote:
> I think what is loaded by CI is dependent on the workflow of the project. IMHO for most projects loading #bleedingEdge is the best thing to do.
>
> Norbert
>
> Am 18.07.2014 um 05:21 schrieb Tudor Girba <tudor(a)tudorgirba.com>:
>
>> It loads #development as any CI job should do.
>>
>> Doru
>>
>>
>> On Fri, Jul 18, 2014 at 1:40 AM, Sean P. DeNigris <sean(a)clipperadams.com> wrote:
>> Stephan Eggermont wrote
>> > And there is a image build at
>> > https://ci.inria.fr/pharo-contribution/job/PetitParser/
>>
>> Interesting. I wonder what the ci is loading, because if I try to load the
>> default group in Pharo 3.0, I get an error (hence I load 'Core' and have no
>> problems)
>>
>>
>>
>> -----
>> Cheers,
>> Sean
>> --
>> View this message in context: http://forum.world.st/PetitParser-in-3-0-tp4768398p4768407.html
>> Sent from the Pharo Smalltalk Developers mailing list archive at Nabble.com.
>>
>>
>>
>>
>> --
>> www.tudorgirba.com
>>
>> "Every thing has its own flow"
>
>
>
> --
> www.tudorgirba.com
>
> "Every thing has its own flow"
Hi,
When using Roassal 2 in a glamour browser, the visualization gets clipped
when too large. This appears to occur because the canvas does not adapt to
the container morph (a TRMorph) dimensions and retains its default extent.
To reproduce:
|browser|
browser := GLMTabulator new.
browser title: 'Roassal 2 Visualization'.
browser row: #visu.
browser transmit to: #visu; andShow: [:a |
a roassal2
title: 'Overview';
painting: [ :mondView :entity | view := mondView view.
view addAll: ((RTEllipse new color: Color purple; size: 10) elementsOn:
Collection withAllSubclasses) @ RTDraggable.
RTEdge buildEdgesFromObjects: Collection withAllSubclasses from:
#superclass to: #yourself inView: view.
RTClusterLayout on: view elements edges: view edges.
view edges do: [ :e | e trachelShape pushBack ].
"view canvas extent: (950 @ 550)."
]].
browser openOn: 1.
Did someone notice similar behavior with spec? What would be good is that
TRMorph should update the contained canvas extent when it is resized.
usman
[image: Inline image 2]
Usman wrote:
>Currently, we are still in prospective phase so having the relevant information is useful :).
Macro's provide some interesting challenges here too.
Stephan
Hi,
Do we have support for associating multiple file anchors to a single famix
sourced entity? It would be useful when a module is composed of two or more
source files (e.g. header/code files in C or partial classes in C#).
tx,
usman
Status: New
Owner: ----
Labels: Type-Defect Priority-Medium
New issue 1082 by v.blonde...(a)gmail.com: Inconsistent inspector variables
values
http://code.google.com/p/moose-technology/issues/detail?id=1082
Describe the problem: what do you get? what do you expect?
In the Moose Inpector, the value of a variable in the list is not equal to
the printed value in the inspector evaluator part. See png attached.
How to reproduce the problem: step by step if necessary
create a class (Test) with a IV (test) and a initialize method (
initialize
test := #test
)
inspect : "Test new "
In the evaluator of the inspector, Print it "test". The value should be nil
which is not expected.
Additional information: platform, context which may impact the problem
Moose latest - W7
Please fill in the labels with the following information:
* Type-Defect
* Component-GTInspector
--
You received this message because this project is configured to send all
issue notifications to this address.
You may adjust your notification preferences at:
https://code.google.com/hosting/settings
Hello,
In the moose panel, when I explore a class, I have the menu items : "with all superclasses" and "with all subclasses". I expect to have in theses collections respectively all the superclasses and all the subclasses but not the current class that I explore.
I suggest either to remove the current class from theses collections or to rename "With all (sub/super)classes" to something else like "all (sub/super)classes hierarchy".
What do you think about?
Cheers,
Vincent BLONDEAU
________________________________
Ce message et les pi?ces jointes sont confidentiels et r?serv?s ? l'usage exclusif de ses destinataires. Il peut ?galement ?tre prot?g? par le secret professionnel. Si vous recevez ce message par erreur, merci d'en avertir imm?diatement l'exp?diteur et de le d?truire. L'int?grit? du message ne pouvant ?tre assur?e sur Internet, la responsabilit? de Worldline ne pourra ?tre recherch?e quant au contenu de ce message. Bien que les meilleurs efforts soient faits pour maintenir cette transmission exempte de tout virus, l'exp?diteur ne donne aucune garantie ? cet ?gard et sa responsabilit? ne saurait ?tre recherch?e pour tout dommage r?sultant d'un virus transmis.
This e-mail and the documents attached are confidential and intended solely for the addressee; it may also be privileged. If you receive this e-mail in error, please notify the sender immediately and destroy it. As its integrity cannot be secured on the Internet, the Worldline liability cannot be triggered for the message content. Although the sender endeavours to maintain a computer virus-free network, the sender does not warrant that this transmission is virus-free and will not be liable for any damages resulting from any virus transmitted.
Hi,
I have a bug in Roassal2 when I expand the Roassal2 window to fullscreen or
if I open with the different size than default, the size of the view is too
small
view := RTView new.
view @ RTDraggableView.
el := (RTBox new size: 50; color: Color red) element.
view add: el.
view openInWindowSized: 1200 @ 720
With this example you have to drag the view to see the element
--
Cheers,
Leo Perard
University of Lille 1
Hi!
I have added a name cloud builder in Roassal. Maybe some of you will find it useful
It is very primitive and does do much, but it does the primitive things :-)
Here is an example:
=-=-=-=-==-=-=-=-==-=-=-=-==-=-=-=-=
RTNameCloud new
addString: 'open
| v shape |
v := RTView new.
shape := RTLabel new height: [ :assoc | assoc value ]; text: #key.
v addAll: (shape elementsOn: table associations).
RTFlowLayout on: v elements.
v open';
open
=-=-=-=-==-=-=-=-==-=-=-=-==-=-=-=-=
It produces:
A slightly more complicated example:
=-=-=-=-==-=-=-=-==-=-=-=-==-=-=-=-=
| b |
b := RTNameCloud new.
b addStrings: (RTNameCloud methods collect: #getSource).
b open
=-=-=-=-==-=-=-=-==-=-=-=-==-=-=-=-=
produces:
We did this name cloud builder because we had a need to process text extracted from StackExchange. We added a dictionary containing words that are not interesting. For example:
=-=-=-=-==-=-=-=-==-=-=-=-==-=-=-=-=
| b |
b := RTNameCloud new.
b minHeight: 20.
b maxHeight: 30.
b addString: 'I am not that tall but I speak many languages. But I have tall legs and big feet'.
b open
=-=-=-=-==-=-=-=-==-=-=-=-==-=-=-=-=
It produces:
Words such as ‘I’, ‘not’, ‘that’, ‘but’ are not shown.
Cheers,
Alexandre
--
_,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:
Alexandre Bergel http://www.bergel.eu
^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
Hi!
I’ve just introduced a metric normalizer. This has been such a need!
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
v := RTView new.
es := RTEllipse elementsOn: RTObject withAllSubclasses.
es @ RTPopup.
v addAll: es.
RTMetricNormalizer new
elements: es;
normalizeColor: #numberOfLinesOfCode;
alphaColor: 0.4;
normalizeSize: #numberOfMethods min: 5 max: 15;
normalizeX: #numberOfMethods min: 0 max: 300;
normalizeY: #numberOfVariables min: 0 max: 300.
v
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
Here is the rendering:
This will be a nice base when we will build GraphET3
Cheers,
Alexandre
--
_,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:
Alexandre Bergel http://www.bergel.eu
^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
Hello,
I would like to know if there is a Sonar violations importer for Moose ?
http://www.sonarqube.org/
Else I will develop it.
Thanks !
Cheers,
Vincent BLONDEAU
________________________________
Ce message et les pi?ces jointes sont confidentiels et r?serv?s ? l'usage exclusif de ses destinataires. Il peut ?galement ?tre prot?g? par le secret professionnel. Si vous recevez ce message par erreur, merci d'en avertir imm?diatement l'exp?diteur et de le d?truire. L'int?grit? du message ne pouvant ?tre assur?e sur Internet, la responsabilit? de Worldline ne pourra ?tre recherch?e quant au contenu de ce message. Bien que les meilleurs efforts soient faits pour maintenir cette transmission exempte de tout virus, l'exp?diteur ne donne aucune garantie ? cet ?gard et sa responsabilit? ne saurait ?tre recherch?e pour tout dommage r?sultant d'un virus transmis.
This e-mail and the documents attached are confidential and intended solely for the addressee; it may also be privileged. If you receive this e-mail in error, please notify the sender immediately and destroy it. As its integrity cannot be secured on the Internet, the Worldline liability cannot be triggered for the message content. Although the sender endeavours to maintain a computer virus-free network, the sender does not warrant that this transmission is virus-free and will not be liable for any damages resulting from any virus transmitted.