... 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: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] On Behalf Of Peter
Romianowski
Sent: den 27 oktober 2003 15:41
To: [EMAIL PROTECTED]
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 <[EMAIL PROTECTED]> 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('[EMAIL PROTECTED]',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
[EMAIL PROTECTED]


http://www.mail-archive.com/[EMAIL PROTECTED]/


__________________________________
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
[EMAIL PROTECTED] http://www.mail-archive.com/[EMAIL PROTECTED]/




Attachment: panelbar.js
Description: JavaScript source

Title: DynAPI Examples - PanelBar & Stacker

    
    
        

    




Reply via email to