From: Peter R. <ant...@gm...> - 2003-10-28 12:41:47
|
... sorry for the repost - my mua always insists to send with my default emailadress as sender ... :( Hi Daniel and all, here's a fixed version of the panelbar.js and the updated example. You'll find the following changes in there: - Added proper prototype-command: var p = dynapi.setPrototype('PanelBar','DynLayer'); - Removed csscontent and cssmenu from constructor - Moved most of the init-code to the PreCreate-event. That way there is no problem with subclassing anymore. - Added the possibility to construct a PanelBar with pure HTML instead of layers, i.e. var pb = new PanelBar ('My Menu', 'My Content',...) creates a proper PanelBar. You can still construct the PanelBar with layers of course! - Added getContentLayer and getMenuLayer I discussed the whole panelbar-stuff with Daniel yesterday. We decided to build a window-widget with the following functionality: - Menubar, Content, Status-Bar (optional) - Dragable - Minimize, Maximize, Resize, Close with each action firing an event (especially close might be important ;) - Based on ViewPane or something similar (scrolling mechanism) - When using multiple windows add a proper focus handling A widget of that kind I need anyway for my current project so I think it is best to develop it as a basic and reusable widget for the dynapi. And Daniel already comited to help or better start writing that thing ;) Has anyone already done such thing (a window-widget)? Any other suggestions, comments etc. are welcome, of course! Regards, Peter ..: If wanted I can send diffs of course... Daniel Tiru wrote: > Hi Peter, I am the one to blame :) > > Have had very little time right now, but I will try to fix the panel > bar, would also be great to see what you have done with it. > > Regards > Daniel Tiru > > -----Original Message----- > From: dyn...@li... > [mailto:dyn...@li...] On Behalf Of Peter > Romianowski > Sent: den 27 oktober 2003 15:41 > To: dyn...@li... > Subject: Re: [Dynapi-Dev] Problems in inheritence (General and PanelBar) > > > Hi, > > >>Instead of var p = PanelBar.prototype = new DynLayer >>it should be var p = dynapi.setPrototype('PanelBar','DynLayer'); > > > Ahhh, that makes everything clear! Works now. Will this be changed in > the CVS too? > > This does not solve the problem I have with the constructor. I saw a > discussion about the PanelBar before where someone suggested to move > stuff out of the constructor. Will there be any fix to the PanelBar > regarding this "issue" (not able to subclass it)? > > Keep up the good work, > > Peter > > > >>-- >>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/ >> >> >>------------------------------------------------------- >>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.../ >> >> > > |