You can subscribe to this list here.
2000 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
(75) |
Nov
(252) |
Dec
(418) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2001 |
Jan
(659) |
Feb
(1039) |
Mar
(870) |
Apr
(235) |
May
(329) |
Jun
(251) |
Jul
(123) |
Aug
(119) |
Sep
(67) |
Oct
(194) |
Nov
(535) |
Dec
(133) |
2002 |
Jan
(122) |
Feb
(24) |
Mar
(29) |
Apr
(28) |
May
(16) |
Jun
(20) |
Jul
(11) |
Aug
(12) |
Sep
(13) |
Oct
(14) |
Nov
(23) |
Dec
(19) |
2003 |
Jan
(28) |
Feb
(170) |
Mar
(288) |
Apr
(211) |
May
(126) |
Jun
(166) |
Jul
(131) |
Aug
(102) |
Sep
(211) |
Oct
(301) |
Nov
(22) |
Dec
(6) |
2004 |
Jan
(14) |
Feb
(16) |
Mar
(7) |
Apr
|
May
(8) |
Jun
(25) |
Jul
(21) |
Aug
(2) |
Sep
(7) |
Oct
|
Nov
(2) |
Dec
(1) |
2005 |
Jan
(4) |
Feb
(2) |
Mar
(14) |
Apr
(24) |
May
(3) |
Jun
(7) |
Jul
(30) |
Aug
(5) |
Sep
(1) |
Oct
(3) |
Nov
|
Dec
(1) |
2006 |
Jan
|
Feb
|
Mar
|
Apr
(1) |
May
|
Jun
|
Jul
|
Aug
|
Sep
(4) |
Oct
|
Nov
|
Dec
|
From: Pascal <pb...@oi...> - 2001-01-25 11:30:38
|
Would this also work cross-browser? I don't think NS4 (ie4?) has support for XML. I do think that defining widgets in this way would make the using of the API easier for normal web-designers (not talking about wysiwyg designers) because an XML definition is more simple to understand then Javascript code. But indeed, for an editor it could prove usefull (as long as the editor generates javascript as output, and uses the javascript xml parser to read the xml for crossbrowser compatibility).. but would it add anything extra to just reading an objects properties and methods in Javascript? Pascal Bestebroer (pb...@oi...) Software ontwikkelaar Oberon Informatiesystemen b.v. http://www.oibv.com > -----Oorspronkelijk bericht----- > Van: dyn...@li... > [mailto:dyn...@li...]Namens Arnold Meenhorst > Verzonden: donderdag 25 januari 2001 7:23 > Aan: dyn...@li... > Onderwerp: RE: [Dynapi-Dev] Oversight (Code generation) > > > Hello, I followed this discussion because I like the subject. > Generating > code. I have my own > ideas about the subject and would appreciate your opinion. I > read about a > XML parser written > in JavaScript. Then I thought about the combination Widgets > and XML. We > could define and > document the widget in XML, create a editor to modify the widgets > properties, show the result > in a seperate frame and use the parser (8kb) to create a kind > of javascript > DOM at runtime, also storing > references to widgets instances within that DOM. > A little example : > > <html> > <head> > <title>fam.meenhorst.nl</title> > <script language="JavaScript" src="./shared/js/dynapi.js"></script> > <script language="Javascript"> > DynAPI.setLibraryPath('./shared/js/lib/'); > DynAPI.include('dynapi.api.*'); > DynAPI.include('dynapi.util.thread'); > DynAPI.include('dynapi.util.pathanim'); > DynAPI.include('dynapi.util.cookies'); > DynAPI.include('dynapi.gui.loadpanel'); > DynAPI.include('dynapi.gui.viewport'); > DynAPI.include('dynapi.gui.label'); > DynAPI.include('dynapi.gui.dynimage'); > DynAPI.include('dynxml.xml.*'); > DynAPI.include('widget.gui.*'); > </script> > <script language="JavaScript" src="./shared/js/dom.js"></script> > <script language="Javascript"> > DynAPI.onLoad = function() { > > DynAPI.cookies.readCookie('theme'); > selectedTheme = DynAPI.cookies.readCookie('theme'); > if (!selectedTheme) selectedTheme='default'; > > domDesktop=dom.getAttrib(dom.getRef('/DynDOM/desktop')); > domDesktopItems=dom.getAttrib(dom.getRef('/DynDOM/desktop/items')); > domTheme=dom.getRef('/DynDOM/themes/' + selectedTheme); > domStart=dom.getRef('/DynDOM/startmenu'); > domFav=dom.getRef('/DynDOM/favorites'); > > // precatch theme images > for (elem in domTheme.contents) { > for (attr in domTheme.contents[elem].attributes) { > var val = domTheme.contents[elem].attributes[attr]; > if ( val.indexOf('.gif')!=0 || val.indexOf('.jpg')!=0) > DynImage.getImage(val); > } > > generate widget instances using the getAttrib and getRef functions > > > I attached the parser and the discribed two functions. > > > > -----Original Message----- > From: dyn...@li... > [mailto:dyn...@li...]On Behalf Of Pascal > Sent: Monday, January 22, 2001 4:54 PM > To: dyn...@li... > Subject: RE: [Dynapi-Dev] Oversight (Code generation) > > > Yep, that's basically all.. the only thing do is create a > recursive function > of some sort, that walks thru all layers and child layers, > and also generate > the correct addChild() calls, and all EventListeners (can be > done using the > eventlisteners array). > > The only problem still remaining is the fetching of real > javascript variable > names... not sure if these are part of the DOM somewhere.. > For a wysiwyg > editor it wouldn't be a problem, you could generate your own variable > names.. but for existing code you would have to use the real > variable names > to not screw up existing code. > > I also want these modules not extending the DynLayer or other DynAPI > objects, but rather have there own functions to handle these things.. > > cya, > Pascal Bestebroer (pb...@oi...) > Software ontwikkelaar > Oberon Informatiesystemen b.v. > http://www.oibv.com > -----Oorspronkelijk bericht----- > Van: dyn...@li... > [mailto:dyn...@li...]Namens Michael > Pemberton > Verzonden: maandag 22 januari 2001 16:38 > Aan: dyn...@li... > Onderwerp: Re: [Dynapi-Dev] Oversight (Code generation) > > > I was mucking around with this last night. the attached file > is one method > of doing it. > Just include the attached file and call > layerName.generateCode() this should > return a copy of the initialisation command for the layer. > Pascal wrote: > Some secondary values are callable, but certain arrays will > give problems > (I'm trying to fix that). > I'm not sure if I can retrieve variable names (anyone with an > idea on that > one?) But I am planning on creating an extra module like > Oversight, which > reads the DynAPI tree of objects (dynapi.document and all > child layers) and > regenarets correct code for it.. This would be the first step > for wysiwyg > editing.. simple attach dragevent listeners to every layer on > screen so that > they can be placed, call the code-generator and you have your > wysiwyg editor > Also another idea I'm having is including a better object watcher to > Oversight.. like the one found in Delph, Visual basic ,etc.. a window > showing all properties and values, make them editable and you > have easy > access to every object, making the Dump Object obsolete. > cya, > Pascal Bestebroer (pb...@oi...) > Software ontwikkelaar > Oberon Informatiesystemen b.v. > http://www.oibv.com > > -----Oorspronkelijk bericht----- > > Van: dyn...@li... > > [mailto:dyn...@li...]Namens > Richard Bennett > > Verzonden: maandag 22 januari 2001 0:42 > > Aan: dyn...@li... > > Onderwerp: Re: [Dynapi-Dev] Oversight > > > > > > Hi, > > This was another amazing job, both of you, I'll add it to > > every example on > > my site with the next release, > > and have it called from a link instead of my DynAPIDiagnose. > > A few points: > > you probably know dumping the secondary values from the > hyperlinks > > doesn't work yet. > > Is it possible to get a clickable list of the objects on > > the page by the > > name they were defined by, like this: > > > > Available objects on this page: > > * MyLayer > > *MyChildLayer > > > > * SkinWindow1 > > *myPushPanel1 > > *myLoadPanel1 > > etc. > > oh, and you could add printing, and... > > > > Cheers, > > Richard Bennett > > > > ma...@ri... > > www.richardinfo.com > > (Everything running on, and ported to the 19/12/2000 snapshot > > of DynAPI2) > > > > > > ----- Original Message ----- > > From: "Pascal Bestebroer" <pa...@dy...> > > To: "Dev" <dyn...@li...> > > Sent: Sunday, January 21, 2001 2:58 PM > > Subject: [Dynapi-Dev] Oversight > > > > > > > Played "abit" with Martin Ström 's console code, and got > > some nice ideas > > on > > > how to enhance it. > > > See the attached result. > > > > > > Unzip this package into a sub directory of your DynAPI code > > (eg. into the > > > src/ directory), and add the following two lines to your > > code for some > > great > > > debuggin tools: > > > > > > DynAPI.include('oversight.js','../src/oversight') > > > > > > and then in the DynAPI.onLoad, add the first line: > > > > > > Oversight.run('../src/oversight') > > > > > > where the '../src/oversight' is the path of your Oversight > > root folder. > > > > > > I haven't done much on errorhandling yet so be carefull, > > but currently you > > > have the > > > following tools: > > > > > > * Add watch > > > Adds a property to the watcher.. the watcher will then > > display the value > > > of that property. > > > For example, try adding a watch for myLayer.x and make > the layer > > > dragable.. > > > > > > * Delete watch > > > Deletes the property or variable from the watcher list.. > > no real need > > for > > > this, every property > > > will have a DEL link in the watcher window, to remove > > it.. saves typing > > > > > > * Dump object > > > Dumps the specified object and it's properties/methods.. > > also creating > > > dynamic hyperlinks for > > > all child objects. > > > > > > * Show value > > > Displays the value of the specified variable or property > > (not watching, > > > just printin it once) > > > > > > * Execute code > > > Will execute any code you type in it.. Basically this > > allows you to > > create > > > DynLayer, move existing > > > DynLayers/widgets, etc,etc,etc. > > > > > > I want to enhance the Execute code, so that it displays a > > memo field so in > > > which you can type more lines > > > at once.. making it a runtime editor. > > > > > > I think that when we create more of these types of tools, that the > > > DynBuilder as described by Henrik is actually possible as a > > Webapplication. > > > > > > I've only tested this stuff on IE5 and NS4.. and works > > under both browsers > > > perfectly. > > > Let me know of any ideas, comments, flames, rock throwing, etc.. > > > > > > cya, > > > > > > Pascal Bestebroer > > > pa...@dy... > > > http://www.dynamic-core.net > > > > > > > > > _______________________________________________ > > Dynapi-Dev mailing list > > Dyn...@li... > > http://lists.sourceforge.net/lists/listinfo/dynapi-dev > > > _______________________________________________ > Dynapi-Dev mailing list > Dyn...@li... > http://lists.sourceforge.net/lists/listinfo/dynapi-dev > -- > Michael Pemberton > mp...@ph... > ICQ: 12107010 > > |
From: Richard B. <ma...@ri...> - 2001-01-25 10:43:10
|
Hi, Attached is a glide file which will work with the latest dynapi, although it has not been ported to work with pathanim and thread yet. (If someone has the time for that...) Cheers, Richard Bennett ma...@ri... www.richardinfo.com (Everything running on, and ported to the 19/12/2000 snapshot of DynAPI2) ----- Original Message ----- From: "francesco AGATI" <fa...@we...> To: <dyn...@li...> Sent: Wednesday, January 24, 2001 6:21 PM Subject: [Dynapi-Dev] glide? > someone know if the glide library is compatible with the version2 of api? > > > > _______________________________________________ > Dynapi-Dev mailing list > Dyn...@li... > http://lists.sourceforge.net/lists/listinfo/dynapi-dev > ____________________________________________________________ > Get your free domain name and domain-based e-mail from > Namezero.com. New! Namezero Plus domains now available. > Find out more at: http://www.namezero.com > |
From: Cameron H. <ca...@bi...> - 2001-01-25 10:42:36
|
damn, just when my cvs access started working ;-) > -----Original Message----- > From: dyn...@li... > [mailto:dyn...@li...]On Behalf Of Pascal > Sent: 25 January 2001 07:45 > To: dyn...@li... > Subject: RE: [Dynapi-Dev] Release > > > I think that should mean that until 1/25/2000 Robert is the only > one editing > stuff in CVS, so hold all new ideas and stuff local and or post patches in > this list so Robert can fix them. > > Unless we can branch of or something in CVS without making things to > complicated. > > This should make sure that no strange fixes are included that might brake > other stuff.. one person should be able to controll it better. > > > > Pascal Bestebroer (pb...@oi...) > Software ontwikkelaar > Oberon Informatiesystemen b.v. > http://www.oibv.com > > > -----Oorspronkelijk bericht----- > > Van: dyn...@li... > > [mailto:dyn...@li...]Namens Robert Rainwater > > Verzonden: donderdag 25 januari 2001 5:05 > > Aan: DynAPI Development List > > Onderwerp: [Dynapi-Dev] Release > > > > > > > > I'm going to release the current version of the DynAPI as soon as > > 01/25/2000. This of course want include any NS 6 support. After the > > release, we can begin working on fixing some of the NS 6 problems. > > Let me know of any quick fixes that are needed before the release. > > > > -- > > // Robert Rainwater > > ---------------------- > > DynAPI Snapshots: http://dynapi.sourceforge.net/snapshot/ > > DynAPI Homepage: http://dynapi.sourceforge.net/ > > > > > > > > _______________________________________________ > > Dynapi-Dev mailing list > > Dyn...@li... > > http://lists.sourceforge.net/lists/listinfo/dynapi-dev > > > > > _______________________________________________ > Dynapi-Dev mailing list > Dyn...@li... > http://lists.sourceforge.net/lists/listinfo/dynapi-dev |
From: francesco A. <fa...@we...> - 2001-01-25 08:50:26
|
someone know if the glide library is compatible with the version2 of api? |
From: Pascal <pb...@oi...> - 2001-01-25 07:45:01
|
I think that should mean that until 1/25/2000 Robert is the only one editing stuff in CVS, so hold all new ideas and stuff local and or post patches in this list so Robert can fix them. Unless we can branch of or something in CVS without making things to complicated. This should make sure that no strange fixes are included that might brake other stuff.. one person should be able to controll it better. Pascal Bestebroer (pb...@oi...) Software ontwikkelaar Oberon Informatiesystemen b.v. http://www.oibv.com > -----Oorspronkelijk bericht----- > Van: dyn...@li... > [mailto:dyn...@li...]Namens Robert Rainwater > Verzonden: donderdag 25 januari 2001 5:05 > Aan: DynAPI Development List > Onderwerp: [Dynapi-Dev] Release > > > > I'm going to release the current version of the DynAPI as soon as > 01/25/2000. This of course want include any NS 6 support. After the > release, we can begin working on fixing some of the NS 6 problems. > Let me know of any quick fixes that are needed before the release. > > -- > // Robert Rainwater > ---------------------- > DynAPI Snapshots: http://dynapi.sourceforge.net/snapshot/ > DynAPI Homepage: http://dynapi.sourceforge.net/ > > > > _______________________________________________ > Dynapi-Dev mailing list > Dyn...@li... > http://lists.sourceforge.net/lists/listinfo/dynapi-dev > |
From: Arnold M. <ar...@zo...> - 2001-01-25 06:16:39
|
Hello, I followed this discussion because I like the subject. Generating code. I have my own ideas about the subject and would appreciate your opinion. I read about a XML parser written in JavaScript. Then I thought about the combination Widgets and XML. We could define and document the widget in XML, create a editor to modify the widgets properties, show the result in a seperate frame and use the parser (8kb) to create a kind of javascript DOM at runtime, also storing references to widgets instances within that DOM. A little example : <html> <head> <title>fam.meenhorst.nl</title> <script language="JavaScript" src="./shared/js/dynapi.js"></script> <script language="Javascript"> DynAPI.setLibraryPath('./shared/js/lib/'); DynAPI.include('dynapi.api.*'); DynAPI.include('dynapi.util.thread'); DynAPI.include('dynapi.util.pathanim'); DynAPI.include('dynapi.util.cookies'); DynAPI.include('dynapi.gui.loadpanel'); DynAPI.include('dynapi.gui.viewport'); DynAPI.include('dynapi.gui.label'); DynAPI.include('dynapi.gui.dynimage'); DynAPI.include('dynxml.xml.*'); DynAPI.include('widget.gui.*'); </script> <script language="JavaScript" src="./shared/js/dom.js"></script> <script language="Javascript"> DynAPI.onLoad = function() { DynAPI.cookies.readCookie('theme'); selectedTheme = DynAPI.cookies.readCookie('theme'); if (!selectedTheme) selectedTheme='default'; domDesktop=dom.getAttrib(dom.getRef('/DynDOM/desktop')); domDesktopItems=dom.getAttrib(dom.getRef('/DynDOM/desktop/items')); domTheme=dom.getRef('/DynDOM/themes/' + selectedTheme); domStart=dom.getRef('/DynDOM/startmenu'); domFav=dom.getRef('/DynDOM/favorites'); // precatch theme images for (elem in domTheme.contents) { for (attr in domTheme.contents[elem].attributes) { var val = domTheme.contents[elem].attributes[attr]; if ( val.indexOf('.gif')!=0 || val.indexOf('.jpg')!=0) DynImage.getImage(val); } generate widget instances using the getAttrib and getRef functions I attached the parser and the discribed two functions. -----Original Message----- From: dyn...@li... [mailto:dyn...@li...]On Behalf Of Pascal Sent: Monday, January 22, 2001 4:54 PM To: dyn...@li... Subject: RE: [Dynapi-Dev] Oversight (Code generation) Yep, that's basically all.. the only thing do is create a recursive function of some sort, that walks thru all layers and child layers, and also generate the correct addChild() calls, and all EventListeners (can be done using the eventlisteners array). The only problem still remaining is the fetching of real javascript variable names... not sure if these are part of the DOM somewhere.. For a wysiwyg editor it wouldn't be a problem, you could generate your own variable names.. but for existing code you would have to use the real variable names to not screw up existing code. I also want these modules not extending the DynLayer or other DynAPI objects, but rather have there own functions to handle these things.. cya, Pascal Bestebroer (pb...@oi...) Software ontwikkelaar Oberon Informatiesystemen b.v. http://www.oibv.com -----Oorspronkelijk bericht----- Van: dyn...@li... [mailto:dyn...@li...]Namens Michael Pemberton Verzonden: maandag 22 januari 2001 16:38 Aan: dyn...@li... Onderwerp: Re: [Dynapi-Dev] Oversight (Code generation) I was mucking around with this last night. the attached file is one method of doing it. Just include the attached file and call layerName.generateCode() this should return a copy of the initialisation command for the layer. Pascal wrote: Some secondary values are callable, but certain arrays will give problems (I'm trying to fix that). I'm not sure if I can retrieve variable names (anyone with an idea on that one?) But I am planning on creating an extra module like Oversight, which reads the DynAPI tree of objects (dynapi.document and all child layers) and regenarets correct code for it.. This would be the first step for wysiwyg editing.. simple attach dragevent listeners to every layer on screen so that they can be placed, call the code-generator and you have your wysiwyg editor Also another idea I'm having is including a better object watcher to Oversight.. like the one found in Delph, Visual basic ,etc.. a window showing all properties and values, make them editable and you have easy access to every object, making the Dump Object obsolete. cya, Pascal Bestebroer (pb...@oi...) Software ontwikkelaar Oberon Informatiesystemen b.v. http://www.oibv.com > -----Oorspronkelijk bericht----- > Van: dyn...@li... > [mailto:dyn...@li...]Namens Richard Bennett > Verzonden: maandag 22 januari 2001 0:42 > Aan: dyn...@li... > Onderwerp: Re: [Dynapi-Dev] Oversight > > > Hi, > This was another amazing job, both of you, I'll add it to > every example on > my site with the next release, > and have it called from a link instead of my DynAPIDiagnose. > A few points: > you probably know dumping the secondary values from the hyperlinks > doesn't work yet. > Is it possible to get a clickable list of the objects on > the page by the > name they were defined by, like this: > > Available objects on this page: > * MyLayer > *MyChildLayer > > * SkinWindow1 > *myPushPanel1 > *myLoadPanel1 > etc. > oh, and you could add printing, and... > > Cheers, > Richard Bennett > > ma...@ri... > www.richardinfo.com > (Everything running on, and ported to the 19/12/2000 snapshot > of DynAPI2) > > > ----- Original Message ----- > From: "Pascal Bestebroer" <pa...@dy...> > To: "Dev" <dyn...@li...> > Sent: Sunday, January 21, 2001 2:58 PM > Subject: [Dynapi-Dev] Oversight > > > > Played "abit" with Martin Ström 's console code, and got > some nice ideas > on > > how to enhance it. > > See the attached result. > > > > Unzip this package into a sub directory of your DynAPI code > (eg. into the > > src/ directory), and add the following two lines to your > code for some > great > > debuggin tools: > > > > DynAPI.include('oversight.js','../src/oversight') > > > > and then in the DynAPI.onLoad, add the first line: > > > > Oversight.run('../src/oversight') > > > > where the '../src/oversight' is the path of your Oversight > root folder. > > > > I haven't done much on errorhandling yet so be carefull, > but currently you > > have the > > following tools: > > > > * Add watch > > Adds a property to the watcher.. the watcher will then > display the value > > of that property. > > For example, try adding a watch for myLayer.x and make the layer > > dragable.. > > > > * Delete watch > > Deletes the property or variable from the watcher list.. > no real need > for > > this, every property > > will have a DEL link in the watcher window, to remove > it.. saves typing > > > > * Dump object > > Dumps the specified object and it's properties/methods.. > also creating > > dynamic hyperlinks for > > all child objects. > > > > * Show value > > Displays the value of the specified variable or property > (not watching, > > just printin it once) > > > > * Execute code > > Will execute any code you type in it.. Basically this > allows you to > create > > DynLayer, move existing > > DynLayers/widgets, etc,etc,etc. > > > > I want to enhance the Execute code, so that it displays a > memo field so in > > which you can type more lines > > at once.. making it a runtime editor. > > > > I think that when we create more of these types of tools, that the > > DynBuilder as described by Henrik is actually possible as a > Webapplication. > > > > I've only tested this stuff on IE5 and NS4.. and works > under both browsers > > perfectly. > > Let me know of any ideas, comments, flames, rock throwing, etc.. > > > > cya, > > > > Pascal Bestebroer > > pa...@dy... > > http://www.dynamic-core.net > > > > > _______________________________________________ > Dynapi-Dev mailing list > Dyn...@li... > http://lists.sourceforge.net/lists/listinfo/dynapi-dev > _______________________________________________ Dynapi-Dev mailing list Dyn...@li... http://lists.sourceforge.net/lists/listinfo/dynapi-dev -- Michael Pemberton mp...@ph... ICQ: 12107010 |
From: Robert R. <rra...@ya...> - 2001-01-25 04:04:08
|
I'm going to release the current version of the DynAPI as soon as 01/25/2000. This of course want include any NS 6 support. After the release, we can begin working on fixing some of the NS 6 problems. Let me know of any quick fixes that are needed before the release. -- // Robert Rainwater ---------------------- DynAPI Snapshots: http://dynapi.sourceforge.net/snapshot/ DynAPI Homepage: http://dynapi.sourceforge.net/ |
From: <ni...@pr...> - 2001-01-24 22:08:47
|
it can be done that way but we should make sure that there is html and one of the size is null only in that case u wanna call the setTimeout if not if u always call it that will slow things down too much Y > > > Actually, the getContentW/H can be fixed by adding a setTimeout to > createElement and not invoking the oncreate event until the elements > such as .elm.offsetWidth are accessible. I'm just trying to see if > there is a better way to do it. > > -- > // Robert Rainwater > > On 1/24/2001, 3:48:33 PM EST, Jay wrote about "[Dynapi-Dev] humble assertion: DynAPI.findLayers is not NS6 c ompatible": > > > Thanks much Cameron -- it's good to have the issue validated not to mention > > fixed! ;-) > > > When you say NS6 will hopefully be sorted 'soon', what kind of timeframe are > > you estimating? > > > thanks again, > > > -J > > >> -----Original Message----- > >> From: Cameron Hart [mailto:cam...@ya...] > >> Sent: Wednesday, January 24, 2001 2:01 AM > >> To: dyn...@li... > >> Subject: Re: [Dynapi-Dev] humble assertion: DynAPI.findLayers > >> is not NS6 > >> compatible > >> > >> > >> Hi, I submitted a patch to sourceforge to fix this, > >> but it hasn't been added into cvs. it should fix this > >> problem. you can get the patch from > >> http://sourceforge.net/patch/?func=detailpatch&patch_id=103358 > >> &group_id=5757 > >> > >> i submitted it as a diff, so you can either use a unix > >> patch utility or update the file by hand. if you > >> aren't familiar with diff's let me know and i'll send > >> you the modified file. > >> > >> there are also some problems with events, i've tried > >> to fix some of these in another patch which you might > >> want to try as well. other developers are also working > >> on these netscape 6 issues, so hopefully they'll be > >> sorted out soon. > >> > >> cheers, > >> > >> cameron. > >> > >> --- Jay Chalfant <jch...@ou...> wrote: > > >> Hello, > >> > > >> > I'm trying to work through issues to get our app > >> > running on NS 6. This > >> > includes an upgrade from dynlayer to DynAPI2. We > >> > rely heavily on the inline > >> > capability. > >> > > >> > In debugging today, I disovered that > >> > DynAPI.findLayers is not adding any > >> > divs to the DynDocument. I tracked this down to the > >> > fact that line 17 of > >> > inline.js: > >> > > >> > if(DynAPI.isDirectChildOf(divs[i],dyndoc.elm)) { > >> > > >> > always (in my app) returns false in NS 6. > >> > > >> > I believe the reason is that divs[i] is a div and > >> > dyndoc.elm is a Window > >> > object. The direct parent of a div in NS6 (DOM1) is > >> > an HTMLBody element. I > >> > tried a couple of DOM permutations/navigations to > >> > get from the HTMLBody > >> > element to the Window object but couldn't. > >> > > >> > Is anyone working on these issues? > >> > > >> > What, in general, is the functionality level of > >> > DynAPI2 in NS 6? > >> > > >> > Finally, how would one contribute fixes to the > >> > DynAPI2 codebase? > >> > > >> > thanks > >> > > >> > -J > >> > > >> > ---------------------- > >> > Jay Chalfant > >> > OutBack Resource Group > >> > www.outbackinc.com > >> > > >> > _______________________________________________ > >> > Dynapi-Dev mailing list > >> > Dyn...@li... > >> > > >> http://lists.sourceforge.net/lists/listinfo/dynapi-dev > >> > > >> > > >> > >> > >> __________________________________________________ > >> Do You Yahoo!? > >> Yahoo! Auctions - Buy the things you want at great prices. > >> http://auctions.yahoo.com/ > >> > >> _______________________________________________ > >> Dynapi-Dev mailing list > >> Dyn...@li... > >> http://lists.sourceforge.net/lists/listinfo/dynapi-dev > >> > > > _______________________________________________ > > Dynapi-Dev mailing list > > Dyn...@li... > > http://lists.sourceforge.net/lists/listinfo/dynapi-dev > > > ---------------------- > DynAPI Snapshots: http://dynapi.sourceforge.net/snapshot/ > DynAPI Homepage: http://dynapi.sourceforge.net/ > > > > _______________________________________________ > Dynapi-Dev mailing list > Dyn...@li... > http://lists.sourceforge.net/lists/listinfo/dynapi-dev |
From: Robert R. <rra...@ya...> - 2001-01-24 21:12:08
|
Actually, the getContentW/H can be fixed by adding a setTimeout to createElement and not invoking the oncreate event until the elements such as .elm.offsetWidth are accessible. I'm just trying to see if there is a better way to do it. -- // Robert Rainwater On 1/24/2001, 3:48:33 PM EST, Jay wrote about "[Dynapi-Dev] humble assertion: DynAPI.findLayers is not NS6 c ompatible": > Thanks much Cameron -- it's good to have the issue validated not to mention > fixed! ;-) > When you say NS6 will hopefully be sorted 'soon', what kind of timeframe are > you estimating? > thanks again, > -J >> -----Original Message----- >> From: Cameron Hart [mailto:cam...@ya...] >> Sent: Wednesday, January 24, 2001 2:01 AM >> To: dyn...@li... >> Subject: Re: [Dynapi-Dev] humble assertion: DynAPI.findLayers >> is not NS6 >> compatible >> >> >> Hi, I submitted a patch to sourceforge to fix this, >> but it hasn't been added into cvs. it should fix this >> problem. you can get the patch from >> http://sourceforge.net/patch/?func=detailpatch&patch_id=103358 >> &group_id=5757 >> >> i submitted it as a diff, so you can either use a unix >> patch utility or update the file by hand. if you >> aren't familiar with diff's let me know and i'll send >> you the modified file. >> >> there are also some problems with events, i've tried >> to fix some of these in another patch which you might >> want to try as well. other developers are also working >> on these netscape 6 issues, so hopefully they'll be >> sorted out soon. >> >> cheers, >> >> cameron. >> >> --- Jay Chalfant <jch...@ou...> wrote: > >> Hello, >> > >> > I'm trying to work through issues to get our app >> > running on NS 6. This >> > includes an upgrade from dynlayer to DynAPI2. We >> > rely heavily on the inline >> > capability. >> > >> > In debugging today, I disovered that >> > DynAPI.findLayers is not adding any >> > divs to the DynDocument. I tracked this down to the >> > fact that line 17 of >> > inline.js: >> > >> > if(DynAPI.isDirectChildOf(divs[i],dyndoc.elm)) { >> > >> > always (in my app) returns false in NS 6. >> > >> > I believe the reason is that divs[i] is a div and >> > dyndoc.elm is a Window >> > object. The direct parent of a div in NS6 (DOM1) is >> > an HTMLBody element. I >> > tried a couple of DOM permutations/navigations to >> > get from the HTMLBody >> > element to the Window object but couldn't. >> > >> > Is anyone working on these issues? >> > >> > What, in general, is the functionality level of >> > DynAPI2 in NS 6? >> > >> > Finally, how would one contribute fixes to the >> > DynAPI2 codebase? >> > >> > thanks >> > >> > -J >> > >> > ---------------------- >> > Jay Chalfant >> > OutBack Resource Group >> > www.outbackinc.com >> > >> > _______________________________________________ >> > Dynapi-Dev mailing list >> > Dyn...@li... >> > >> http://lists.sourceforge.net/lists/listinfo/dynapi-dev >> > >> > >> >> >> __________________________________________________ >> Do You Yahoo!? >> Yahoo! Auctions - Buy the things you want at great prices. >> http://auctions.yahoo.com/ >> >> _______________________________________________ >> Dynapi-Dev mailing list >> Dyn...@li... >> http://lists.sourceforge.net/lists/listinfo/dynapi-dev >> > _______________________________________________ > Dynapi-Dev mailing list > Dyn...@li... > http://lists.sourceforge.net/lists/listinfo/dynapi-dev ---------------------- DynAPI Snapshots: http://dynapi.sourceforge.net/snapshot/ DynAPI Homepage: http://dynapi.sourceforge.net/ |
From: Jay C. <jch...@ou...> - 2001-01-24 20:48:20
|
Thanks much Cameron -- it's good to have the issue validated not to mention fixed! ;-) When you say NS6 will hopefully be sorted 'soon', what kind of timeframe are you estimating? thanks again, -J > -----Original Message----- > From: Cameron Hart [mailto:cam...@ya...] > Sent: Wednesday, January 24, 2001 2:01 AM > To: dyn...@li... > Subject: Re: [Dynapi-Dev] humble assertion: DynAPI.findLayers > is not NS6 > compatible > > > Hi, I submitted a patch to sourceforge to fix this, > but it hasn't been added into cvs. it should fix this > problem. you can get the patch from > http://sourceforge.net/patch/?func=detailpatch&patch_id=103358 > &group_id=5757 > > i submitted it as a diff, so you can either use a unix > patch utility or update the file by hand. if you > aren't familiar with diff's let me know and i'll send > you the modified file. > > there are also some problems with events, i've tried > to fix some of these in another patch which you might > want to try as well. other developers are also working > on these netscape 6 issues, so hopefully they'll be > sorted out soon. > > cheers, > > cameron. > > --- Jay Chalfant <jch...@ou...> wrote: > > Hello, > > > > I'm trying to work through issues to get our app > > running on NS 6. This > > includes an upgrade from dynlayer to DynAPI2. We > > rely heavily on the inline > > capability. > > > > In debugging today, I disovered that > > DynAPI.findLayers is not adding any > > divs to the DynDocument. I tracked this down to the > > fact that line 17 of > > inline.js: > > > > if(DynAPI.isDirectChildOf(divs[i],dyndoc.elm)) { > > > > always (in my app) returns false in NS 6. > > > > I believe the reason is that divs[i] is a div and > > dyndoc.elm is a Window > > object. The direct parent of a div in NS6 (DOM1) is > > an HTMLBody element. I > > tried a couple of DOM permutations/navigations to > > get from the HTMLBody > > element to the Window object but couldn't. > > > > Is anyone working on these issues? > > > > What, in general, is the functionality level of > > DynAPI2 in NS 6? > > > > Finally, how would one contribute fixes to the > > DynAPI2 codebase? > > > > thanks > > > > -J > > > > ---------------------- > > Jay Chalfant > > OutBack Resource Group > > www.outbackinc.com > > > > _______________________________________________ > > Dynapi-Dev mailing list > > Dyn...@li... > > > http://lists.sourceforge.net/lists/listinfo/dynapi-dev > > > > > > > __________________________________________________ > Do You Yahoo!? > Yahoo! Auctions - Buy the things you want at great prices. > http://auctions.yahoo.com/ > > _______________________________________________ > Dynapi-Dev mailing list > Dyn...@li... > http://lists.sourceforge.net/lists/listinfo/dynapi-dev > |
From: Eytan H. <ey...@tr...> - 2001-01-24 17:55:05
|
I have tested this example in IE and NN this is right out of the NN JS Reference. |
From: Dann <da...@to...> - 2001-01-24 14:22:27
|
Hi, Maybe they came to their senses and realized they would never ever get it work properly across all platforms. 8) Spare me the flames ! 8* CU, Dann Pascal wrote: > in the ocean? > > that might then be followed by a sound of some one drowning... > > Pascal Bestebroer (pb...@oi...) > Software ontwikkelaar > Oberon Informatiesystemen b.v. > http://www.oibv.com > > > -----Oorspronkelijk bericht----- > > Van: dyn...@li... > > [mailto:dyn...@li...]Namens Raymond Smith > > Verzonden: woensdag 24 januari 2001 13:28 > > Aan: dyn...@li... > > Onderwerp: [Dynapi-Dev] ... > > > > > > It's so quiet on here tonight... > > > > .. you can hear a "rock" drop. > > > > Ray > > > > > > _______________________________________________ > > Dynapi-Dev mailing list > > Dyn...@li... > > http://lists.sourceforge.net/lists/listinfo/dynapi-dev > > > > _______________________________________________ > Dynapi-Dev mailing list > Dyn...@li... > http://lists.sourceforge.net/lists/listinfo/dynapi-dev |
From: Pascal <pb...@oi...> - 2001-01-24 13:30:38
|
in the ocean? that might then be followed by a sound of some one drowning... Pascal Bestebroer (pb...@oi...) Software ontwikkelaar Oberon Informatiesystemen b.v. http://www.oibv.com > -----Oorspronkelijk bericht----- > Van: dyn...@li... > [mailto:dyn...@li...]Namens Raymond Smith > Verzonden: woensdag 24 januari 2001 13:28 > Aan: dyn...@li... > Onderwerp: [Dynapi-Dev] ... > > > It's so quiet on here tonight... > > .. you can hear a "rock" drop. > > Ray > > > _______________________________________________ > Dynapi-Dev mailing list > Dyn...@li... > http://lists.sourceforge.net/lists/listinfo/dynapi-dev > |
From: Raymond S. <dst...@or...> - 2001-01-24 12:29:45
|
It's so quiet on here tonight... .. you can hear a "rock" drop. Ray |
From: <cam...@ya...> - 2001-01-24 10:00:55
|
Hi, I submitted a patch to sourceforge to fix this, but it hasn't been added into cvs. it should fix this problem. you can get the patch from http://sourceforge.net/patch/?func=detailpatch&patch_id=103358&group_id=5757 i submitted it as a diff, so you can either use a unix patch utility or update the file by hand. if you aren't familiar with diff's let me know and i'll send you the modified file. there are also some problems with events, i've tried to fix some of these in another patch which you might want to try as well. other developers are also working on these netscape 6 issues, so hopefully they'll be sorted out soon. cheers, cameron. --- Jay Chalfant <jch...@ou...> wrote: > Hello, > > I'm trying to work through issues to get our app > running on NS 6. This > includes an upgrade from dynlayer to DynAPI2. We > rely heavily on the inline > capability. > > In debugging today, I disovered that > DynAPI.findLayers is not adding any > divs to the DynDocument. I tracked this down to the > fact that line 17 of > inline.js: > > if(DynAPI.isDirectChildOf(divs[i],dyndoc.elm)) { > > always (in my app) returns false in NS 6. > > I believe the reason is that divs[i] is a div and > dyndoc.elm is a Window > object. The direct parent of a div in NS6 (DOM1) is > an HTMLBody element. I > tried a couple of DOM permutations/navigations to > get from the HTMLBody > element to the Window object but couldn't. > > Is anyone working on these issues? > > What, in general, is the functionality level of > DynAPI2 in NS 6? > > Finally, how would one contribute fixes to the > DynAPI2 codebase? > > thanks > > -J > > ---------------------- > Jay Chalfant > OutBack Resource Group > www.outbackinc.com > > _______________________________________________ > Dynapi-Dev mailing list > Dyn...@li... > http://lists.sourceforge.net/lists/listinfo/dynapi-dev > > __________________________________________________ Do You Yahoo!? Yahoo! Auctions - Buy the things you want at great prices. http://auctions.yahoo.com/ |
From: Richard B. <ma...@ri...> - 2001-01-24 04:58:26
|
Hi, The beige bgcolor was a dead give-away I'm afraid ;o) Anyway, it's up with your other masterpiece: http://www.resass.f2s.com/?menu=3Dexamples&node=3D8 Cheers, Richard Bennett ma...@ri... www.richardinfo.com (Everything running on, and ported to the 19/12/2000 snapshot of = DynAPI2) ----- Original Message -----=20 From: Glen Deas=20 To: dyn...@li...=20 Sent: Tuesday, January 23, 2001 5:24 PM Subject: Re: [Dynapi-Dev] Dragging and Cancelling Here's a handle I use. ----- Original Message -----=20 From: Michael Pemberton=20 To: dyn...@li...=20 Sent: Tuesday, January 23, 2001 8:06 AM Subject: [Dynapi-Dev] Dragging and Cancelling The cancelDrag method of the drag event doesn't seem to do anything. = Does anyone have a working example of it in action?=20 I am trying to limit dragging to only a section of a layer ( so that = sragging can only happen if they click in a specific section of the = layer). I tried placing a e.cancelDrag() call in the dragstart = eventlistener but that didn't help. Is there a simple way of setting up = a handle type setup for dragging a layer?=20 --=20 Michael Pemberton=20 mp...@ph...=20 ICQ: 12107010=20 _______________________________________________ Dynapi-Dev mailing = list Dyn...@li... = http://lists.sourceforge.net/lists/listinfo/dynapi-dev |
From: Jay C. <jch...@ou...> - 2001-01-23 23:40:30
|
Hello, I'm trying to work through issues to get our app running on NS 6. This includes an upgrade from dynlayer to DynAPI2. We rely heavily on the inline capability. In debugging today, I disovered that DynAPI.findLayers is not adding any divs to the DynDocument. I tracked this down to the fact that line 17 of inline.js: if(DynAPI.isDirectChildOf(divs[i],dyndoc.elm)) { always (in my app) returns false in NS 6. I believe the reason is that divs[i] is a div and dyndoc.elm is a Window object. The direct parent of a div in NS6 (DOM1) is an HTMLBody element. I tried a couple of DOM permutations/navigations to get from the HTMLBody element to the Window object but couldn't. Is anyone working on these issues? What, in general, is the functionality level of DynAPI2 in NS 6? Finally, how would one contribute fixes to the DynAPI2 codebase? thanks -J ---------------------- Jay Chalfant OutBack Resource Group www.outbackinc.com |
From: Kirk R. H. <kh...@qu...> - 2001-01-23 23:22:16
|
While trying out the dynapi I was having some issues with Internet = Explorer 5 and mouse event handling so I dug through the code and made = some alterations to events.jsp. I figured that I would pass them on to = this mailing list in case the changes I made could be useful to any one = else. Since I do not subscribe to this list myself, if anyone wants to = discuss my changes, please feel free to email me at kh...@qu... The changes are as follows: in the DynLayer.prototype.EventMethod I added the following code to = determine which dynAPI layer was associated with the mouse event. The = reason for this code is that a layer which contains other elements that = can respond to the mouse events will receive a mouse event through the = IE event bubbling paradigm where the events srcElement will not be equal = to the layer itself but to its subcomponent such as a <TD> element or a = <FONT> element, therefore, in order to find the appropriate dynLayer = object to associated the mouse event with, you must search through the = srcElements object hierarchy to find a dynLayer. That is what the = following code does. I put this code right under the current is.ie block = in the DynLayer.prototype.EventMethod Kirk Hill Quai, Inc. _______________________________________________ New Code _________________________________________________ var realsrc; if(! is.ie) { realsrc =3D e.target; } else { // For Internet Explorer we want to find the element type that has = been associated with a=20 // dynLayer object, therefore, we will look up through the = object // hierarchy until we find an element that has an associated = dynLayer. // If that element is not found then we will just pass the = original source // element and the code later on will pick dyndoc as the = dynAPI object // which is the target of this event. var par =3D event.srcElement; while(par !=3D null && par.lyrobj =3D=3D null) par =3D = par.parentElement; realsrc =3D (par =3D=3D null)?event.srcElement:par; =20 // Cache the dynLayer at the original element for faster access if(par !=3D null) event.srcElement.lyrobj =3D par.lyrobj; } _______________________________________________ Previous Code _________________________________________________ var realsrc=3Dis.ie ? e.srcElement:e.target var which=3D(is.ie||is.ns5)?e.button:e.which |
From: <no...@so...> - 2001-01-23 19:20:49
|
Patch #103383 has been updated. Project: dynapi Category: DynAPI-Widget Status: Open Submitted by: eytanh Assigned to : nobody Summary: Problem with setAlignment in TLabel ------------------------------------------------------- For more info, visit: http://sourceforge.net/patch/?func=detailpatch&patch_id=103383&group_id=5757 |
From: Eytan H. <ey...@tr...> - 2001-01-23 19:03:54
|
I figured that but I want to know what the bottle-neck is. BTW does anyone know why the current label widget setAlignment function with the value center does not work?? 8an |
From: Doug M. <do...@cr...> - 2001-01-23 18:57:11
|
Two words. Nested layers. :-) Doug ----- Original Message ----- From: "Eytan Heidingsfeld" <ey...@tr...> To: "Dynapi-Dev" <dyn...@li...> Sent: Tuesday, January 23, 2001 8:48 AM Subject: [Dynapi-Dev] Performance > I'm trying to figure out what kind of performance we have. It seems like for > actual creating of DynLayers it is great. I wrote quick code that creates > 100 DynLayers set each one some html(1 character) and moved them around. All > this in one second. Then why are our applications so heavy and why if I > create more complex widgets does it take sooo long. > 8an > > > _______________________________________________ > Dynapi-Dev mailing list > Dyn...@li... > http://lists.sourceforge.net/lists/listinfo/dynapi-dev |
From: Cameron H. <ca...@bi...> - 2001-01-23 18:33:17
|
> The problem with getContentW/H is affecting almost all of the other > widgets in NS 6, especially the ones that use the label since it > relies on those methods. So, we should fix these methods before > making changes to the widgets. LoadPanel doesn't use getContentHeight/getContentWidth for Netscape 4, so I don't see a problem with not using them for Netscape 6. I've been having a quick look at label.js, i managed to get it working in netscape 6, it's pretty rough but it does the trick. the main purpose of me doing this was as an investigation into getting getContentHeight and getContentWidth working. The first thing is getContentWidth and getContentHeight should probably return offsetWidth and offsetHeight. There unfortunately isn't a scrollHeight or scrollWidth. The second thing I found was the clip seemed to be causing problems in ns6. when setWidth or setHeight is called it also sets the clip, but if you call setWidth and no height has been set for the DynLayer then the clip height is set to 0. A 0 value should actually auto size to the size of the layer according to the w3c css2 spec (i think this is the case, try and make sense of http://www.w3.org/TR/REC-CSS2/visufx.html#clipping). but in ns6 it doesn't work. so instead of setting a clip when i set the size i set the overflow style of the dynlayer div to hidden. perhaps this will cause problems elsewhere, this isn't really supposed to be a fix, it's just research... none of this helped with the list stuff, i haven't had a chance to look at that. cheers, cameron. > -- > // Robert Rainwater > > On 1/23/2001, 4:53:11 AM EST, Cameron wrote about "[Dynapi-Dev] > Width/Height and LoadPanel in NS6": > > > I have done something similar. However I don't think that > offsetWidth and > > offsetHeight do quite do the right thing, what we need is a Netscape 6 > > equivalent to IE's scrollWidth and scrollHeight. > > > For those who are interested, Mozilla has offsetHeight and > offsetWidth (see > > http://www.mozilla.org/status/2000-08-04.html), but not scrollHeight and > > scrollWidth. See > http://msdn.microsoft.com/workshop/author/om/measuring.asp > > for an explanation of the difference. The problem I have with > offsetHeight > > in LoadPanel is because I always set the height of the > LoadPanel, the height > > I have set is returned by offsetHeight, not the true height of > the content. > > However when I load a new page in LoadPanel if I write the HTML > into a new > > child DynLayer that has no dimensions set on it, then > offsetHeight returns > > the correct contentHeight of the new Layer. > > > There isn't a lot of documentation on these measurements either, because > > they aren't part of the DOM as far as I can tell. > > > Cheers > > > Cameron. > > >> -----Original Message----- > >> From: dyn...@li... > >> [mailto:dyn...@li...]On Behalf Of > >> ni...@pr... > >> Sent: 22 January 2001 23:37 > >> To: dyn...@li... > >> Subject: Re: [Dynapi-Dev] Width/Height > >> > >> > >> this is what I use : > >> DynLayer.prototype.getContentWidth=function() { > >> if (!this.created) return 0 > >> else { > >> if (is.ns4) return this.doc.width > >> else if (is.ns5) return parseInt(this.elm.offsetWidth) > >> else return parseInt(this.elm.scrollWidth) > >> } > >> } > >> DynLayer.prototype.getContentHeight=function() { > >> if (!this.created) return 0 > >> else { > >> if (is.ns4) return this.doc.height > >> else if (is.ns5) return parseInt(this.elm.offsetHeight) > >> else return parseInt(this.elm.scrollHeight) > >> } > >> } > >> > >> > and none seem to work. This is the source of several problems > >> with the DynAPI in NS 6. > >> > >> this is true if you try to getContentWidth and Height > >> before the layer it's actually shown in the page > >> coz the browser itself takes time to get the info aboutthe layer > >> ,(sorry but my english sucks) > >> > >> I've tested in many ways and like i said before in the > >> widget-list the only way is to put a setTimeout for ns6 > >> but that cause other problem when u have a lot of nested layers > >> or complex widget > >> > >> once the layer it's on the page u can > >> alert(myLayer.getContentWidth()) and it will work > >> > >> ciao > >> Y > >> > > >> > -- > >> > // Robert Rainwater > >> > ---------------------- > >> > DynAPI Snapshots: http://dynapi.sourceforge.net/snapshot/ > >> > DynAPI Homepage: http://dynapi.sourceforge.net/ > >> > > >> > > >> > > >> > _______________________________________________ > >> > Dynapi-Dev mailing list > >> > Dyn...@li... > >> > http://lists.sourceforge.net/lists/listinfo/dynapi-dev > >> > >> > >> > >> _______________________________________________ > >> Dynapi-Dev mailing list > >> Dyn...@li... > >> http://lists.sourceforge.net/lists/listinfo/dynapi-dev > > > > _______________________________________________ > > Dynapi-Dev mailing list > > Dyn...@li... > > http://lists.sourceforge.net/lists/listinfo/dynapi-dev > > > ---------------------- > DynAPI Snapshots: http://dynapi.sourceforge.net/snapshot/ > DynAPI Homepage: http://dynapi.sourceforge.net/ > > > > _______________________________________________ > Dynapi-Dev mailing list > Dyn...@li... > http://lists.sourceforge.net/lists/listinfo/dynapi-dev |
From: <ni...@pr...> - 2001-01-23 17:54:06
|
I think this is not a problem with the event.js patch but with the actual inline.js I never got it to work properly in ns 6 . So I think we should be looking at that .. I didn't test the patch yet but it makes a lot of sense to me ciao Y On Tue, 23 January 2001, "Richard Bennett" wrote: > > Hi, > I tested it a little, and found that events do not work for inline layers in > NS6 > > Cheers, > Richard Bennett > > ma...@ri... > www.richardinfo.com > (Everything running on, and ported to the 19/12/2000 snapshot of DynAPI2) > > ----- Original Message ----- > From: "labCoat" <la...@xe...> > To: <dyn...@li...> > Sent: Tuesday, January 23, 2001 9:12 AM > Subject: [Dynapi-Dev] NS6 events and contentWH > > > > Hello all! > > > > I recently revised the latest (CVS) version of events.js, and have events > working properly in IE5, IE55, NS4, and NS6 (I don't have IE4, but I am > almost positive that it will work in it). > > > > It would be great if anyone would like to plug this into their version of > the API and take it for a test drive! (Also, I would appriciate any > feedback!) > > > > Now, I made A LOT of modifications/optimizations, and I haven't commented > everything, so please don't get angry for the lack of comments... ;-) > > > > Here goes... > > > > <!--// > > > > /* > > DynAPI Distribution > > Event Classes > > Modified: 2001.01.23 > > > > The DynAPI Distribution is distributed under the terms of the GNU LGPL > license. > > */ > > > > /*---------------------------------------------------------------------- > > -- CLASS: DynEvent > > -- ARGUMENTS: type,src,target > > -- METHODS: getType(), getSource(), getTarget() > > ----------------------------------------------------------------------*/ > > DynEvent=function(type,src,target) { > > this.type=type; > > this.src=src; > > this.target=target; > > }; > > DynEvent.prototype.getType=function() { > > return this.type; > > }; > > DynEvent.prototype.getSource=function() { > > return this.src; > > }; > > DynEvent.prototype.getTarget=function() { > > return this.target; > > }; > > > > > > /*---------------------------------------------------------------------- > > -- CLASS: EventListener > > -- ARGUMENTS: target > > -- METHODS: handleEvent() > > ----------------------------------------------------------------------*/ > > EventListener=function(target) { > > this.target=target; > > } > > EventListener.prototype.handleEvent=function(type,e) { > > if ((e.button==2 || e.button==3) && (type=='mousedown' || type=='mouseup' > || type=='click' || type=='dblclick')) { > > if (e.button==2) type='md'+type; > > if (e.button==3) type='rt'+type; > > e.type=type; //ADDED:proteanman > > } > > if (this["on"+type]) { > > if (is.ns5) { > > var mse=(type.match(/mouse/) || type.match(/click/)); > > if (!mse || (!isNaN(e.eventPhase) && ((e.src.isDynLayer && > (e.eventPhase==1 || e.eventPhase==2)) || (e.src.isDynDocument && > e.eventPhase==3)))) this["on"+type](e); > > } else this["on"+type](e); > > } > > }; > > > > /*---------------------------------------------------------------------- > > -- CLASS: MouseEvent > > -- ARGUMENTS: none > > -- METHODS: getType(), getSource(), getTarget(), setEvent(), > > bubbleEvent(), getX(), getY(), getPageX(), getPageY(), > > setBubble(), cancelBrowserEvent() > > ----------------------------------------------------------------------*/ > > MouseEvent=function() {}; > > MouseEvent.prototype.getType=function() { > > return this.type; > > }; > > MouseEvent.prototype.getSource=function() { > > return this.src; > > }; > > MouseEvent.prototype.getTarget=function() { > > return this.target; > > }; > > MouseEvent.prototype.setEvent=function(src,e) { > > this.orig=e; > > this.browserReturn=true; > > this.bubble=true; > > this.src=src; > > this.type=e.type; > > > > if (is.ie) { > > //Set event's mouse's x/y & pageX/pageY coords > > this.pageX=e.x+document.body.scrollLeft; > > this.pageY=e.y+document.body.scrollTop; > > this.x=e.offsetX; > > this.y=e.offsetY; > > > > //Set event mouse button > > var b=e.button; > > if (b==2) b=3; > > else if (b==4) b=2; > > this.button=b; > > > > //Set mouse event's modifiers > > this.altKey=(e.altKey || e.altLeft); > > this.ctrlKey=(e.ctrlKey || e.ctrlLeft); > > this.shiftKey=(e.shiftKey || e.shiftLeft); > > } else { > > //ADDED: proteanman -- adds events eventphase property for ns5 > > if (is.ns5) this.eventPhase=e.eventPhase; > > > > //Set event's mouse's x/y & pageX/pageY coords > > this.pageX=e.pageX-window.pageXOffset; > > this.pageY=e.pageY-window.pageYOffset; > > this.x=e.layerX; > > this.y=e.layerY; > > > > //Set event mouse button > > this.button=e.which; > > > > //Set mouse event's modifiers > > var m=e.modifiers; > > this.altKey=(m==1 || m==3 || m==5 || m==7); > > this.ctrlKey=(m==2 || m==3 || m==6 || m==7); > > this.shiftKey=(m==4 || m==5 || m==6 || m==7); > > } > > }; > > MouseEvent.prototype.bubbleEvent=function() { > > if (!this.bubble || this.src.isDynDocument || this.src.parent==null) > return; > > this.x+=this.src.x; > > this.y+=this.src.y; > > this.src=this.src.parent; > > this.src.invokeEvent(this.type,this); > > this.bubbleEvent(); > > return; > > }; > > MouseEvent.prototype.getX=function() { > > return this.x; > > }; > > MouseEvent.prototype.getY=function() { > > return this.y; > > }; > > MouseEvent.prototype.getPageX=function() { > > return this.pageX; > > }; > > MouseEvent.prototype.getPageY=function() { > > return this.pageY; > > }; > > MouseEvent.prototype.setBubble=function(b) { > > this.bubble=b; > > }; > > MouseEvent.prototype.cancelBrowserEvent=function(b) { > > this.browserReturn=false; > > }; > > > > /*---------------------------------------------------------------------- > > -- DynLayer Event Methods > > ----------------------------------------------------------------------*/ > > DynLayer.prototype.captureMouseEvents=function() { > > if (this.isDynDocument && this.mouseEventsCaptured) return; > > this.mouseEventsCaptured=true; > > > > if (!this.eventListeners) this.eventListeners=[]; > > this.hasEventListeners=true; > > > > if (this.isDynLayer && (!this.created || !this.elm)) return; > > > > var o=(this.isDynDocument)?this.doc:this.elm; > > > > if (is.ns4) { > > if (this.isDynLayer) o.captureEvents(Event.MOUSEOVER | > Event.MOUSEMOVE | Event.MOUSEDOWN | Event.MOUSEUP | Event.CLICK | > Event.DBLCLICK | Event.MOUSEOUT); > > else if (this.isDynDocument) o.captureEvents(Event.MOUSEMOVE | > Event.MOUSEDOWN | Event.MOUSEUP | Event.CLICK | Event.DBLCLICK); > > } else if (is.ie) { > > o.oncontextmenu=function() { > > return false; > > }; > > } > > > > if (is.ns5) { > > if (this.isDynLayer) { > > //true (bubble phase - from src to window): eventPhase = 1 to > 2 > > > o.addEventListener("mouseover",DynLayer.prototype.EventMethod,true); > > > o.addEventListener("mousemove",DynLayer.prototype.EventMethod,true); > > > o.addEventListener("mousedown",DynLayer.prototype.EventMethod,true); > > > o.addEventListener("mouseup",DynLayer.prototype.EventMethod,true); > > > o.addEventListener("click",DynLayer.prototype.EventMethod,true); > > > o.addEventListener("dblclick",DynLayer.prototype.EventMethod,true); > > > o.addEventListener("mouseout",DynLayer.prototype.EventMethod,true); > > } else if (this.isDynDocument) { > > //false (capture phase - from window to src): eventPhase = 3 > > > o.addEventListener("mousemove",DynDocument.prototype.EventMethod,false); > > > o.addEventListener("mousedown",DynDocument.prototype.EventMethod,false); > > > o.addEventListener("mouseup",DynDocument.prototype.EventMethod,false); > > > o.addEventListener("click",DynDocument.prototype.EventMethod,false); > > > o.addEventListener("dblclick",DynDocument.prototype.EventMethod,false); > > } > > } else { > > if (this.isDynLayer) > o.onmouseover=o.onmousemove=o.onmousedown=o.onmouseup=o.onclick=o.ondblclick > =o.onmouseout=DynLayer.prototype.EventMethod; > > else if (this.isDynDocument) > o.onmousemove=o.onmousedown=o.onmouseup=o.onclick=o.ondblclick=DynDocument.p > rototype.EventMethod; > > } > > }; > > DynLayer.prototype.releaseMouseEvents=function() { > > this.mouseEventsCaptured=false; > > if (this.isDynLayer) { > > var o=this.elm; > > > o.onmouseover=o.onmousemove=o.onmousedown=o.onmouseup=o.onclick=o.ondblclick > =o.onmouseout=function(e) { > > return false; > > }; > > } else if (this.isDynDocument) { > > var o=this.doc; > > > o.onmousemove=o.onmousedown=o.onmouseup=o.onclick=o.ondblclick=function(e) { > > return false; > > }; > > } > > }; > > DynLayer.prototype.EventMethod=function(e) { > > var dyndoc=this.lyrobj.dyndoc; > > if (is.ie) { > > var e=dyndoc.elm.event; > > e.cancelBubble=true; > > if (e.type=="click" && DynAPI.wasDragging) { > > DynAPI.wasDragging=false; > > return true; > > } > > if ((e.type=="mouseout" && this.contains(e.toElement)) || > (e.type=="mouseover" && this.contains(e.fromElement))) return true; > > } > > > > var > realsrc=(is.ie)?e.srcElement:(is.ns5)?e.currentTarget:e.target;//var > realsrc=(is.ie)?e.srcElement:e.target; > > > > if (is.ie) while (!realsrc.lyrobj && realsrc.parentElement && > realsrc.parentElement!=realsrc) realsrc=realsrc.parentElement;//for (; is.ie > && !realsrc.lyrobj && realsrc.parentElement && > realsrc.parentElement!=realsrc; realsrc=realsrc.parentElement); > > else if (is.ns5) while (!realsrc.lyrobj && realsrc.parentNode && > realsrc.parentNode!=realsrc) realsrc=realsrc.parentNode; > > > > var src=realsrc.lyrobj||dyndoc; > > if (!src) return true; > > var evt=dyndoc._e; > > evt.setEvent(src,e); > > var type=evt.type; > > src.invokeEvent(type,evt); > > > > if (!this.isDynDocument && is.ns && (e.type=="mouseover" || > e.type=="mouseout")) return false; > > > > evt.bubbleEvent(); > > > > //returns false after double-click, so that the click event doesn't > happen again (it happens before) after the double-click -- works all but ns5 > > if (type.match(/dblclick/)) return false; > > > > //checks for mousedown so that clicks will get fired in ns4 > > else if (is.ns4 && evt.button!=3 && type.match(/mousedown/)) return > true; > > > > //checks if there is a right-mousedown(ns4) || right-mouseup(ns5) and > prevents the right-mouse menu from popping up > > else if ((is.ns4 && evt.button==3 && type.match(/mousedown/)) || > (is.ns5 && evt.button==3 && type.match(/mouseup/))) return false; > > else return evt.browserReturn; > > }; > > DynLayer.prototype.addEventListener=function(listener) { > > if (!this.hasEventListeners) this.captureMouseEvents(); > > for (var i in this.eventListeners) { > > if (this.eventListeners[i]==listener) return; > > } > > this.eventListeners[this.eventListeners.length]=listener; > > }; > > DynLayer.prototype.removeEventListener=function(listener) { > > DynAPI.removeFromArray(this.eventListeners, listener, false); > > }; > > DynLayer.prototype.removeAllEventListeners=function() { > > if (!this.hasEventListeners) return; > > for (var i in this.eventListeners) delete this.eventListeners[i]; > > this.eventListeners=[]; > > this.hasEventListeners=false; > > }; > > DynLayer.prototype.invokeEvent=function(type,e) { > > if (!this.hasEventListeners) return; > > > > if (is.ie && this.isDynLayer && ((type=='mouseover' && > this.elm.contains(e.orig.fromElement)) || (type=='mouseout' && > this.elm.contains(e.orig.toElement)))) return; > > > > var orig=null; > > if (is.ns && e) { > > orig=e.orig; > > e.cancelBubble=false; > > } > > if (is.ns4 && is.platform=='other' && type.match(/mousedown/)) { > > if (this.dbltimer!=null) { > > type="dblclick"; > > if (e) e.type=type; > > } else this.dbltimer=setTimeout(this+'.dbltimer=null',300); > > } > > for (var i=0; i<this.eventListeners.length; i++) { > > if (e) e.target=this.eventListeners[i].target; > > else { > > e=new DynEvent(type,this); > > e.target=this.eventListeners[i].target; > > if (is.ns) e.cancelBubble=false; > > } > > this.eventListeners[i].handleEvent(type,e); > > } > > > > if (is.ns && ((this.isDynLayer && e) || (this.isDynDocument && (e || > i!=0)))) { > > if (e.cancelBubble) return; > > if (orig && orig.target.handleEvent) { > > if (this.isDynLayer && orig.target!=this.elm) > orig.target.handleEvent(type,orig); > > else if (this.isDynDocument && !orig.target.URL) > orig.target.handleEvent(orig); > > } > > } > > if (is.ns4 && is.platform=='other' && type=='mouseup') > this.invokeEvent('click',e); > > if (this.isDynLayer && this.parentComponent) { > > if (e) e.src=this.parentComponent; > > else e=new DynEvent(type,this); > > this.parentComponent.invokeEvent(type,e); > > } > > }; > > > > /*---------------------------------------------------------------------- > > -- DynDocument Event Methods > > ----------------------------------------------------------------------*/ > > DynDocument.prototype._e=new MouseEvent(); > > > DynDocument.prototype.captureMouseEvents=DynLayer.prototype.captureMouseEven > ts; > > > DynDocument.prototype.releaseMouseEvents=DynLayer.prototype.releaseMouseEven > ts; > > DynDocument.prototype.EventMethod=DynLayer.prototype.EventMethod; > > > DynDocument.prototype.addEventListener=DynLayer.prototype.addEventListener; > > > DynDocument.prototype.removeEventListener=DynLayer.prototype.removeEventList > ener; > > > DynDocument.prototype.removeAllEventListeners=DynLayer.prototype.removeAllEv > entListeners; > > DynDocument.prototype.invokeEvent=DynLayer.prototype.invokeEvent; > > > > //--> > > > > I have also made A LOT of modifications to dynlayer.js, which fixes some > of the existing problems, including tge contentW/H (specifically in NS4 and > NS6, in the createElement). But it is still undergoing evtensive testing. > > > > I need to set up CVS on my computer, so that I can make these updates > soon. > > > > --proteanman > > > > On Mon, 22 January 2001, ni...@pr... wrote: > > > > > > > > I tried your patch and still doubleclick on ns 6 doesn't work > > > ciao > > > Y > > > On Mon, 22 January 2001, no...@so... wrote: > > > > > > > > > > > Patch #103359 has been updated. > > > > > > > > Project: dynapi > > > > Category: DynAPI-Event > > > > Status: Open > > > > Submitted by: camhart > > > > Assigned to : nobody > > > > Summary: NS6 event fixes > > > > > > > > Follow-Ups: > > > > > > > > Date: 2001-Jan-22 19:55 > > > > By: nobody > > > > > > > > Comment: > > > > Tested and working > > > > Richard Bennett > > > > ------------------------------------------------------- > > > > > > > > ------------------------------------------------------- > > > > For more info, visit: > > > > > > > > > http://sourceforge.net/patch/?func=detailpatch&patch_id=103359&group_id=5757 > > > > > > > > _______________________________________________ > > > > Dynapi-Dev mailing list > > > > Dyn...@li... > > > > http://lists.sourceforge.net/lists/listinfo/dynapi-dev > > > > > > > > > > > > _______________________________________________ > > > Dynapi-Dev mailing list > > > Dyn...@li... > > > http://lists.sourceforge.net/lists/listinfo/dynapi-dev > > > > _______________________________________________ > > Dynapi-Dev mailing list > > Dyn...@li... > > http://lists.sourceforge.net/lists/listinfo/dynapi-dev > > ____________________________________________________________ > > Get your free domain name and domain-based e-mail from > > Namezero.com. New! Namezero Plus domains now available. > > Find out more at: http://www.namezero.com > > > > > _______________________________________________ > Dynapi-Dev mailing list > Dyn...@li... > http://lists.sourceforge.net/lists/listinfo/dynapi-dev |
From: Eytan H. <ey...@tr...> - 2001-01-23 16:49:07
|
I'm trying to figure out what kind of performance we have. It seems like for actual creating of DynLayers it is great. I wrote quick code that creates 100 DynLayers set each one some html(1 character) and moved them around. All this in one second. Then why are our applications so heavy and why if I create more complex widgets does it take sooo long. 8an |
From: Raides J. <ra...@te...> - 2001-01-23 16:39:53
|
What I will say should be applicable to Mozilla, NS6 and IE5.5 (the DOM compliant browsers): Object Event (properties): type -> string, the type of the event ("mouseover", etc.). target -> Object EventTarget, the object that originally got the event. currentTarget -> Object EventTarget, the object that actually is processing the event (through bubbling or capturing). bubbles -> boolean, if true means that this event can bubble to the top of the DOM tree. cancelable -> boolean, if true means that this event can be cancelled at any moment and bubbling and capturing will stop inmediatly. timeStamp -> datetime, the time when the event took place. stopPropagation() -> inmediatly cancels the event, but doesn't disallow that any other event listener in the same node of the DOM tree to catch the same event. preventDefault() -> avoids the implementation's default action if it's a cancelable event. This, on instance, means that in NS6 it's possible to cancel the menu display on the right mouse click event. initEvent(type,canbubble,cancelable) -> creates an event with the type given, that can or cann't bubble, and which is or not cancelable. NS6 gives this properties for a Mouse/Key Event: charCode -> char, code of the key keyCode -> integer, exploration code of the key altKey -> boolean, true if the Alt key is pressed ctrlKey -> boolean, true if the Control key is pressed shiftKey -> boolean, true if the Shift key is pressed metaKey -> boolean, true if the Meta key is pressed (Mac) screenX -> integer, the X coordinate of the mouse relative to screen screenY -> integer, the Y coordinate of the mouse relative to screen clientX -> integer, the X coordinate of the mouse relative to the current client window clientY -> integer, the Y coordinate of the mouse relative to the current client window button -> integer, the buttons pressed on the mouse relatedTarget -> Object EventTarget, secondary target of the event. In mouseover indicates the target exited by the pointer (the last target with the mouse over) and in mouseout indicates the target that the pointer entered (the target that will catch the mouse over next). view -> Object Window, the current window object detail -> integer, *see below layerX -> integer, the X coordinate of the mouse relative to the actual layer layerY -> integer, the Y coordinate of the mouse relative to the actual layer pageX -> integer, the X coordinate of the mouse relative to the actual page pageY -> integer, the Y coordinate of the mouse relative to the actual page which -> integer, the kind of event (?) rangeParent -> Object Text, the text that is selected (if any) rangeOffset -> integer, the offset on the text parent object where the selection starts cancelBubble -> boolean, if set to true cancellates the event bubbling isChar -> boolean, if true the key pressed is an ASCII key type -> string, the name of the event target, currentTarget -> same as for Event Object above originalTarget -> Object EventTarget, the first target that got this event eventPhase -> integer, any of CAPTURING_PHASE(1),AT_TARGET(2) and BUBBLING_PHASE(3) bubbles, cancelable and timeStamp -> same as for Event Object above (*) About detail, quoting the DOM2-Events documentation: "The MouseEvent interface provides specific contextual information associated with Mouse events. The detail attribute inherited from UIEvent [p.19] indicates the number of times a mouse button has been pressed and released over the same screen location during a user action. The attribute value is 1 when the user begins this action and increments by 1 for each full sequence of pressing and releasing. If the user moves the mouse between the mousedown and mouseup the value will be set to 0, indicating that no click is occurring." ... which is a good way of knowing if a click is a double- or triple-click and if a drag is on the way (a change from 1 to 0 will mean drag started-finished). And this is another quote from the DOM2-Events documentation at w3.org: "It is expected that actions taken by EventListener [p.14] s may cause additional events to fire. Additional events should be handled in a synchronous manner and may cause reentrancy into the event model." ... which correlates with the mail from Doug Melvin titled "[Dynapi-Dev] To all; Re drag events. (and other events)" and his use of a check variable to allow event reentrancy. I hope this long post to be of help to the development of this API. I have both the official documentation from the W3 and Netscape 6.0 to experiment, but no time at the moment to study things further. I reccomend http://www.brainjar.com (to which I'm in no way affiliated) as a source of knowledge on NS6 and IE5.5 DOM-compliant browsers and how to manipulate events and screen coordinates on them. Raides J. -- Paying attention to details since 1966 ;) |