Just recording a bit of my learning the internals of Roassal, since it
helps me flesh out my understanding.
At first glance looking at [ROShape>>addLast:] this seemed to
recursively call itself with no exit-condition, but then I noticed its
ivar 'next' is initialized to ROChildrenShape this provides the exit
condition inherited from RONullShape. Adding a shape replaces this
ROChildrenShape in 'next', but the new shape itself has a
ROChildrenShape in its 'next' .
I haven't got as far looking at ROChildrenShape yet, but briefly thought
it might be a container holding other shapes, but then actually I think
it is the ROElements ivar 'elements' that is the container of subview
nodes - and that ROChildrenShape just stores how to draw the subview nodes.
I guess it is the lack of the [drawOn:For:] method that distinguishes
between abstract and concrete ROShape classes. By the way, what is the
design decision of leaving [ROShape>>drawOn:For] blank rather than using
[self subclassResponsibility] ?
So, just to confirm my understanding, perhaps the following or similar
would be useful as a comment on ROShape>>addLast:
"Instance variable 'next' must be a RONullShape to provide the exit
condition of this recursive call. This is ensured by instance
initialization"
cheers -ben
I was browsing Roassal looking for how mouse-overs are handled, and
bumped into the method ROBeginingAnimation>>isOver, and I was
momentarily confused by what "over" would mean in this context. Without
knowing the whole architecture, I am thinking that perhaps a better
method name would be 'isComplete'. In a highly GUI oriented system,
"over" has too many meanings without diving into the code.
If that is reasonable, but I distraction from other work, I could
implement and submit the change. The method is referenced from five
methods and three tests.
cheers -ben
Hello all,
Just wanted to know if the Windows VM file (Squeak.exe) in one-click Moose
package is the latest version of the VM (in image-folder/Contents/Windows)?
Can I know the source of the vm because I remember downloading one
(Cog.exe) that worked better?
tx,
Usman
Hi everybody,
as I'm new to this list I just wanted to say hello.
I'm quite new to Moose and completely new to Smalltalk - so please
forgive any newbie questions :-)
I came to Moose via CodeCity, and I believe it's a powerful platform,
thus I'm eager to learn more about it. I'm especially interested in
using Moose / CodeCity in a commercial setting, e.g. in the context of
architecture assessments and code reviews that we are doing for
customers. Actually I recently used Moose in such a context, but could
not get quite to the results I wanted to. Not because of Moose, but
rather because I'm not familiar with the Smalltalk environment and
especially Mondrian painting yet...
Today I found this mailing list from which I believe it's a good
source for information and knowledge exchange.
So, "Hello!" :-)
Cheers,
Torben
Today we created a tool with stephane:
I'm a kind of loader that know how to save and load list of packages.
First when you have a configuration of packages that you want to version
use:
(Pay attention version and save first your packages, we are talking here
about saving a list of packages not the packages themselves)
publishNewVersion
it will create a new method scriptXXX on the
MooseConfigurationRepository
You can then version this class in the package containing the Reloader
class.
In another image once you load this new version you can reload the
configuration you save using the method
reload: aNumber
and it will load all the packages you previously specified.
Under the cover, we need a way to know which packages to save and where to
load them.
Here is how this information is specified right now, it can be modified
using accessors.
defaultSavedPackagesPatternNames
^ #(#('Moose-Tests-Algos-InformationRetrieval*' '
http://www.squeaksource.com/MooseAlgos') #('Moose-Settings*' '
http://www.squeaksource.com/Moose') #('ConfigurationOfNewECompletion*' '
http://ss3.gemstone.com/ss/NEC') #('Fame-Example*' '
http://www.squeaksource.com/Fame')
#('Moose-Tests-Algos-FormalConceptAnalysis*' '
http://www.squeaksource.com/MooseAlgos') #('CollectionExtensions*' '
http://www.squeaksource.com/CollectionExtensions') #('Grease-Core*' '
http://www.squeaksource.com/Seaside30') #('PetitSmalltalk*' '
http://source.lukas-renggli.ch/petit') #('Mondrian-Visitor*' '
http://www.squeaksource ......)
Currently, it kills squeaksource but we will retry with a wait between
each package and it should works.
This tool is available at:
http://www.smalltalkhub.com/mc/StephaneDucasse/MooseReloader/main
--
*Guillaume Larcheveque*
Hi everybody,
last question for today :-)
Is there a converter which converts from MSE 3.0 to 2.1 format?
I'm obviously trying to visualize some Java code with Code City. The
MSE was created using verveinej. I know that the inFamix paid version
can produce MSE 2.1 output, but if somehow possible I would prefer an
open source / non-paid solution.
Maybe, is there an older version of verveinej available which would
produce MSE 2.1? Or was verveinej producing MSE 3.0 from the
beginning?
Thanks a lot and best regards,
Torben
Status: New
Owner: ----
CC: alexandr...(a)gmail.com
Labels: Type-Defect Priority-Medium Component-Mondrian Milestone-4.7
New issue 798 by tudor.gi...(a)gmail.com: Mondrian should store edges in the
most specific parent of the from/to nodes
http://code.google.com/p/moose-technology/issues/detail?id=798
The edges should be stored in the most specific parent of the from and to
nodes, and not in the parent of the node in which they are defined.
This is because the layout takes this information into account. For
example, the below layout does not show a tree inside node 1.
view := MOViewRenderer new.
view node: 1 forIt: [
view shape label.
view nodes: (10 to: 11).
view treeLayout.
].
view edgesFromAssociations: {10 -> 11}.
view open.