I remember going to a developer converence for Java and seeing a library
which had a special layout manager that allowed relativly layout of
components. They used "shocks, struts, and beams" to specify forces which
created final positions of layers. Using that concept, I came up with a
layout manager design which allowed the designer to specify, relative to any
side of the layer bounding box, the position of another layer. When
specifying a "force" the first layer is considered the anchor which the
other is placed relative.
Using shocks (or springs): the space between 2 objects had a minimum
distance, but no max. The objects would move to the max distance allowed
relative to any other force acting upon it.
Using struts: There is no minimum space greater than zero. But there is a
maximum distance that they can go. (Like an inverse spring) The objects
would move as close to each other relative to other forces.
Using beams: There is a specific distance between them. No more, no less.

Positions where specified with a vector. Distance: D and Angle: T

Ok... someone write it!

----- Original Message -----
From: "Bill Wheaton" <[EMAIL PROTECTED]>
To: <[EMAIL PROTECTED]>
Sent: Tuesday, December 05, 2000 3:33 PM
Subject: Re: [[Dynapi-Dev] Layout]


> Indeed so, Malx, rubbery as hell.  At least I hope I can get there, and
with
> some rules that will keep it from being as difficult as Java.
>
> I have a dynlayer with two children.
> The one on the left contains a number of LoadPanels,
> and the one on the right contains a bunch of buttons made of
> text, images, and/or gridbuttons.  This panel will pushed to be as wide
> as the widest of these individual buttons.
> I position the whole widget on the left of the window, so that only
> the buttons show. When the widget loads, each of the LoadPanels loads.
> When a button is clicked, I show the correct loadpanel and slide the whole
> widget out so you can see it.  Clicking on the same button again slides it
> back in, but clicking a different button merely shows its loadpanel.
> The button that is marked (by virtue of being clicked) is the active one,
with
> its corresponding loadpanel visible.
> Its really more complicated though.  I have it so that it will work on all
> four sides.  (later, I plan on making it redockable too)
> We needed it for an internal web based "Skills and Certifications"
database
> written in Domino R5, for resource allocation, and we were running out of
> screen space.  Someone saw my website and asked if I could do something
like
> it for the company.
> (I'm a developer for marchFIRST  http://www.marchfirst.com)
>
> Alexey Medvedev <[EMAIL PROTECTED]> wrote:
> > On 5 Dec 2000, Bill Wheaton wrote:
> >
> > > instanciated, the label is added when the button is created, now its
size
> is
> > > known, and therefore, the label size can be set.
> >
> > Isn't this bringing up subject of dynamic layout?
> >   The one like in Java - you telling how much space is given to
> >  object (botton/label/scroll) and it sets it's size accordinly.
> >    If you make resize - all resizes as well.
> >
> > Also to get initial sizes of all - you need to specify
> >  min/max size of object. Also.... it is no in Java ... need to specify
> >  it's resistance - so if you resize pannel/dynwindow/dynalayer all
> >  objects will resize themselfs so to get same value of "force"
accordingly
> >  to theirs "resistance".
> > It is like attaching a net of rubbery strings - they
> >     will strech until "forces" will became same for all rubbery parts.
> >
> > Malx
> >
> > _______________________________________________
> > Dynapi-Dev mailing list
> > [EMAIL PROTECTED]
> > http://lists.sourceforge.net/mailman/listinfo/dynapi-dev
>
>
> ____________________________________________________________________
> Get free email and a permanent address at http://www.netaddress.com/?N=1
> _______________________________________________
> Dynapi-Dev mailing list
> [EMAIL PROTECTED]
> http://lists.sourceforge.net/mailman/listinfo/dynapi-dev

_______________________________________________
Dynapi-Dev mailing list
[EMAIL PROTECTED]
http://lists.sourceforge.net/mailman/listinfo/dynapi-dev

Reply via email to