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