From: Brandon M. <bnd...@ho...> - 2000-12-05 21:27:43
|
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" <bil...@us...> To: <dyn...@li...> 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 <ma...@ca...> 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 > > Dyn...@li... > > 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 > Dyn...@li... > http://lists.sourceforge.net/mailman/listinfo/dynapi-dev |