From: Raymond I. <xw...@ya...> - 2003-10-27 13:37:37
|
The problem PanelBar and isClass() is due to fact that the prototype was not created using dynapi.setPrototype() Instead of var p = PanelBar.prototype = new DynLayer it should be var p = dynapi.setPrototype('PanelBar','DynLayer'); -- Raymond Irving --- Peter Romianowski <ant...@gm...> wrote: > Hi, > > I have two problems here. First I cannot subclass > PanelBar until I > comment out some stuff in the constructor like that: > > function > PanelBar(lyrmnu,lyrcnt,mnuheight,x,y,w,h,mnucss,cntcss,minimized) > { > > this.DynLayer = DynLayer; > this.DynLayer(null,x,y,w,h,null); > > if (lyrmnu) { > this.x = x; > ... > > this.menu.setHTML(this._mnuhtml.replace('{@min}',this._mnuhtmlmax)); > } > > this.onPreCreate(PanelBar.PreCreateEvent); > this.onCreate(PanelBar.CreateEvent); > } > } > > Is there any common pattern how to avoid problems > with subclassing? Or > am I doing something totally stupid in trying to > subclass PanelBar? > > The next problem is that I can't enable the > dragevents on my subclass of > PanelBar until I change dragevent.js line 225 > (enableDragEvents): > > if(lyr.isClass('DynLayer')) > lyr.addEventListener(DragEvent.lyrListener); > > to > > lyr.addEventListener(DragEvent.lyrListener); > > That is bruteforce, I know ;) I just tried to figure > out where the > problem is. And I found that > myPanelBarSubclass.isClass('DynLayer') > yields false which I consider as wrong - it is a > DynLayer since it is a > subclass of PanelBar which is a subclass of > DynLayer! The quickest fix I > can imagine is to rewrite the isClass-method to tell > whether any > superclass matches the argument. I don't know if > this breaks something, > so I didn't try that yet. > > If I am trying to do something totally wrong then > please tell me! > Otherwise I will gladly help "fixing" the issues. > > Regards, > Peter > > default disclaimer: DynAPI rules! ;) > > > > ------------------------------------------------------- > This SF.net email is sponsored by: The SF.net > Donation Program. > Do you like what SourceForge.net is doing for the > Open > Source Community? Make a contribution, and help us > add new > features and functionality. Click here: > http://sourceforge.net/donate/ > _______________________________________________ > Dynapi-Dev mailing list > Dyn...@li... > http://www.mail-archive.com/dyn...@li.../ __________________________________ Do you Yahoo!? Exclusive Video Premiere - Britney Spears http://launch.yahoo.com/promos/britneyspears/ |