[Pharo-users] drawing morphs with athens

2014-07-08 Thread Alexandre Bergel
Hi!

 Thank you for all the suggestions. I looked more closely at Roassal and it
 seems that it might have everything we would need. Basically the next step
 in the project is to create extensible drawing tool for modelling languages
 (UML/Petri nets/what have you), so we need to be able to draw any arbitrary
 shapes and their compositions (e.g. UML StateMachine composite state might
 have plethora of subelements). So If I understand correctly Roassal/Trachel
 should be able to provide us with everything at the visual layer or it is
 possible to (easily) extend it and add custom shapes.

Yes!
Feel free to ask questions, in this mailing or in some other about Roassal. 
We will try to provide all the support you need.

Cheers,
Alexandre
-- 
_,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:
Alexandre Bergel  http://www.bergel.eu
^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.






Re: [Pharo-users] drawing morphs with athens

2014-07-07 Thread Peter Uhnák
Thank you for all the suggestions. I looked more closely at Roassal and it
seems that it might have everything we would need. Basically the next step
in the project is to create extensible drawing tool for modelling languages
(UML/Petri nets/what have you), so we need to be able to draw any arbitrary
shapes and their compositions (e.g. UML StateMachine composite state might
have plethora of subelements). So If I understand correctly Roassal/Trachel
should be able to provide us with everything at the visual layer or it is
possible to (easily) extend it and add custom shapes.

Peter


On Sun, Jul 6, 2014 at 1:27 PM, Nicolai Hess nicolaih...@web.de wrote:

 2014-07-06 9:54 GMT+02:00 stepharo steph...@free.fr:

 Hi peter

 I hope that igor will see your mail now I will try to reply and this may
 be a bit wrong :)


  Hello,

 I'm currently working on drawing engine (à la Squeak Connectors) as a
 part of school project and have a couple of questions about Morphs and
 Athens and would be grateful if someone could enlighten me.

 What is the difference between Morph#drawOn: and
 Morph#drawOnAthensCanvas: if I draw  on AthensCairoSurface? Should I
 always use the latter or will there be switch to the former once everything
 is rendered using Athens?


 AthensWrapMorph fullDrawOn method will call its submorphs drawOn: method
 with an AthensCanvas.
 Now, if you have an AthensCanvas (from the  AthensWrapMorph) and your own
 Morph does not implement drawOnAthensCanvas, then
 Morph#drawOnAthensCanvas is called which just
 draws an rectangle from your Morphs bound. For example, put a PolygonMorph
 on an AthensWrapMorph. It is drawn as a rectangle, because PolygonMorph
 does not know (yet) how
 to draw itself with athens.

  If you have new a Morph that is just container of other Morphs than you
 don't need to change anything. Just make sure your toplevel Morph
 is wrapped by an AthensWrapMorph. But If you have a Morph, that subclasses
 another Morph that overrides drawOnAthensCanvas, you'll have to reimplent
 this as well.
 For example, MenuItemMorph subclasses StringMorph and StringMorph
 implements its own drawOnAthensCanvas. If you put a MenuMorph in a
 AthensWrapMorph it will be drawn
 like a plain StringMorph not like a MenuItemMorph (without icons and
 arrows for submenus etc).


  One of the idea is that you have a wrappingMorph that convert the
 Morphic to Athens drawing. This way
 you can use athens and still be in a non athens world, then we will
 switch to athens you will just have to unwrap your (athensihed morph).


 Now about the granularity question it depends, what I would do is to have
 one wrapper and be in a athens world.
 Did you check the trachel layer in Roassal?


 I may be wrong, but I think we have to be carefull that not everyone
 invents its own draw on athens layer.

 I would suggest:
 - build it on top of roassal / trachel, i.e. draw always with athens.
 - build it as Morphs and implement drawOnAthensCanvs if needed.

 Nicolai




 What would be good is that
 - you define drawOnAthensCanvas: for all the shapes you need and we
 integrate them into Pharo
 - like that slowly we will get ready to switch to Athens


  Should AthensMorphWrap be around every morphic element or just the top
 level? i.e.
 CanvasMorph (owner of the surface) will have a single submorph
 AthensMorphWrap which will then hold all the morphs (EllipsisMorph,
 RectangleMorph, ...) which are being drawn on the canvas.

 I think so.
 This is what Roassal is doing.
 Please keep us aware of your progress and do not hesitate to ask
 questions and we are REALLY interested in your project

 So if you have athens draw on method please send them to us.


 Stef


 Thanks,
 Peter







Re: [Pharo-users] drawing morphs with athens

2014-07-07 Thread Tudor Girba
Yes. It should be the platform you need.

Doru


On Mon, Jul 7, 2014 at 11:21 AM, Peter Uhnák i.uh...@gmail.com wrote:

 Thank you for all the suggestions. I looked more closely at Roassal and it
 seems that it might have everything we would need. Basically the next step
 in the project is to create extensible drawing tool for modelling languages
 (UML/Petri nets/what have you), so we need to be able to draw any arbitrary
 shapes and their compositions (e.g. UML StateMachine composite state might
 have plethora of subelements). So If I understand correctly Roassal/Trachel
 should be able to provide us with everything at the visual layer or it is
 possible to (easily) extend it and add custom shapes.

 Peter


 On Sun, Jul 6, 2014 at 1:27 PM, Nicolai Hess nicolaih...@web.de wrote:

 2014-07-06 9:54 GMT+02:00 stepharo steph...@free.fr:

 Hi peter

 I hope that igor will see your mail now I will try to reply and this may
 be a bit wrong :)


  Hello,

 I'm currently working on drawing engine (à la Squeak Connectors) as a
 part of school project and have a couple of questions about Morphs and
 Athens and would be grateful if someone could enlighten me.

 What is the difference between Morph#drawOn: and
 Morph#drawOnAthensCanvas: if I draw  on AthensCairoSurface? Should I
 always use the latter or will there be switch to the former once everything
 is rendered using Athens?


 AthensWrapMorph fullDrawOn method will call its submorphs drawOn: method
 with an AthensCanvas.
 Now, if you have an AthensCanvas (from the  AthensWrapMorph) and your own
 Morph does not implement drawOnAthensCanvas, then
 Morph#drawOnAthensCanvas is called which just
 draws an rectangle from your Morphs bound. For example, put a
 PolygonMorph on an AthensWrapMorph. It is drawn as a rectangle, because
 PolygonMorph does not know (yet) how
 to draw itself with athens.

  If you have new a Morph that is just container of other Morphs than you
 don't need to change anything. Just make sure your toplevel Morph
 is wrapped by an AthensWrapMorph. But If you have a Morph, that
 subclasses another Morph that overrides drawOnAthensCanvas, you'll have to
 reimplent
 this as well.
 For example, MenuItemMorph subclasses StringMorph and StringMorph
 implements its own drawOnAthensCanvas. If you put a MenuMorph in a
 AthensWrapMorph it will be drawn
 like a plain StringMorph not like a MenuItemMorph (without icons and
 arrows for submenus etc).


  One of the idea is that you have a wrappingMorph that convert the
 Morphic to Athens drawing. This way
 you can use athens and still be in a non athens world, then we will
 switch to athens you will just have to unwrap your (athensihed morph).


 Now about the granularity question it depends, what I would do is to
 have one wrapper and be in a athens world.
 Did you check the trachel layer in Roassal?


 I may be wrong, but I think we have to be carefull that not everyone
 invents its own draw on athens layer.

 I would suggest:
 - build it on top of roassal / trachel, i.e. draw always with athens.
 - build it as Morphs and implement drawOnAthensCanvs if needed.

 Nicolai




 What would be good is that
 - you define drawOnAthensCanvas: for all the shapes you need and we
 integrate them into Pharo
 - like that slowly we will get ready to switch to Athens


  Should AthensMorphWrap be around every morphic element or just the top
 level? i.e.
 CanvasMorph (owner of the surface) will have a single submorph
 AthensMorphWrap which will then hold all the morphs (EllipsisMorph,
 RectangleMorph, ...) which are being drawn on the canvas.

 I think so.
 This is what Roassal is doing.
 Please keep us aware of your progress and do not hesitate to ask
 questions and we are REALLY interested in your project

 So if you have athens draw on method please send them to us.


 Stef


 Thanks,
 Peter








-- 
www.tudorgirba.com

Every thing has its own flow


Re: [Pharo-users] drawing morphs with athens

2014-07-06 Thread stepharo

Hi peter

I hope that igor will see your mail now I will try to reply and this may 
be a bit wrong :)



Hello,

I'm currently working on drawing engine (à la Squeak Connectors) as a 
part of school project and have a couple of questions about Morphs and 
Athens and would be grateful if someone could enlighten me.


What is the difference between Morph#drawOn: and 
Morph#drawOnAthensCanvas: if I draw  on AthensCairoSurface? Should 
I always use the latter or will there be switch to the former once 
everything is rendered using Athens?
One of the idea is that you have a wrappingMorph that convert the 
Morphic to Athens drawing. This way
you can use athens and still be in a non athens world, then we will 
switch to athens you will just have to unwrap your (athensihed morph).


Now about the granularity question it depends, what I would do is to 
have one wrapper and be in a athens world.

Did you check the trachel layer in Roassal?

What would be good is that
- you define drawOnAthensCanvas: for all the shapes you need and we 
integrate them into Pharo

- like that slowly we will get ready to switch to Athens

Should AthensMorphWrap be around every morphic element or just the top 
level? i.e.
CanvasMorph (owner of the surface) will have a single submorph 
AthensMorphWrap which will then hold all the morphs (EllipsisMorph, 
RectangleMorph, ...) which are being drawn on the canvas.

I think so.
This is what Roassal is doing.
Please keep us aware of your progress and do not hesitate to ask 
questions and we are REALLY interested in your project.

So if you have athens draw on method please send them to us.

Stef



Thanks,
Peter





Re: [Pharo-users] drawing morphs with athens

2014-07-06 Thread Hilaire Fernandes
As a source of inspiration you should take a look to DrGeo canvas, in 
the class category

DrGeoII-Core-Item-View

Hilaire


Le 05/07/2014 23:56, Peter Uhnák a écrit :

I'm currently working on drawing engine (à la Squeak Connectors) as a
part of school project and have a couple of questions about Morphs and
Athens and would be grateful if someone could enlighten me.



--
Dr. Geo http://drgeo.eu
iStoa - https://launchpad.net/istoa




Re: [Pharo-users] drawing morphs with athens

2014-07-06 Thread Nicolai Hess
2014-07-06 9:54 GMT+02:00 stepharo steph...@free.fr:

 Hi peter

 I hope that igor will see your mail now I will try to reply and this may
 be a bit wrong :)


  Hello,

 I'm currently working on drawing engine (à la Squeak Connectors) as a
 part of school project and have a couple of questions about Morphs and
 Athens and would be grateful if someone could enlighten me.

 What is the difference between Morph#drawOn: and
 Morph#drawOnAthensCanvas: if I draw  on AthensCairoSurface? Should I
 always use the latter or will there be switch to the former once everything
 is rendered using Athens?


AthensWrapMorph fullDrawOn method will call its submorphs drawOn: method
with an AthensCanvas.
Now, if you have an AthensCanvas (from the  AthensWrapMorph) and your own
Morph does not implement drawOnAthensCanvas, then
Morph#drawOnAthensCanvas is called which just
draws an rectangle from your Morphs bound. For example, put a PolygonMorph
on an AthensWrapMorph. It is drawn as a rectangle, because PolygonMorph
does not know (yet) how
to draw itself with athens.

If you have new a Morph that is just container of other Morphs than you
don't need to change anything. Just make sure your toplevel Morph
is wrapped by an AthensWrapMorph. But If you have a Morph, that subclasses
another Morph that overrides drawOnAthensCanvas, you'll have to reimplent
this as well.
For example, MenuItemMorph subclasses StringMorph and StringMorph
implements its own drawOnAthensCanvas. If you put a MenuMorph in a
AthensWrapMorph it will be drawn
like a plain StringMorph not like a MenuItemMorph (without icons and arrows
for submenus etc).


  One of the idea is that you have a wrappingMorph that convert the Morphic
 to Athens drawing. This way
 you can use athens and still be in a non athens world, then we will switch
 to athens you will just have to unwrap your (athensihed morph).


 Now about the granularity question it depends, what I would do is to have
 one wrapper and be in a athens world.
 Did you check the trachel layer in Roassal?


I may be wrong, but I think we have to be carefull that not everyone
invents its own draw on athens layer.

I would suggest:
- build it on top of roassal / trachel, i.e. draw always with athens.
- build it as Morphs and implement drawOnAthensCanvs if needed.

Nicolai




 What would be good is that
 - you define drawOnAthensCanvas: for all the shapes you need and we
 integrate them into Pharo
 - like that slowly we will get ready to switch to Athens


  Should AthensMorphWrap be around every morphic element or just the top
 level? i.e.
 CanvasMorph (owner of the surface) will have a single submorph
 AthensMorphWrap which will then hold all the morphs (EllipsisMorph,
 RectangleMorph, ...) which are being drawn on the canvas.

 I think so.
 This is what Roassal is doing.
 Please keep us aware of your progress and do not hesitate to ask questions
 and we are REALLY interested in your project

So if you have athens draw on method please send them to us.


 Stef


 Thanks,
 Peter






[Pharo-users] drawing morphs with athens

2014-07-05 Thread Peter Uhnák
Hello,

I'm currently working on drawing engine (à la Squeak Connectors) as a part
of school project and have a couple of questions about Morphs and Athens
and would be grateful if someone could enlighten me.

What is the difference between Morph#drawOn: and
Morph#drawOnAthensCanvas: if I draw  on AthensCairoSurface? Should I
always use the latter or will there be switch to the former once everything
is rendered using Athens?

Should AthensMorphWrap be around every morphic element or just the top
level? i.e.
CanvasMorph (owner of the surface) will have a single submorph
AthensMorphWrap which will then hold all the morphs (EllipsisMorph,
RectangleMorph, ...) which are being drawn on the canvas.

Thanks,
Peter