Hi,
I finished the first version of the new tree map builder for Roassal.
You can find the source code in my SmalltalkHub package 'DevFlow-View'!
Gofer new
smalltalkhubUser: 'RobertoMinelli' project: 'DevFlow';
package: 'DevFlow-View';
load.
Here's an example usage:
builder := DFTreeMapBuilder new.
builder weightBlock: [ :el | el ].
builder nodes: (1 to: 50).
builder associations: (builder nodes allButFirst collect: [:each | (each // 2) -> each ]).
"Some optional configurations parameters"
colors := Color white mix: Color blue shades: (builder nodes size).
builder colorBlock: [ :el | colors at: el ].
builder rootColor: ((Color red) alpha: 0.5).
builder inset: 5.
builder extent: 500@300.
builder origin: 10@30.
builder draw.
And the resulting tree map!
[cid:EC2669CC-CA97-4B81-8B1B-B792FBE1C04F@mobile.usilu.net]
Please tell me what do you think!
The next steps are:
- Add customizable interactions
- Remove z-ordering and use proper nesting
- Eventually unroll the recursion in the layout algorithm
Cheers,
Roberto
Hello,
Is there a way to add text (similar to ROPopup in Roassal 2D or openGL
text) in roassal 3d visualizations? I've had a look at the examples and the
API but couldn't spot its implementation?
tx,
usman
Hi!
I have been working with a professor interested in visualizing tweets. Here a first shoot.
It simply shows the retweet over the time.
I will share some more soon
Cheers,
Alexandre
--
_,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:
Alexandre Bergel http://www.bergel.eu
^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
This was an interesting write up on code refactoring from GSoC. Since
continuations are a big part of Smalltalk, it was particularly
interesting to read about Continuation Passing C.
cheers -ben
-------- Original Message --------
Dear all,
We were so excited about our QEMU/CPC GSoC project that we have decided
to write a 12-page article to share our experience:
QEMU/CPC: static analysis and CPS conversion
for safe, portable, and efficient coroutines
http://gabriel.kerneis.info/research/files/qemu-cpc.pdf
If you want to learn more about QEMU internals, how we fixed hundreds of
lines of code with a small checking tool, or discover a nice compilation
technique for coroutines, you will probably be interested in this
article.
We also hope that other mentors will find it useful as a resource for
prospective students looking for an example of past GSoC projects.
Thanks to Google, and everybody involved, for making this great project
possible.
--
Gabriel Kerneis
http://gabriel.kerneis.info/
--
You received this message because you are subscribed to the Google Groups "Google Summer of Code Mentors List" group.
To unsubscribe from this group and stop receiving emails from it, send an email to google-summer-of-code-mentors-list+unsubscribe(a)googlegroups.com.
To post to this group, send email to google-summer-of-code-mentors-list(a)googlegroups.com.
Visit this group at http://groups.google.com/group/google-summer-of-code-mentors-list.
For more options, visit https://groups.google.com/groups/opt_out.
Take fresh pharo 2.0 and then
ConfigurationOfGlamour loadDevelopment displays this warning.
Did someone encounter this problem before?
[image: Inline image 1]
Hi,
I would like to signal that Diego and Stephan worked on some internal
changes to Moose-Core that can have impact on other code. So, here is a
little review to start the discussion:
- mooseName is now cached. This can have an impact if you rely on your
model to be more dynamic. If you have a custom entity that can receive
sub-entities at runtime, you might want to resetMooseName. For example, if
you modify the scope of a FAMIXType, the mooseName has to be reset:
FAMIXType>>container: aContainerEntity
container := FMMultivalueLink on: self
update: #types
from: self container
to: aContainerEntity.
*self resetMooseName*
This is supposed to be an optimization, but it makes the code more
complicated. To see if it is actually worth it, we should benchmark the
impact.
@Diego, @Stephan: Did you do some benchmarking on this?
- An entity now answers if it hasUniqueMooseNameInModel. This is at the
moment used when caching the entity by name in groups. For example,
Associations do not have a unique name and thus, they are not cached.
- There are some parts of the code I do not understand. For example, the
need of this code:
MooseGroupStorage>>becomeKind: elementStorageClass
...
*self do: [ :each | each hasUniqueMooseNameInModel ifTrue: [ each
privateClearMooseName ] ].*
...
Did I miss anything?
Cheers,
Doru
--
www.tudorgirba.com
"Every thing has its own flow"
See <https://ci.inria.fr/moose/job/moose-latest-dev-4.8/1241/>
------------------------------------------
Started by timer
Started by upstream project "fame" build number 215
originally caused by:
Started by timer
Started by upstream project "graph-et" build number 51
originally caused by:
Started by timer
Started by upstream project "glamour" build number 337
originally caused by:
Started by timer
Started by upstream project "gtoolkit" build number 395
originally caused by:
Started by timer
Building remotely on moose-slave in workspace <https://ci.inria.fr/moose/job/moose-latest-dev-4.8/ws/>
Deleting project workspace... done
[moose-latest-dev-4.8] $ /bin/sh -xe /tmp/hudson3529985657416679134.sh
+ bash
+ wget --quiet -O - http://get.pharo.org/20+vmLatest
Downloading the latest 20 Image:
http://files.pharo.org/image/20/latest.zip
Pharo.image
Downloading the latest pharoVM:
http://files.pharo.org/vm/pharo/linux/latest.zip
pharo-vm/pharo
Downloading PharoV10.sources:
http://files.pharo.org/sources//PharoV10.sources.zip
Downloading PharoV20.sources:
http://files.pharo.org/sources//PharoV20.sources.zip
Creating starter scripts pharo and pharo-ui
+ ./pharo Pharo.image save moose-latest-dev-4.8
+ REPO=http://www.smalltalkhub.com/mc/Moose/Moose/main
+ ./pharo moose-latest-dev-4.8.image config http://www.smalltalkhub.com/mc/Moose/Moose/main ConfigurationOfMoose --install=development
[31m[33m
===============================================================================
Notice: Installing ConfigurationOfMoose development
===============================================================================
[0m[0m[31m==== Startup Error: Error: Could not resolve: ConfigurationOfCommandShell [ConfigurationOfCommandShell] in <https://ci.inria.fr/moose/job/moose-latest-dev-4.8/ws/package-cache> http://www.squeaksource.com/MetacelloRepository ERROR: 'GoferRepositoryError: Could not access http://www.squeaksource.com/MetacelloRepository: ZnHttpUnsuccessful: 503 Service Temporarily Unavailable'
[0mMetacelloFetchingMCSpecLoader(Object)>>error:
MetacelloFetchingMCSpecLoader(MetacelloCommonMCSpecLoader)>>retryingResolvePackageSpecReferences:gofer:
MetacelloFetchingMCSpecLoader>>linearLoadPackageSpec:gofer: in Block: [| references nearestReference cachedReference ext...etc...
MetacelloPharoPlatform>>do:displaying: in Block: [aBlock value]
BlockClosure>>ensure:
RPackageSet class>>withCacheDo:
MetacelloPharoPlatform>>do:displaying: in Block: [:bar | ...
BlockClosure>>cull:
Job>>run in Block: [result := block cull: self]
BlockClosure>>on:do:
Job>>run in Block: [self prepareForRunning....
BlockClosure>>ensure:
Job>>run
NonInteractiveUIManager(UIManager)>>displayProgress:from:to:during:
ByteString(String)>>displayProgressFrom:to:during:
MetacelloPharoPlatform>>do:displaying:
MetacelloFetchingMCSpecLoader>>linearLoadPackageSpec:gofer:
MetacelloPackageSpec>>loadUsing:gofer:
MetacelloFetchingMCSpecLoader(MetacelloCommonMCSpecLoader)>>linearLoadPackageSpecs:repositories: in Block: [:pkg | pkg loadUsing: self gofer: gofer]
Array(SequenceableCollection)>>do:
MetacelloFetchingMCSpecLoader(MetacelloCommonMCSpecLoader)>>linearLoadPackageSpecs:repositories:
MetacelloFetchingMCSpecLoader>>explicitLoadPackageSpecs:repositories: in Block: [super linearLoadPackageSpecs: packageSpecs reposi...etc...
BlockClosure>>ensure:
MetacelloLoaderPolicy>>pushLoadDirective:during:
MetacelloLoaderPolicy>>pushExplicitLoadDirectivesDuring:for:
MetacelloFetchingMCSpecLoader>>explicitLoadPackageSpecs:repositories:
MetacelloPackageSpec>>explicitLoadUsing:
MetacelloPackageSpec>>loadUsing: in Block: [self explicitLoadUsing: mcLoader]
MetacelloFetchingMCSpecLoader(MetacelloCommonMCSpecLoader)>>doingLoads:
MetacelloPackageSpec>>loadUsing:
[0m[31mGot startup errors:
[0m[31m Error: Could not resolve: ConfigurationOfCommandShell [ConfigurationOfCommandShell] in <https://ci.inria.fr/moose/job/moose-latest-dev-4.8/ws/package-cache> http://www.squeaksource.com/MetacelloRepository ERROR: 'GoferRepositoryError: Could not access http://www.squeaksource.com/MetacelloRepository: ZnHttpUnsuccessful: 503 Service Temporarily Unavailable'
[0mBuild step 'Execute shell' marked build as failure
Archiving artifacts
Recording test results
Hello,
When creating a visualization with Roassal in a Glamour browser, the popup
view is shown behind the entity on which popup is invoked. Here is the code
to reproduce:
| browser |
browser := GLMTabulator withStatusbar.
browser column: #visu.
browser transmit to: #visu; andShow: [ :a |
a roassal
painting: [:view :number |
| popupView inner aView outerElement|
popupView := ROView new.
aView := view raw.
outerElement := (ROElement on: 'Outer').
popupView add: (ROElement new extent: 50@50; model: 'popup')+ (ROBox new
color: Color blue).
inner := (ROElement sprite) + (ROBox new borderWidth: 1; color: (Color
gray: 0.9)); extent: 150@100.
outerElement add: inner.
inner @ (ROPopupView new view: popupView).
aView add: outerElement.
]].
browser openOn: 42.
Although the problem does not occur without Glamour:
| popupView inner aView outerElement|
popupView := ROView new.
aView := ROView new.
outerElement := (ROElement on: 'Outer').
popupView add: (ROElement new extent: 50@50; model: 'popup')+ (ROBox new
color: Color blue).
inner := (ROElement sprite) + (ROBox new borderWidth: 1; color: (Color
gray: 0.9)); extent: 150@100.
outerElement add: inner.
inner @ (ROPopupView new view: popupView).
aView add: outerElement.
aView open
Is this a bug or do I need to set some property for my nodes?
tx,
Usman
[image: Inline image 8][image: Inline image 7][image: Inline image 6][image:
Inline image 5]