Just change the .createElement() call to DynLayer_createElement(dlyr).
I changed the theme functions for Button, ScrollBar, PushPanel, and Scrollpane to
default to the standard images. I should have put a (url) parameter in those
functions. This can be changed quite easily:
function MetalScrollPane(url) {
if (!url) url = DynAPI.librarypath+'images/scrollpane/';
...
}
I mentioned I didn't update List yet. It probably just has to be slightly modified in
relation to the create and precreate events.
Dan
On Fri, Dec 15, 2000 at 08:20:48PM +1100, Peter Luxmore wrote:
> Dan
>
> Just been testing what you have currently in CVS. I am using scrollpane and
>loadpanel and the code is below.
>
> 1. In NS4.7 if you resize the browser window with the mouse, (especially making it
>larger), results in the following error:
>
> JavaScript Error:
> http://localhost/dynapi/src/lib/dynapi/api/dyndocument.js,
> line 53:
>
> this.children[i].createElement is not a function.
>
> 2. MetalScrollPaneURL is not working in NS4.7 or IE5.1 and the default scrollbar
>images are displayed.
>
> 3. The list widget is broken. Produces the following error in IE5.1:
>
> Line: 33
> Char: 5
> Error: 'css' is not an object
> Code: 0
> URL: http://localhost/CFCalc2/washerSelect.cfm
>
>
>-------------------------------------------------------------------------------------------------------
> <script language="JavaScript" src="../dynapi/src/dynapi.js"></script>
> <script language="Javascript">
> DynAPI.setLibraryPath('../dynapi/src/lib/');
> DynAPI.include('dynapi.api.*');
> DynAPI.include('dynapi.util.thread.js');
> DynAPI.include('dynapi.util.pathanim.js');
> DynAPI.include('dynapi.gui.dynimage.js');
> DynAPI.include('dynapi.gui.button.js');
> DynAPI.include('dynapi.gui.scrollbar.js');
> DynAPI.include('dynapi.gui.viewport.js');
> DynAPI.include('dynapi.gui.scrollpane.js');
> DynAPI.include('dynapi.gui.label.js');
> DynAPI.include('dynapi.gui.list.js');
> DynAPI.include('dynapi.gui.loadpanel.js');
>
> // this should be replaced with a default image location based on DynAPI.librarypath
> MetalScrollPaneURL = DynAPI.librarypath+"dynapi/images/mypane/"
>
> </script>
> <script language="Javascript">
>
> DynAPI.onLoad = function() {
> MetalScrollPaneURL = DynAPI.librarypath+"dynapi/images/mypane/"
>
> infoPanel = new LoadPanel()
> infoPanel.setSize(220,233)
> infoPanel.moveTo(478,197)
>
> scroller = new ScrollPane(infoPanel)
> scroller.setSize(245,263)
> scroller.moveTo(478,197)
>
> menulist = new List()
> menulist.moveTo(5,230)
> menulist.setWidth(160)
> menulist.setBgColor('#000000')
> menulist.boldOnSelect(true)
> menulist.setSelectionMode(false)
>
> <cfoutput query="baseprofile">
> menulist.add("#Brand# #Model#")
> </cfoutput>
>
> DynAPI.document.addChild(scroller)
>
> <cfoutput query="DataSheet">
> infoPanel.setURL('_inc.cfm?washerCode=#washerCode#')
> </cfoutput>
>
> DynAPI.document.addChild(menulist)
> }
> //-->
> </script>
>
> Regards
> Peter Luxmore
>
> Dan Steinman wrote:
>
> > I've posted all my updates to CVS. I think touched every file.
> >
> > The significant changes were:
> >
> > - inline creation system for Netscape now worked directly into DynLayer
> > - DynImage auto-resizing, this effected everything that was using DynImage
> > - some changes to how the "precreate", "create", and "resize" events are handled
> >
> > The events took a while to work out. I didn't like how it was setup before
>because it wasn't quite right when dealing with the new create system.
> > "precreate" should be used in widgets for doing most of the final layout for a
>widget as well as setting images for the layers. Most of that stuff used to be in
>the "create" event, but now with the inline creation it's more effecient to do it in
>"precreate" because when you set the size/location/images of the layers you won't be
>working with true DIV elements rather with just the JS objects. The goal is to do as
>little work with div's as possible before you create, so that by the time DynLayer
>creates the layers it already knows the size and content of them.
> >
> > You still need the "create" event to check for content size, and that sort of
>stuff.
> >
> > I had to remove all the checks for this.created from within the DynLayer and
>replace them with checks for this.css!=null. The "this.created" flag is now true
>once the layer/div element is created, and final position/size has been set, AND all
>it's children are created also. Peviously this.created was set to true before the
>children were created which conflicts with the way the inline creation system is
>supposed to work. I updated all the widgets to make sure everything was working ok
>with this change.
> >
> > I made a few DynLayer methods into simple functions, create() assignElement,
>flagChildren etc. These don't have to be methods because they are never used
>manually.
> >
> > Also you now have to include browser.js BEFORE dynlayer.js because in dynlayer I'm
>doing a check for Netscape/IE. I updated the dynapi include list for this, but if
>you have any pages that don't do include('dynapi.api.*') you will have to change the
>order yourself.
> >
> > DynImage.getImage() can be used before onLoad, the reason there was a problem in
>IE is you need a break point between the include()'s and the rest of the page. I
>updated all the examples so they look like this:
> >
> > <script src=dynapi.js>
> > <script>
> > DynAPI.setLibraryPath('../src/lib');
> > DynAPI.include('dynapi.api.*');
> > ...
> > </script>
> > <script>
> >
> > rest of code....
> >
> > </script>
> >
> > Some other minor changes I can remember is the setSize/Width/Height, I made
>setSize call setWidth and setHeight, and in those I rearranged a few things. I
>removed all references to getComponent() cause it's not needed anymore. And
>DynImage.getImage won't return an Image object with .w and .h tacked on, it's
>unecessary - if you have any code that uses the .w and .h, just replace it with
>.width and .height.
> >
> > What is no longer working:
> > - inline.js, I think something was wrong in IE
> > - List - Scott A, sorry I didn't get around to fixing this one, I checked it out
>in IE before all my changes and worked fantastic, I'd like to get it working again.
>Probably just needs some precreate/create changes. I broke it, so I'll fix it unless
>you want to take a stab at it.
> >
> > Major bugs we should fix before a stable release:
> > - Loadpanel isn't working in IE4.
> > - Label/button setSelectable still isn't working, anyone know what changes are
>needed?
> > - Inline creation system for IE - I could do this eventually but I want to work on
>some other things first so if anyone else wants to give it a shot you're welcome, it
>should be fairly easy now that the NS code has been finalized.
> >
> > Dan
> > _______________________________________________
> > Dynapi-Dev mailing list
> > [EMAIL PROTECTED]
> > http://lists.sourceforge.net/mailman/listinfo/dynapi-dev
>
>
> _______________________________________________
> Dynapi-Dev mailing list
> [EMAIL PROTECTED]
> http://lists.sourceforge.net/mailman/listinfo/dynapi-dev
_______________________________________________
Dynapi-Dev mailing list
[EMAIL PROTECTED]
http://lists.sourceforge.net/mailman/listinfo/dynapi-dev