Searching for Roassal example using Spotter :-)
by Alexandre Bergel
Hi!
This evening I invited Andrei over to enjoy the sunset view on the Andes. We also played with Spotter. The problem we wanted to solve is the following: There are many examples in Roassal (exactly 210), covering different aspects of Roassal and looking for the right example usually takes time. So, we wanted to give a chance at Spotter.
By loading GT-SpotterExtensions-CoreRoassal from
MCSmalltalkhubRepository
owner: 'Moose'
project: 'GToolkit'
user: ''
password: ‘'
You will enjoy the excellent work of Andrei.
The key method is the following:
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
GTSpotter>>spotterRoassalExamplesFor: aStep
<spotterOrder: 500>
aStep listProcessor
allCandidates: [ (RTAbstractExample allSubclasses collect: #new)
flatCollect: [ :each | each gtExamples ] ];
title: 'Roassal Examples';
itemName: [ :example | example selector ];
itemIcon: [ :example | example iconForm ];
matchSubstringByQueryParts;
wantsToDisplayOnEmptyQuery: false
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
So, now, you can trigger Spotter with Cmd-Enter, and enter some words related to Roassal, for example ‘circle layout’, or ‘composite shape’ or 'color edge popup’, a matching is done with the source code of the example. For example, searching for ‘circle layout’ will suggest all the examples that contains the words ‘circle’ and ‘layout’.
Here is a screenshot:
The example is run by pressing enter:
Very cool!
Thanks Andrei!!!
--
_,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:
Alexandre Bergel http://www.bergel.eu
^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
8 years, 5 months
Issue 1100 in moose-technology: Unhandled division by zero in Charter
by moose-technology@googlecode.com
Status: New
Owner: ----
Labels: Type-Defect Priority-Medium Component-Roassal
New issue 1100 by usman.bh...(a)gmail.com: Unhandled division by zero in
Charter
https://code.google.com/p/moose-technology/issues/detail?id=1100
In Charter, I get divide by zero exception when y values are zero. Here is
an example to reproduce the bug:
| b data minDate view color |
view := RTView new.
b := RTCharterBuilder new.
b view: view.
b extent: 400 @ 200.
data := {DateAndTime now -> 0 . DateAndTime now + 200 -> 0} asDictionary.
minDate := data keys min.
color := Color random.
b interaction popupText: [:each | each ] .
b shape ellipse
size: 10;
color: color.
b points: data keys.
b
x: [ :aDate | aDate asUnixTime - minDate asUnixTime ];
y: [ :each | data at: each ].
b connectDotColor: color.
b axisConfiguration
labelRotation: -30;
minValue: 1000;
numberOfTicks: data keys size -1;
labelConvertion: [ :v | (DateAndTime fromUnixTime: (v + minDate
asUnixTime)) asDate].
b axisX.
b build.
--
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
8 years, 5 months
Grapher slightly improved
by Alexandre Bergel
Hi!
Just to share some of the progresses we are making with Grapher.
We can now mix bar and curve. Here is an example:
Result of the script:
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
| b ds |
b := RTGrapherBuilder new.
b extent: 400 @ 400.
ds := RTStackedDataSet new.
ds barShape color: (Color red).
ds points: (-3 to: 3.1415 * 5 by: 0.1).
ds y: [ :v | v sin ].
b add: ds.
ds := RTStackedDataSet new.
ds noDot.
ds connectColor: Color blue.
ds points: (-3 to: 3.1415 * 5 by: 0.1).
ds y: [ :v | v cos ].
b add: ds.
b build.
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
Another example:
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
data := (1 to: 20) collect: [ :v | 10 atRandom - 5 ].
b := RTGrapherBuilder new.
b extent: 300 @ 200.
ds := RTStackedDataSet new.
ds interaction popup.
ds points: data.
ds barShape width: 8;
color: (Color green alpha: 0.3);
if: [:value | value < 0 ] fillColor: (Color red alpha: 0.3).
b add: ds.
b
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
Cheers,
Alexandre
--
_,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:
Alexandre Bergel http://www.bergel.eu
^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
8 years, 5 months
Re: help needed with creating moose 5.0 configuration
by Stephan Eggermont
For ConfigurationOfRoelTyper it is safe to use #stable.
The configurationOfOrderPreservingDictionary had a broken baseline
with a numbered version in it. I removed the broken baseline and
changed the reference to it. It is now safe to use stable
Stephan
8 years, 5 months
[ENH] Mondrian builder
by Alexandre Bergel
Hi!
I am slowly integrating feature of the GraphBuilder into the (new) Mondrian builder. Normalizer and the partition are supported by RTMondrian now.
Here is a small example:
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
classes := RTLayout withAllSubclasses, RTBuilder withAllSubclasses, RTShape withAllSubclasses.
b := RTMondrian new.
b shape circle size: 5.
b nodes: classes.
b edges connectFrom: #superclass.
b normalizer
objects: classes;
normalizeSize: #numberOfMethods min: 5 max: 30;
normalizeColor: #numberOfLinesOfCode using: { Color green . Color red } using: #sqrt.
b layout
for: [ :c | c includesBehavior: RTLayout ] use: RTForceBasedLayout new;
for: [ :c | c includesBehavior: RTBuilder ] use: RTForceBasedLayout new;
for: [ :c | c includesBehavior: RTShape ] use: RTForceBasedLayout new;
flow.
b
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
Cheers,
Alexandre
--
_,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:
Alexandre Bergel http://www.bergel.eu
^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
8 years, 5 months
Re: help needed with creating moose 5.0 configuration
by Stephan Eggermont
Christophe wrote
>Once Versionner has this baseline version, it resolves all kind of symbolic versions to the numbered versions for the release
>(but still keep the symbolic version in the baseline to use for dev version and next releases).
You don't want numbered versions for the parts you don't control. There you want patches to be possible.
Dependent projects always need to be referred to by symbolic name. Dependent project are volatile
information.
https://www.cs.utexas.edu/users/EWD/ewd07xx/EWD719.PDF
In Moose, there are at any time a few sub projects that are very active and are very likely to break very
soon after (or even at) release. At the moment, that could be PetitParser and Roassal2. As we'll move
to Pharo4 straight after this release, the development version is going to be fragile for a while.
If we want to be able to patch active projects, we need symbolic versions to make sure that patch
versions don't need to propagate to the configurations using them.
Stephan
8 years, 5 months
Re: help needed with creating moose 5.0 configuration
by Stephan Eggermont
>No. We will create a stable version of each configuration that will be versioned based on the numbering of each configurations.
Last time I was not so happy with the results of using numbered configurations. The release version stopped being usable about
a week after the release date. With a symbolic name we can fix critical bugs that stop newcomers from using Moose.
Last time we had a development version that didn't work because of significant Pharo3 surgery and a stable version that
couldn't be build because of numbered configurations. If possible I would like to avoid that this time.
Stephan
8 years, 5 months