Hello,
I've got an image I develop in and would like to be able to generate diagrams for a number of classes and relationships to explain how things are working to other people. How can I do that with Moose? (Or GT I have loaded in 3.0) I have seen a couple diagrams floating around, so it is definitely possible to do. But I also saw that all of that was done in a Moose image and not in a normal Pharo image. TIA Phil _______________________________________________ Moose-dev mailing list [hidden email] https://www.iam.unibe.ch/mailman/listinfo/moose-dev |
I haven't seen support for UML class diagrams in a Pharo image yet. However, it is possible in Moose image. Open MoosePanel, import your code in Moose (st icon on top right). One model imported, All Model Classes-> right click -> UML Class diagram. usman On Thu, Nov 6, 2014 at 10:34 AM, [hidden email] <[hidden email]> wrote:
_______________________________________________ Moose-dev mailing list [hidden email] https://www.iam.unibe.ch/mailman/listinfo/moose-dev |
Check out RTUMLClassBuilder in Roassal2, this is used by Moose. (Not sure by Pharo 3 compatibility but Roassal2 should work there.) Peter On Thu, Nov 6, 2014 at 11:10 AM, Usman Bhatti <[hidden email]> wrote:
_______________________________________________ Moose-dev mailing list [hidden email] https://www.iam.unibe.ch/mailman/listinfo/moose-dev |
Thx... Roassal2 is loaded in my image but there is no RTUMLClassBuilder there. Where can I get that? Phil On Thu, Nov 6, 2014 at 11:42 AM, Peter Uhnák <[hidden email]> wrote:
_______________________________________________ Moose-dev mailing list [hidden email] https://www.iam.unibe.ch/mailman/listinfo/moose-dev |
Do you have the latest version? Gofer new smalltalkhubUser: 'ObjectProfile'
project: 'Roassal2';
package: 'ConfigurationOfRoassal2';
load.
(Smalltalk at: #ConfigurationOfRoassal2) loadDevelopment On Thu, Nov 6, 2014 at 12:37 PM, [hidden email] <[hidden email]> wrote:
_______________________________________________ Moose-dev mailing list [hidden email] https://www.iam.unibe.ch/mailman/listinfo/moose-dev umlbuilder.png (86K) Download Attachment |
Indeed. You need a fairly recent version of Roassal2 to get RTUMLClassBuilder. For a package, you can simply trigger it like this (inspect): b := RTUMLClassBuilder new. b addObjects: (RPackageOrganizer default packageNamed: 'AST-Core') definedClasses. b treeLayout. b build. b view Cheers, Doru On Thu, Nov 6, 2014 at 12:55 PM, Peter Uhnák <[hidden email]> wrote:
_______________________________________________ Moose-dev mailing list [hidden email] https://www.iam.unibe.ch/mailman/listinfo/moose-dev |
Loaded as mentioned but: renderOn: aView self paintingBlock glamourValue: ( aView asGlamorousMultiValue, self entity asGlamorousMultiValue, self asGlamorousMultiValue ). aView build. self shouldPopulateSelection ifTrue: [ aView view elements do: [:each | each on: TRMouseLeftClick do: [:event | self selection: each model ]] ]. self view: aView RTElement>>on:do: MNU Phil On Thu, Nov 6, 2014 at 1:15 PM, Tudor Girba <[hidden email]> wrote:
_______________________________________________ Moose-dev mailing list [hidden email] https://www.iam.unibe.ch/mailman/listinfo/moose-dev |
In reply to this post by Tudor Girba-2
I commented out the click thing. I got the view. Nice. Now, another problem. My package has a lot of tags in it. So, the package is too big to give anything sensical in the UML view (very very wide picture). I tried this: (RPackageOrganizer default packageNamed: 'Blah-Webapplication') definedClasses. But of course, it doesn't work. How is one getting classes from one tag, or more than one level? Package tags are like: Blah-Webapplication-Parts, Blah-Webapplication-Framework etc. TIA Phil On Thu, Nov 6, 2014 at 1:15 PM, Tudor Girba <[hidden email]> wrote:
_______________________________________________ Moose-dev mailing list [hidden email] https://www.iam.unibe.ch/mailman/listinfo/moose-dev |
In reply to this post by philippeback
You should load the latest of everything. I guess you need to update Glamour as well. Doru On Thu, Nov 6, 2014 at 2:01 PM, [hidden email] <[hidden email]> wrote:
_______________________________________________ Moose-dev mailing list [hidden email] https://www.iam.unibe.ch/mailman/listinfo/moose-dev |
In reply to this post by philippeback
Hi, To get the tags you can just send #classTags to the RPackage instance: (RPackageOrganizer default packageNamed: 'Roassal2') classesForClassTag: 'Builder-UML' Btw, if you load the latest version of GT-InspectorExtensions-Core, you will get some presentations that might help navigating. Cheers, Doru On Thu, Nov 6, 2014 at 2:07 PM, [hidden email] <[hidden email]> wrote:
_______________________________________________ Moose-dev mailing list [hidden email] https://www.iam.unibe.ch/mailman/listinfo/moose-dev |
In reply to this post by philippeback
The method RTElement>>on:do: has been renamed RTElement>>when:do:
Alexandre
--
_,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;: Alexandre Bergel http://www.bergel.eu ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
_______________________________________________ Moose-dev mailing list [hidden email] https://www.iam.unibe.ch/mailman/listinfo/moose-dev |
In reply to this post by Tudor Girba-2
Thanks you. Got this working. It is cool. b := RTUMLClassBuilder new. package := RPackageOrganizer default packageNamed: 'MyTopLevelPackage'. tags := package classTags. objects := (tags collect: [ :t | package classesForClassTag: t name]) flatten. b addObjects: objects. b treeLayout. b build. b view I do miss method categories. How is one visualizing that? All of my methods are lumped up in a big pile. Is there any way I can get a kind of compartment for each of them? In the past, I tried out Dandelion tooling and there was an XMI export. Do you have that somewhere in Moose? Phil On Thu, Nov 6, 2014 at 2:29 PM, Tudor Girba <[hidden email]> wrote:
_______________________________________________ Moose-dev mailing list [hidden email] https://www.iam.unibe.ch/mailman/listinfo/moose-dev |
Try this:
-=-=—=-=-=—=-=-=—=-=-=—= classes := RTShape withAllSubclasses. allMethodCategories := (classes flatCollect: #protocols) asSet asArray. b := RTUMLClassBuilder new. n := RTMultiLinearColorForIdentity new objects: allMethodCategories. b methodShape label color: [ :m | n rtValue: m protocol ]. b methodsNames: [ :cls | (cls methods sortedAs: #protocol) ]. b addObjects: classes. b treeLayout. b view setDefaultMenu. b build. b view -=-=—=-=-=—=-=-=—=-=-=—= Cheers, Alexandre
--
_,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;: Alexandre Bergel http://www.bergel.eu ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
_______________________________________________ Moose-dev mailing list [hidden email] https://www.iam.unibe.ch/mailman/listinfo/moose-dev |
Nice. Now, the RTMultiLinearColorForIdentity default is a bit difficult to read/print. I have fiddled with it, works nicer now. Is there any alternating palette possible? Still, how can I have a separator between categories and the category name in the list on top of the methods? (Sorry to be asking but I've got to document a framework and this view is really a huge timesaver). Is there a way to do it left to right instead of top down? I am used to dot, are there similar "cluster" abilities somewhere? Would it be possible to put the package name somewhere in the top right of the UML boxes (like small and italics?) Ha, I am now very interested by this UMLView and Playground is much more attractive :-D Phil On Thu, Nov 6, 2014 at 6:01 PM, Alexandre Bergel <[hidden email]> wrote:
_______________________________________________ Moose-dev mailing list [hidden email] https://www.iam.unibe.ch/mailman/listinfo/moose-dev |
In reply to this post by Usman Bhatti
I do it all in 3.0 with GT loaded ans RT dev. Works Le 6 nov. 2014 11:10, "Usman Bhatti" <[hidden email]> a écrit :
_______________________________________________ Moose-dev mailing list [hidden email] https://www.iam.unibe.ch/mailman/listinfo/moose-dev |
In reply to this post by philippeback
Hi Phil,
Yes, you can specify any color palettes to RTMultiLinearColorForIdentity. There is also Palette, which has some nice and harmonic colors. But you can always choose a different one.
Looks interesting, but this is a significant work for us to do (a couple of hours). I can allocate an engineering task force if some resources are available. Else, feel free to ask questions, and we will try to help you :-)
It is indeed feasible yes.
Cool :-) Alexandre
_______________________________________________ Moose-dev mailing list [hidden email] https://www.iam.unibe.ch/mailman/listinfo/moose-dev |
Free forum by Nabble | Edit this page |