The idea behind ordinates is to deal with morphic layouts. Any morph , can define an arbitrary set of ordinates, then another morph can say - lets my ordinate 'center' be a function which calculates its position by taking another morph ordinate into account. There can be infinite number of combinations how one morph's layout can depend on another one. And ordinate system can allow any of them - its up to you to define a function which calculates morph's position based on another coordinates. Example: morph A is rectangle and defines following ordinates: - origin = coordinate(x1 @ y1) - corner = coordinate(x2 @ y2) - center = function(origin + corner / 2 ) - topright = function (corner x , origin y) - bottomleft = function (origin x, corner y) - width = function ( x2-x1 ) - height = function ( y2-y1) Now morph B , is a circle and defines following ordinates: - center - radius now suppose i want that morph B should always be drawn in a center of morph A, with diameter = height of morphA : center = function( morphA center) radius = function (morphA height / 2 ) Now, if you try to play with morphA, by dragging it over desktop or resizing it - the morphB will automagically update its position as well. 2008/10/2 Gary Chambers <gazzaguru2@btinternet.com>:
Well, I've done a bit with CSS (3.0) not fully looked though, just enough that our Report Builder file format (XML) is roughly equivalent.
Just a thought about states of "widgets" I've seen in the wild... base Morphic doen't honour any of them by default... hence lots of extra code for dealing with interactive states in eveyone's subclasses/overrides. To be fair it is not appropriate to every Morph... just more common with "standard" (if you like) styles of widgets.
As for ordinates, it was on IRC with Sig... tricky to track down logs, did find a link for a related dev-list email part of it though:
http://www.nabble.com/Re:--squeak-dev--Subcanvas-p18270830.html
Gary.
----- Original Message ----- From: "Michael Rueger" <m.rueger@acm.org> To: "An open mailing list to discuss any topics related to an open-sourceSmalltalk" <pharo-project@lists.gforge.inria.fr> Sent: Thursday, October 02, 2008 6:42 PM Subject: Re: [Pharo-project] Formalised UI
Gary Chambers wrote:
Just some thoughts picked up over the years. Things that all Morphs should have, at least, defaults for...
UI States:
how does this list compare to the list of possible CSS states?
Transitions would be nice, but might be a bit overboard... Igor and I discussed a framework based on 4 dimensional representations being function based (I think we coined the phrase "Ordinates").
Can you say more about this?
Michael
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
-- Best regards, Igor Stasenko AKA sig.