[Pharo-project] Morphic replacement
Dear all, I've been working on a hole replacement of Morphic myself, because if was tired of fixing Morphic (or porting CUIS Morphic into Pharo), and found much more productive the approach of rewriting it from scratch. In my expierience, i was 100% more productive by not trying to be backward compatible with Morphic, Polymorph , etc. I found it easier to come up with a new set of widgets (EntryField, AutoCompletionEntryField, Button, Label, Column, Row, ScrollableColumns) from scratch. They are all fairly tested also. Maybe it's time to move on, and develop from the ground up a Morphic-like successor, instead of fixing the current Morphic. There's no problem with preserving the current UI for all the apps that are out there, and provide a cleaner, simpler UI framework for the new apps. Regarding the new "morphic", I only assume that i have a scalable canvas, and the vm's notifying me of the user events. On top of that i recreated a World, that can have multiple views. There's only one World at a given time. Views are presented within the world in a given viewport, and present a scene. Scene are were the shapes live in. No World as a subclass of PasteUpMorph, no globals such as World, ActiveWorld, Hand. ActiveHand, etcs.. The world has a mouse and a keyboard, which take care of events announced by the world. For example GMouse>>down: aDisplayPosition, would take care of transforming the display position into a world position, into a view position, into a scene position, and finally notifying the proper shape under the mouse that it has been clicked at a certain local position. GShape>>clickedAt: , GShape>>secondaryClickedAt:, etc.. No Events hierarchy, or the awful switch currently in HandMorph ( generateMouseEvent: or generateKeyboardEvent:). I have a "Gaucho" system working now, with GShape (instead of Morphs), using the simple new layouts developed by Juan in CUIS, uniform usage of keybindings across the whole GShape hierarchy, amongst other goodies. It's still tailored to be a Morphic replacement for Gaucho, so first i need to polish a few things prior to releasing it. For example, i'm going to ditch my current scalable canvas implementation, in favor of Athens. Hope that very soon i can provide more details, but my plans are to release it as part of the next Gaucho version, to provide a working example. Fernando
Impressive! Let us know Alexandre On 25 Nov 2011, at 07:00, Fernando Olivero wrote:
Dear all,
I've been working on a hole replacement of Morphic myself, because if was tired of fixing Morphic (or porting CUIS Morphic into Pharo), and found much more productive the approach of rewriting it from scratch.
In my expierience, i was 100% more productive by not trying to be backward compatible with Morphic, Polymorph , etc.
I found it easier to come up with a new set of widgets (EntryField, AutoCompletionEntryField, Button, Label, Column, Row, ScrollableColumns) from scratch. They are all fairly tested also.
Maybe it's time to move on, and develop from the ground up a Morphic-like successor, instead of fixing the current Morphic. There's no problem with preserving the current UI for all the apps that are out there, and provide a cleaner, simpler UI framework for the new apps.
Regarding the new "morphic", I only assume that i have a scalable canvas, and the vm's notifying me of the user events. On top of that i recreated a World, that can have multiple views. There's only one World at a given time. Views are presented within the world in a given viewport, and present a scene. Scene are were the shapes live in. No World as a subclass of PasteUpMorph, no globals such as World, ActiveWorld, Hand. ActiveHand, etcs..
The world has a mouse and a keyboard, which take care of events announced by the world. For example GMouse>>down: aDisplayPosition, would take care of transforming the display position into a world position, into a view position, into a scene position, and finally notifying the proper shape under the mouse that it has been clicked at a certain local position. GShape>>clickedAt: , GShape>>secondaryClickedAt:, etc.. No Events hierarchy, or the awful switch currently in HandMorph ( generateMouseEvent: or generateKeyboardEvent:).
I have a "Gaucho" system working now, with GShape (instead of Morphs), using the simple new layouts developed by Juan in CUIS, uniform usage of keybindings across the whole GShape hierarchy, amongst other goodies. It's still tailored to be a Morphic replacement for Gaucho, so first i need to polish a few things prior to releasing it.
For example, i'm going to ditch my current scalable canvas implementation, in favor of Athens.
Hope that very soon i can provide more details, but my plans are to release it as part of the next Gaucho version, to provide a working example.
Fernando
-- _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;: Alexandre Bergel http://www.bergel.eu ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
Sounds exciting. Doru On Fri, Nov 25, 2011 at 1:07 PM, Alexandre Bergel <alexandre.bergel@me.com> wrote:
Impressive! Let us know
Alexandre
On 25 Nov 2011, at 07:00, Fernando Olivero wrote:
Dear all,
I've been working on a hole replacement of Morphic myself, because if was tired of fixing Morphic (or porting CUIS Morphic into Pharo), and found much more productive the approach of rewriting it from scratch.
In my expierience, i was 100% more productive by not trying to be backward compatible with Morphic, Polymorph , etc.
I found it easier to  come up with a new set of widgets (EntryField, AutoCompletionEntryField, Button, Label, Column, Row, ScrollableColumns) from scratch. They are all fairly tested also.
Maybe it's time to move on, and develop from the ground up a Morphic-like successor, instead of fixing the current Morphic. There's no problem with preserving the current UI for all the apps that are out there, and provide a cleaner, simpler UI framework for the new apps.
Regarding the new "morphic", I only assume that i have a scalable canvas, and the vm's notifying me of the user events. On top of that i recreated a World, that can have multiple views. There's only one World at a given time. Views are presented within the world in a given viewport, and present a scene. Scene are were the shapes live in. No World as a subclass of PasteUpMorph, no globals such as World, ActiveWorld, Hand. ActiveHand, etcs..
The world has a mouse and a keyboard, which take care of events announced by the world. For example GMouse>>down: aDisplayPosition, would take care of transforming the display position into a world position, into a view position, into a scene position, and finally notifying the proper shape under the mouse that it has been clicked at a certain local position. GShape>>clickedAt: , GShape>>secondaryClickedAt:, etc.. No Events hierarchy, or the awful switch currently in HandMorph ( generateMouseEvent: or generateKeyboardEvent:).
I have a "Gaucho" system working now, Â with GShape (instead of Morphs), using the simple new layouts developed by Juan in CUIS, uniform usage of keybindings across the whole GShape hierarchy, amongst other goodies. It's still tailored to be a Morphic replacement for Gaucho, so first i need to polish a few things prior to releasing it.
For example, i'm going to ditch my current scalable canvas implementation, in favor of Athens.
Hope that very soon i can provide more details, but my plans are to release it as part of the next Gaucho version, to provide a working example.
Fernando
-- _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;: Alexandre Bergel  http://www.bergel.eu ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
-- www.tudorgirba.com "Every thing has its own flow"
On 25 November 2011 11:00, Fernando Olivero <fernando.olivero@usi.ch> wrote:
Dear all,
I've been working on a hole replacement of Morphic myself, because if was tired of fixing Morphic (or porting CUIS Morphic into Pharo), and found much more productive the approach of rewriting it from scratch.
In my expierience, i was 100% more productive by not trying to be backward compatible with Morphic, Polymorph , etc.
I found it easier to  come up with a new set of widgets (EntryField, AutoCompletionEntryField, Button, Label, Column, Row, ScrollableColumns) from scratch. They are all fairly tested also.
Maybe it's time to move on, and develop from the ground up a Morphic-like successor, instead of fixing the current Morphic. There's no problem with preserving the current UI for all the apps that are out there, and provide a cleaner, simpler UI framework for the new apps.
Regarding the new "morphic", I only assume that i have a scalable canvas, and the vm's notifying me of the user events. On top of that i recreated a World, that can have multiple views. There's only one World at a given time. Views are presented within the world in a given viewport, and present a scene. Scene are were the shapes live in. No World as a subclass of PasteUpMorph, no globals such as World, ActiveWorld, Hand. ActiveHand, etcs..
The world has a mouse and a keyboard, which take care of events announced by the world. For example GMouse>>down: aDisplayPosition, would take care of transforming the display position into a world position, into a view position, into a scene position, and finally notifying the proper shape under the mouse that it has been clicked at a certain local position. GShape>>clickedAt: , GShape>>secondaryClickedAt:, etc.. No Events hierarchy, or the awful switch currently in HandMorph ( generateMouseEvent: or generateKeyboardEvent:).
I have a "Gaucho" system working now, Â with GShape (instead of Morphs), using the simple new layouts developed by Juan in CUIS, uniform usage of keybindings across the whole GShape hierarchy, amongst other goodies. It's still tailored to be a Morphic replacement for Gaucho, so first i need to polish a few things prior to releasing it.
For example, i'm going to ditch my current scalable canvas implementation, in favor of Athens.
Glad to hear that.
Hope that very soon i can provide more details, but my plans are to release it as part of the next Gaucho version, to provide a working example.
Fernando
-- Best regards, Igor Stasenko.
did you kill the absolute coordinates? say yes please :) Stef On Nov 25, 2011, at 11:00 AM, Fernando Olivero wrote:
Dear all,
I've been working on a hole replacement of Morphic myself, because if was tired of fixing Morphic (or porting CUIS Morphic into Pharo), and found much more productive the approach of rewriting it from scratch.
excellent!
In my expierience, i was 100% more productive by not trying to be backward compatible with Morphic, Polymorph , etc.
I found it easier to come up with a new set of widgets (EntryField, AutoCompletionEntryField, Button, Label, Column, Row, ScrollableColumns) from scratch. They are all fairly tested also.
Maybe it's time to move on, and develop from the ground up a Morphic-like successor, instead of fixing the current Morphic. There's no problem with preserving the current UI for all the apps that are out there, and provide a cleaner, simpler UI framework for the new apps.
Regarding the new "morphic", I only assume that i have a scalable canvas, and the vm's notifying me of the user events. On top of that i recreated a World, that can have multiple views. There's only one World at a given time. Views are presented within the world in a given viewport, and present a scene. Scene are were the shapes live in. No World as a subclass of PasteUpMorph, no globals such as World, ActiveWorld, Hand. ActiveHand, etcs..
The world has a mouse and a keyboard, which take care of events announced by the world. For example GMouse>>down: aDisplayPosition, would take care of transforming the display position into a world position, into a view position, into a scene position, and finally notifying the proper shape under the mouse that it has been clicked at a certain local position. GShape>>clickedAt: , GShape>>secondaryClickedAt:, etc.. No Events hierarchy, or the awful switch currently in HandMorph ( generateMouseEvent: or generateKeyboardEvent:).
I have a "Gaucho" system working now, with GShape (instead of Morphs), using the simple new layouts developed by Juan in CUIS, uniform usage of keybindings across the whole GShape hierarchy, amongst other goodies. It's still tailored to be a Morphic replacement for Gaucho, so first i need to polish a few things prior to releasing it.
For example, i'm going to ditch my current scalable canvas implementation, in favor of Athens.
Hope that very soon i can provide more details, but my plans are to release it as part of the next Gaucho version, to provide a working example.
Fernando
+1 on moving to relative coordinates! ________________________________________ From: pharo-project-bounces@lists.gforge.inria.fr [pharo-project-bounces@lists.gforge.inria.fr] on behalf of Stéphane Ducasse [stephane.ducasse@inria.fr] Sent: Friday, November 25, 2011 11:00 AM To: Pharo-project@lists.gforge.inria.fr; fernando.olivero@usi.ch Subject: Re: [Pharo-project] Morphic replacement did you kill the absolute coordinates? say yes please :) Stef On Nov 25, 2011, at 11:00 AM, Fernando Olivero wrote:
Dear all,
I've been working on a hole replacement of Morphic myself, because if was tired of fixing Morphic (or porting CUIS Morphic into Pharo), and found much more productive the approach of rewriting it from scratch.
excellent!
In my expierience, i was 100% more productive by not trying to be backward compatible with Morphic, Polymorph , etc.
I found it easier to come up with a new set of widgets (EntryField, AutoCompletionEntryField, Button, Label, Column, Row, ScrollableColumns) from scratch. They are all fairly tested also.
Maybe it's time to move on, and develop from the ground up a Morphic-like successor, instead of fixing the current Morphic. There's no problem with preserving the current UI for all the apps that are out there, and provide a cleaner, simpler UI framework for the new apps.
Regarding the new "morphic", I only assume that i have a scalable canvas, and the vm's notifying me of the user events. On top of that i recreated a World, that can have multiple views. There's only one World at a given time. Views are presented within the world in a given viewport, and present a scene. Scene are were the shapes live in. No World as a subclass of PasteUpMorph, no globals such as World, ActiveWorld, Hand. ActiveHand, etcs..
The world has a mouse and a keyboard, which take care of events announced by the world. For example GMouse>>down: aDisplayPosition, would take care of transforming the display position into a world position, into a view position, into a scene position, and finally notifying the proper shape under the mouse that it has been clicked at a certain local position. GShape>>clickedAt: , GShape>>secondaryClickedAt:, etc.. No Events hierarchy, or the awful switch currently in HandMorph ( generateMouseEvent: or generateKeyboardEvent:).
I have a "Gaucho" system working now, with GShape (instead of Morphs), using the simple new layouts developed by Juan in CUIS, uniform usage of keybindings across the whole GShape hierarchy, amongst other goodies. It's still tailored to be a Morphic replacement for Gaucho, so first i need to polish a few things prior to releasing it.
For example, i'm going to ditch my current scalable canvas implementation, in favor of Athens.
Hope that very soon i can provide more details, but my plans are to release it as part of the next Gaucho version, to provide a working example.
Fernando
Hi Fernando, This sounds very interesting! Do you have a rich text widget? ;-) Cheers, Bernhard Am 25.11.2011 um 11:00 schrieb Fernando Olivero:
Dear all,
I've been working on a hole replacement of Morphic myself, because if was tired of fixing Morphic (or porting CUIS Morphic into Pharo), and found much more productive the approach of rewriting it from scratch.
In my expierience, i was 100% more productive by not trying to be backward compatible with Morphic, Polymorph , etc.
I found it easier to come up with a new set of widgets (EntryField, AutoCompletionEntryField, Button, Label, Column, Row, ScrollableColumns) from scratch. They are all fairly tested also.
Maybe it's time to move on, and develop from the ground up a Morphic-like successor, instead of fixing the current Morphic. There's no problem with preserving the current UI for all the apps that are out there, and provide a cleaner, simpler UI framework for the new apps.
Regarding the new "morphic", I only assume that i have a scalable canvas, and the vm's notifying me of the user events. On top of that i recreated a World, that can have multiple views. There's only one World at a given time. Views are presented within the world in a given viewport, and present a scene. Scene are were the shapes live in. No World as a subclass of PasteUpMorph, no globals such as World, ActiveWorld, Hand. ActiveHand, etcs..
The world has a mouse and a keyboard, which take care of events announced by the world. For example GMouse>>down: aDisplayPosition, would take care of transforming the display position into a world position, into a view position, into a scene position, and finally notifying the proper shape under the mouse that it has been clicked at a certain local position. GShape>>clickedAt: , GShape>>secondaryClickedAt:, etc.. No Events hierarchy, or the awful switch currently in HandMorph ( generateMouseEvent: or generateKeyboardEvent:).
I have a "Gaucho" system working now, with GShape (instead of Morphs), using the simple new layouts developed by Juan in CUIS, uniform usage of keybindings across the whole GShape hierarchy, amongst other goodies. It's still tailored to be a Morphic replacement for Gaucho, so first i need to polish a few things prior to releasing it.
For example, i'm going to ditch my current scalable canvas implementation, in favor of Athens.
Hope that very soon i can provide more details, but my plans are to release it as part of the next Gaucho version, to provide a working example.
Fernando
Fernando olivero-2 wrote
found much more productive the approach of rewriting it from scratch.
Me too. I always started using Morphic, but every time I got stuck, I would go deeper and deeper and always end up starting to make my own TextMorph, lol. Fernando olivero-2 wrote
No World as a subclass of PasteUpMorph
Glad to hear that. PasteUpMorph has identity issues :) Fernando olivero-2 wrote
Hope that very soon i can provide more details, but my plans are to release it as part of the next Gaucho version, to provide a working example.
Excellent, thanks! -- View this message in context: http://forum.world.st/Morphic-replacement-tp4106870p4113468.html Sent from the Pharo Smalltalk mailing list archive at Nabble.com.
So, when is this release to be expected? Cheers, Doru On Sun, Nov 27, 2011 at 10:51 PM, Sean P. DeNigris <sean@clipperadams.com> wrote:
Fernando olivero-2 wrote
found much more productive the approach of rewriting it from scratch.
Me too. I always started using Morphic, but every time I got stuck, I would go deeper and deeper and always end up starting to make my own TextMorph, lol.
Fernando olivero-2 wrote
No World as a subclass of PasteUpMorph
Glad to hear that. PasteUpMorph has identity issues :)
Fernando olivero-2 wrote
Hope that very soon i can provide more details, but my plans are to release it as part of the next Gaucho version, to provide a working example.
Excellent, thanks!
-- View this message in context: http://forum.world.st/Morphic-replacement-tp4106870p4113468.html Sent from the Pharo Smalltalk mailing list archive at Nabble.com.
-- www.tudorgirba.com "Every thing has its own flow"
Fernando Olivero <fernando.olivero@...> writes:
Dear all,
I've been working on a hole replacement of Morphic myself, because if was tired of fixing Morphic (or porting CUIS Morphic into Pharo), and found much more productive the approach of rewriting it from scratch.
Hi, I'm new to smalltalk and I'm looking for a gui toolset. I was thinking to do the same like you did because it's hard to find information about Morphic, ... Where could I get that code ?
participants (10)
-
Alexandre Bergel -
Bernhard Pieber -
Douglas Brebner -
Fernando Olivero -
Igor Stasenko -
pasduti -
Schwab,Wilhelm K -
Sean P. DeNigris -
Stéphane Ducasse -
Tudor Girba