Just off the heals of the 2.55 release I'm dropping the bomb of my complete revamp of 
DynAPI in the works.  This will be a very big update with significant syntax changes 
and completely rewritten widgets.  Backward compatibility for the core will be 
provided for at least the first release.  But all widgets will have to be updated 
because I've stripped out the onresize event and going with the setSize overwriting 
for the widgets from now on.  I will be rewritting the existing widgets and adding a 
few new ones before any release is made.

I'm partially done my revamp of the core system (dynapi.js, dynlayer, dyndoc).  Among 
other changes I've got complete inline layer creation working - which is is 
essentially how DynAP1 worked.  You can add dynlayers to the document before onLoad, 
and optionally insert the html code for all of them before load also, by doing this:

mylayer = DynAPI.document.addChild( new DynLayer() );

DynAPI.document.onLoad(init);
function(init) {
  alert(mylayer);
}
</script>
<body>
<script>
DynAPI.document.insertAllChildren();
</script>
</body>

I may also add relative positon compatibility to dynlayer since there's no reason why 
it can't be added now.  And with this change a significant amount of DynAPI should 
work in other DOM browsers like Opera and Konquerer.

My next step is it to rexamine the entire event system and optimize where possible.

A client I'm doing some custom work for (Interactive Planet - http://www.ipi.net) is 
generously donating a MacIntosh specifically for DynAPI development.  So from now on 
I'll be able to personally ensure that things work as well as possible on all Mac 
browsers.

You can see my first major new widget, a skinnable Window with Windows95 and WindowsXP 
themes here:
http://www.dynapi.net:81/dynapi-beta/window/window.html

I will be rewritting other widgets with the same theme system.

Some other things to note:

 - I'm changing the first argument of DynLayer to be "HTML", because I'm sick of 
having to do a separate setHTML() command each time.  There's too many arguments for 
anybody to remember so from now on there will be only 5 (html,x,y,width,height,color) 
because those are by far the most common.

 - with the removal of the resize event for the time being it won't be possible to 
update child layer sizes when their parent resizes (without writing a master widget to 
do so).  To replace that technique I plan to write some kind of layout manager system 
and/or anchoring system to dynlayer.

 - the new Debugger that can be seen in the Window demo, it's great for finding logic 
errors.

 - I have a partially complete Graphics object (previously named Canvas) that 
implements VML for Win/IE5+ and buteforce layer drawing for others.  It could be 
updated when SVG is available.

 - My eyes go buggy after trying to update all the manually whitespace compressed 
code.  To save my eyes I'll provide a whitespaced compressed version of the core files 
for major releases.  My little jspack script isn't sophisticated enough to catch 
missing semi-colons, so it has to be a manual process at least for now. 

 - I've been having some problems (Netscape4 as I recall) with using the package 
system.  Sometimes there's problems loading a page with a written script tag.  And if 
you make a compressed version you can't use it anyway.  I've taken that code out of 
dynapi.js and into separate file for now, I think it should be optional anyway.  
Eventually I'd like to make a better library management system that supports on the 
fly script loading.

When the new release is ready I'll thoroughly document what needs to be updated in 
your code for it to be compatible.

Regards,
Dan Steinman
[EMAIL PROTECTED]

_______________________________________________
Dynapi-Dev mailing list
[EMAIL PROTECTED]
http://www.mail-archive.com/dynapi-dev@lists.sourceforge.net/

Reply via email to