This might call for a setAutoSize() function on either
DynLayer or TemplateManager.

lyr.setAutoSize(true) // will adjust the size of the
layer everytime its content changes or a new child is
added.

lyr.setAutoSize(false) // will disable auto-resize

Sometime ago I had create such a function for use in
one of my test systems. Should this function be added
to DynLayer or to TemplateManager?

--
Raymond Irving


--- [EMAIL PROTECTED] wrote:
> 
> Okay, what is the correct way to do the following
> then:
> 
>         Have containers sized so that the entirety of
> their contents are
>         visible.
> 
> 
> I have a template that I change the content of. I
> want the object it
> is in display the entire template contents.
> 
> And so on up the tree of containers till I get to
> the dynapi.document.
> 
> Basically, I have templates and other objects that
> change as the user
> interacts with the page. I want the entire content
> to be visible to
> the user.
> 
> 
> 
> > Hi,
> > 
> > Let me see if I can explain what's on:
> > 
> > 
> > DynAPI.onLoad(init);
> > function init() {
> >     var body = 'I am a simply layer, what is my size,
> > oldWidth is my size before we fill in a template
> > field, newWidth is the size afterwards. [EMAIL PROTECTED]';
> >     var sizeTemplate = new Template(body);
> >     dynapi.document.addChild(sizeTemplate);
> >     
> >     // ^ At this point sizeTemplate is created and
> given
> > a 
> >     // width and a height. This is by design. if no
> > height or width
> >     // was specified then DynAPI will assign a height
> and
> > a width to 
> >     // the layer once it's created. 
> >     
> >     
> >     sizeTemplate.addChild(new
> DynLayer('hello'),'field');
> >     sizeTemplate.generate();
> > 
> >     // ^ At this point the DynLayer is added to the
> > templated but 
> >     // due to text wrapping you'll not see the word
> > "hello"
> >     // to see the new layer modify your code above to
> > reflect:
> >     // var sizeTemplate = new
> > Template(body,null,null,null,50);
> >     
> > The problem you're having is that once the he
> Template
> > gets a width assigned to it, it will start text
> > wrapping. That's why you are not able to see the
> > 'hello' layer or get a different width. The
> > getContentHeight() function should however reflect
> a
> > new height.
> > 
> > Notes. If you call getWidth() on a layer that you
> did
> > specify a width for you'll get a 0 or null value.
> > 
> > 
> > --
> > Raymond Irving
> > 
> > --- [EMAIL PROTECTED] wrote:
> > > I originally had my size check in the onload
> > > function. Then I moved it
> > > to the body as I miss-understood Raymond's
> response.
> > > 
> > > This test file has the code back in the
> onload/init
> > > function per
> > > Raymond's last message. The behavior is the
> same.
> > > 
> > > 
> > > 
> > ---------------------------------
> > GetWidth & GetContentWidth test page
> > dynapi.library.setPath('dynapi3x/src/')
> > dynapi.library.include('dynapi.library');
> > dynapi.library.include('dynapi.api');
> >
>
dynapi.library.include('TemplateManager');DynAPI.onLoad(init);function
> > init() {    var body = 'I am a simply layer, what is
> my
> > size, oldWidth is my size before we fill in a
> template
> > field, newWidth is the size afterwards. [EMAIL PROTECTED]';
> var
> > sizeTemplate = new Template(body);
> > dynapi.document.addChild(sizeTemplate);             var
> oldWidth
> > = sizeTemplate.getWidth();  var oldContentWidth =
> > sizeTemplate.getContentWidth();
> > sizeTemplate.addChild(new
> DynLayer('hello'),'field');
> > sizeTemplate.generate();    sizeTemplate.setLocation(
> 0,
> > 100 );      sizeTemplate.setBgColor( '#FFFFFF' );           var
> > newWidth = sizeTemplate.getWidth(); var
> > newContentWidth = sizeTemplate.getContentWidth();
> var
> > wLayer;     if( oldWidth == newWidth ) {            wLayer = new
> > DynLayer( 'oldWidth == newWidth = ' +
> > sizeTemplate.getWidth() );  } else {                wLayer = new
> > DynLayer( 'oldWidth(' + oldWidth + ') !=
> newWidth(' +  
> >      sizeTemplate.getWidth() + ')' );       }
> > wLayer.setLocation( 0, 200 );
> > dynapi.document.addChild( wLayer );
> wLayer.setBgColor(
> > '#FFFFFF' );        var cLayer      if( oldContentWidth ==
> > newContentWidth ) {         cLayer = new DynLayer(
> > 'oldContentWidth == newContentWidth = ' +
> > sizeTemplate.getContentWidth() );   } else {        
> cwLayer =
> > new DynLayer( 'oldContentWidth(' + oldContentWidth
> +
> > ') != newContentWidth(' +                   
> > sizeTemplate.getContentWidth() + ')' );     }
> > cLayer.setLocation( 0, 300 );
> > dynapi.document.addChild( cLayer );
> cLayer.setBgColor(
> > '#FFFFFF'
> > );}dynapi.document.insertAllChildren();Simple page
> to
> > try to demonstrate issues with the getWidth
> > andgetContentWidth in dynapi3       
> > 
> 
> 
>
-------------------------------------------------------
> This SF.Net email sponsored by: Free pre-built
> ASP.NET sites including
> Data Reports, E-commerce, Portals, and Forums are
> available now.
> Download today and enter to win an XBOX or Visual
> Studio .NET.
>
http://aspnet.click-url.com/go/psa00100003ave/direct;at.aspnet_072303_01/01
> _______________________________________________
> Dynapi-Help mailing list
> [EMAIL PROTECTED]
>
https://lists.sourceforge.net/lists/listinfo/dynapi-help


__________________________________
Do you Yahoo!?
Yahoo! SiteBuilder - Free, easy-to-use web site design software
http://sitebuilder.yahoo.com


-------------------------------------------------------
This SF.Net email sponsored by: Free pre-built ASP.NET sites including
Data Reports, E-commerce, Portals, and Forums are available now.
Download today and enter to win an XBOX or Visual Studio .NET.
http://aspnet.click-url.com/go/psa00100003ave/direct;at.aspnet_072303_01/01
_______________________________________________
Dynapi-Help mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/dynapi-help

Reply via email to