Hi everybody!
Using specificCreate didn't work for me when using removeChild before
resizing the browser window. specificCreate will try to use the layers from
the parent.doc.recycled[] array. These "recycled" layers didn't show up
after resize as far as I can remember...
First of all, I added a function to DynObject, which will call
specificRecreate:
DynObject.prototype.recreate=function() {
if (this.created) this.specificRecreate();
var l=this.children.length;
for (var i=0;i<l;i++) this.children[i].recreate();
};
DynObject.prototype.specificRecreate=function() {};
The specificRecreate function is identical to specificCreate besides not
using recycled layers (it will always use "new Layer()") and paying
attention to changed clipping values.
Furthermore, I have extended DynDocument:
DynDocument.prototype.resizeHandler=function() {
// checks for changed width or height in NS4
var w=this.getWidth();
var h=this.getHeight();
this.findDimensions();
if (is.ns4 && (w!=this.getWidth() || h!=this.getHeight())) {
l=this.children.length;
for( var i=0;i<l;i++) this.children[i].recreate();
};
};
Last but not least, I have added this line to the DynDocument() constructor:
DynAPI.addResizeFunction(this+".resizeHandler()");
which will automatically add the resize check to the onresize event.
Please note that I'm using a highly customized version of DynAPI for my
current projects which is adepted to my needs, so the above code might not
run out of the box with DynAPI 2.53. If somebody's interested, I will
implement NS4 DynLayer recreation for the current DynAPI CVS version on
Sunday...
Best regards,
Christof
> Michael Pemberton wrote:
>
> if you look more closely at the dynlayer code, you'll see that there is no
> longer a createElement or deleteElement method. These were
> removed and replaced
> with the more global specificCreate and specificRemove methods.
>
> I am not sure exactly how the new methods, it may be possible to
> use these as
> part of the redraw.
>
> Doug Melvin wrote:
>
> > that's the stuff..
> > Can we use that?
> > ----- Original Message -----
> > From: "Joachim Lundgren" <[EMAIL PROTECTED]>
> > To: <[EMAIL PROTECTED]>
> > Sent: Thursday, May 24, 2001 7:06 PM
> > Subject: Re: [Dynapi-Help] Resize issues...
> >
> > > At 2001-05-25 00:46, you wrote:
> > > >Your right, a dynlayer is a layer.
> > > >I meant that they use no divs or spans, only layers, while we do, at
> > least
> > > >in the widgets.
> > > >I was just trying to figure out how come you could resize
> their page as
> > much
> > > >as you want, in NS4.
> > > >They don't use any onresize handler that I can see.
> > >
> > > It isn't needed. When resizing NS4 the browser just throws away the
> > representation and recreates the HTML part. The different URLs
> you all have
> > given examples of use document.write() WHILE the page is
> loading, not after
> > as is done in DynAPI.onLoad().
> > >
> > > The "fix" that was in the code previously had something along
> these lines:
> > >
> > > DynDocument.resizeHandler = function() {
> > > var dyndoc = this.dyndoc;
> > > var w = dyndoc.getWidth();
> > > var h = dyndoc.getHeight();
> > > dyndoc.findDimensions();
> > > if(is.ns4 && (w!=dyndoc.getWidth() || h!=dyndoc.getHeight()))
> > > dyndoc.recreateAll();
> > > if(DynAPI.onResize)
> > > DynAPI.onResize();
> > > }
> > >
> > > window.onresize = DynDocument.resizeHandler;
> > >
> > > DynDocument.prototype.recreateAll = function() {
> > > this.setBgColor(this.bgColor);
> > > this.setFgColor(this.fgColor);
> > > for(var i=0; i<this.children.length; i++) {
> > > var child = this.children[i];
> > > if(child.created) {
> > > child.elm = null; // !!!!!!
> > > child.deleteElement();
> > > child.createElement();
> > > }
> > > }
> > > }
> > >
> > > I think the deleteElement method was also fixed to handle this case.
> > >
> > > /Lunna
> > >
> > >
> > > _______________________________________________
> > > Dynapi-Help mailing list
> > > [EMAIL PROTECTED]
> > > http://lists.sourceforge.net/lists/listinfo/dynapi-help
> >
> > _______________________________________________
> > Dynapi-Help mailing list
> > [EMAIL PROTECTED]
> > http://lists.sourceforge.net/lists/listinfo/dynapi-help
>
> --
> Michael Pemberton
> [EMAIL PROTECTED]
> ICQ: 12107010
>
>
>
>
> _______________________________________________
> Dynapi-Help mailing list
> [EMAIL PROTECTED]
> http://lists.sourceforge.net/lists/listinfo/dynapi-help
>
_______________________________________________
Dynapi-Help mailing list
[EMAIL PROTECTED]
http://lists.sourceforge.net/lists/listinfo/dynapi-help