this was an old post that suddenly showed up - disregard.

----- Original Message -----
From: "Richard Bennett" <[EMAIL PROTECTED]>
To: <[EMAIL PROTECTED]>
Sent: 29 May, 2001 16:45
Subject: Re: [Dynapi-Help] Resize issues...


> Ok, fully working now, but there are a few issues with this technique, can
> they be fixed? otherwise documented, so we know when we have to reload the
> page instead.
>
> Testing resizing in NS4.08 on winME:
> *dynapi.gui.list.html - works well.
> * dynapi.api.create.htm - works well.
> * dynapi.ext.inline.htm - does not work - loses text
> * dynapi.event.dragevent.html - works well
> * dynapi.api.inputHtml.htm - works well
> * dynapi.event.keyevents.html - works well
> * dynapi.gui.pushpanel.html - works, but loses clipping, if the pushpanel
> has been used.
> * dynapi.util.thread.html - works well
> all animations work perfect, except:
> * dynapi.util.imganim.html - works ok if not animating, locks browser with
> error otherwise.
> * dynapi.gui.viewport.html - this is the one causing the size problem i
> think.
> * dynapi.gui.dynimage.html - this seems to be the culprit of imageanim's
> problems, it doesn't remember left/right unless a size has been set, and
> can't be used after resizing.
> * dynapi.gui.buttonimage.html - causes errors after resizing.
> * dynapi.gui.button.html - works ok.
> * dynapi.event.mouseevents.htm - works ok
>
> So the two main problems are with viewport, and dynimage, we have to fix
at
> least dynimage, or the whole thing isn't much use.
>
> Another thing, since DynAPI-X, NS4 suffers from horrible text selecting
when
> there are scroll-bars on the page , it seems the mousedown bubbles to the
> page, but the mouseup doesn't.
>
> I attached the files modified with resize-fix, and ns4events-fix for those
> who want to test.
>
> Cheers,
> Richard Bennett
>
> [EMAIL PROTECTED]
> www.richardinfo.com
> (Everything running on, and ported to DynAPI2.53)
> visit the DynAPI homepage (and FAQ) ::
> http://dynapi.sourceforge.net/dynapi/index.php?menu=1
> Browse (and search) the mailinglist here:
> http://www.mail-archive.com/index.php3?hunt=dynapi
>
> ----- Original Message -----
> From: "Michael Pemberton" <[EMAIL PROTECTED]>
> To: <[EMAIL PROTECTED]>
> Sent: 29 May, 2001 14:30
> Subject: Re: [Dynapi-Help] Resize issues...
>
>
> > In this case, all you need to do is alter them as such:
> > DynLayer.prototype._OldK_specificCreate =
> DynLayer.prototype.specificCreate
> > DynLayer.prototype.specificCreate = function(override) {
> >     this._OldK_specificCreate(override)
> >     this.assignKeyEvents()
> > }
> >
> > this will then pass the override variable that we use to force the
> recreation.
> >
> > Richard Bennett wrote:
> >
> > > Ah yes, constructor was the keyword I missed first time 'round.
> > > Now it works, but still not if you include mouse.js, or keyboard.js.
> > >
> > > They are overwriting the specificCreate method here:
> > > line 124 mouse.js:
> > >
> > > // DynLayer Specific
> > > DynLayer.prototype._OldK_specificCreate =
> DynLayer.prototype.specificCreate
> > > DynLayer.prototype.specificCreate = function() {
> > >  this._OldK_specificCreate()
> > >  this.assignKeyEvents()
> > > }
> > >
> > > By passing true or false, you can switch resize fix on or off, but I'm
> not
> > > sure how this should be done properly.
> > >
> > > Also, on pages with lots of layers, like a treeview, the resize-fix
will
> > > crash ns4 after a few resizes, maybe a setTimeout, to slow the
> rebuilding a
> > > little might help, otherwise an easy way to disableNSResizeFix would
be
> > > needed, maybe replacing it with a simple refresh.
> > >
> > > Richard.
> > >
> > > ----- Original Message -----
> > > From: "Michael Pemberton" <[EMAIL PROTECTED]>
> > > To: <[EMAIL PROTECTED]>
> > > Sent: 29 May, 2001 04:05
> > > Subject: Re: [Dynapi-Help] Resize issues...
> > >
> > > > where is the line located?  it should be in the DynDocument
> constructor.
> > > if it
> > > > is not, it will cause problems.
> > > >
> > > > Richard Bennett wrote:
> > > >
> > > > > You are right that the problem was there, but I couldn't find the
> > > correct
> > > > > syntax.
> > > > > This does not work:
> > > > > DynAPI.addResizeFunction(this+'.resizeHandler()');
> > > > >
> > > > > this does, for testing:
> > > > > DynAPI.addResizeFunction('DynAPI.document.resizeHandler()');
> > > > >
> > > > > The resizing works ok, if the event files are not included, once
you
> > > > > include:
> > > > > DynAPI.include('dynapi.event.*');
> > > > >
> > > > > the resizing stops working.
> > > > > it's a step in the right direction though.
> > > > >
> > > > > Richard.
> > > > > PS, Any admins, the Dynapi site is still down.
> > > > >
> > > > > ----- Original Message -----
> > > > > From: "Michael Pemberton" <[EMAIL PROTECTED]>
> > > > > To: <[EMAIL PROTECTED]>
> > > > > Sent: 28 May, 2001 05:03
> > > > > Subject: Re: [Dynapi-Help] Resize issues...
> > > > >
> > > > > > check your code.  it is possible that instad of reading
> > > > > "this".resizeHandler(),
> > > > > > you have left out the " marks and it will be trying to run the
> method
> > > > > attached
> > > > > > to the window object and now the dyndocument.
> > > > > >
> > > > > > Richard Bennett wrote:
> > > > > >
> > > > > > > I tried implementing this in release 2.53 (not latest cvs) but
> kept
> > > > > getting
> > > > > > > this error in NS4:
> > > > > > >
> > > > > > > JavaScript Error: file:///C|/My Documents/My
> > > > > > > Webs/dhtml/daily snapshots/Copy (3) of
> > > > > > > dynapi3/dynapi/src/dynapi.js, line 231:
> > > > > > >
> > > > > > > missing ] after element list.
> > > > > > >
> > > > > > > [object Window].resizeHandler()
> > > > > > > .......^
> > > > > > >
> > > > > > > Which I couldn't make much sense of.
> > > > > > > Richard.
> > > > > > >
> > > > > > > ----- Original Message -----
> > > > > > > From: "Christof Pohl" <[EMAIL PROTECTED]>
> > > > > > > To: <[EMAIL PROTECTED]>
> > > > > > > Sent: 27 May, 2001 22:11
> > > > > > > Subject: RE: [Dynapi-Help] Resize issues...
> > > > > > >
> > > > > > > > I have implemented the necessary changes for fixing the NS4
> resize
> > > bug
> > > > > > > > following your suggestions. I ended up in simply changing
> > > > > dyndocument.js
> > > > > > > and
> > > > > > > > dynlayer.js.
> > > > > > > >
> > > > > > > > I have not checked wether these changes affect memory usage,
> but I
> > > > > have a
> > > > > > > > feeling that recreating layers will not cause leaking (NS
> itself
> > > > > destroys
> > > > > > > > the original layers on resize, and the recycled array is set
> to
> > > "[]"
> > > > > in
> > > > > > > the
> > > > > > > > specificCreate function). Maybe somebody with a working leak
> > > testsuite
> > > > > > > will
> > > > > > > > test this out.
> > > > > > > >
> > > > > > > > Here's my CVS diff (I don't have CVS access so I could not
> check
> > > in my
> > > > > > > > changes):
> > > > > > > >
> > > > > > > >
> > > > > > > > /// START /////////////////////////////
> > > > > > > >
> > > > > > > > cvs -z9 diff (in directory C:\dynapi\src\lib\dynapi\api\)
> > > > > > > > cvs server: Diffing .
> > > > > > > > Index: dyndocument.js
> > > > > > > >
> > > ===================================================================
> > > > > > > > RCS file:
> > > /cvsroot/dynapi/dynapi/src/lib/dynapi/api/dyndocument.js,v
> > > > > > > > retrieving revision 1.12
> > > > > > > > diff -r1.12 dyndocument.js
> > > > > > > > 16a17
> > > > > > > > > DynAPI.addResizeFunction(this+".resizeHandler()");
> > > > > > > > 58a60,68
> > > > > > > > > DynDocument.prototype.resizeHandler=function() {
> > > > > > > > > var w=this.w;
> > > > > > > > > var h=this.h;
> > > > > > > > > this.findDimensions();
> > > > > > > > > if (is.ns4 && (w!=this.w || h!=this.h)) {
> > > > > > > > > var l=this.children.length;
> > > > > > > > > for (var i=0;i<l;i++)
this.children[i].specificCreate(true);
> > > > > > > > > };
> > > > > > > > > };
> > > > > > > > 60d69
> > > > > > > > < DynAPI.addResizeFunction("if (DynAPI.document)
> > > > > > > > DynAPI.document.findDimensions();");
> > > > > > > > Index: dynlayer.js
> > > > > > > >
> > > ===================================================================
> > > > > > > > RCS file:
> /cvsroot/dynapi/dynapi/src/lib/dynapi/api/dynlayer.js,v
> > > > > > > > retrieving revision 1.51
> > > > > > > > diff -r1.51 dynlayer.js
> > > > > > > > 29,30c29,30
> > > > > > > > < DynLayer.prototype.specificCreate=function() {
> > > > > > > > < if (this.created||!this.parent||this.elm!=null) return;
> > > > > > > > ---
> > > > > > > > > DynLayer.prototype.specificCreate=function(recreate) {
> > > > > > > > > if
(!recreate&&(this.created||!this.parent||this.elm!=null))
> > > return
> > > > > > > null;
> > > > > > > > 50c50
> > > > > > > > < if (recycled && recycled.length>0) {
> > > > > > > > ---
> > > > > > > > > if (recycled && recycled.length>0 && !recreate) {
> > > > > > > > 53a54
> > > > > > > > > if (recreate) this.parent.doc.recycled=[];
> > > > > > > >
> > > > > > > > *****CVS exited normally with code 1*****
> > > > > > > >
> > > > > > > > /// STOP /////////////////////////////
> > > > > > > >
> > > > > > > >
> > > > > > > > Best regards,
> > > > > > > >
> > > > > > > > Christof
> > > > > > > >
> > > > > > > >
> > > > > > > > > -----Original Message-----
> > > > > > > > > From: [EMAIL PROTECTED]
> > > > > > > > > [mailto:[EMAIL PROTECTED]]On Behalf
Of
> > > Michael
> > > > > > > > > Pemberton
> > > > > > > > > Sent: Sunday, May 27, 2001 2:53 PM
> > > > > > > > > To: [EMAIL PROTECTED]
> > > > > > > > > Subject: Re: [Dynapi-Help] Resize issues...
> > > > > > > > >
> > > > > > > > >
> > > > > > > > > I just made the alterations to the afroapi and they are
> GREAT.
> > > > > > > > >
> > > > > > > > > I suggest that instead we use the following method:
> > > > > > > > >   - use a variable to override the use of recycled layers.
> this
> > > > > > > > > would mean 1
> > > > > > > > > specificCreate method, not 2.
> > > > > > > > >   - I found that there was no need to recreate the
children
> of
> > > > > > > > > layers.  these
> > > > > > > > > were atomatically recreated when the parent is.  That way,
> we
> > > only
> > > > > need
> > > > > > > to
> > > > > > > > > recreate the children of the dyndocument.
> > > > > > > > >   - since NS4 is the only browser that requires this
redraw,
> the
> > > > > > > > > method should
> > > > > > > > > only be called by ns4.
> > > > > > > > >   - if the browser being used IS ns4, we need to NOT add
the
> > > > > > > > > findDimensions()
> > > > > > > > > call as a resize event.
> > > > > > > > >
> > > > > > > > > other than that, all seems fine for inserting it into the
> CVS.
> > > > > > > > > version 2.60,
> > > > > > > > > here we come : )
> > > > > > > > >
> > > > > > > > > Christof Pohl wrote:
> > > > > > > > >
> > > > > > > > > > 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
> > > > > > > > >
> > > > > > > > > --
> > > > > > > > > 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
> > > > > > > >
> > > > > > >
> > > > > > > _______________________________________________
> > > > > > > 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
> > > >
> > > > --
> > > > 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
> >
> > --
> > 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

Reply via email to