Author: jcrowley
Date: 2007-06-12 22:15:47 -0700 (Tue, 12 Jun 2007)
New Revision: 5396
Added:
sandbox/jcrowley/charting/foodchart.lzx
sandbox/jcrowley/charting/linechart.lzx
sandbox/jcrowley/charting/linechartbacking.lzx
sandbox/jcrowley/charting/linedata.xml
sandbox/jcrowley/charting/newlinechart.lzx
Modified:
sandbox/jcrowley/charting/barchart.lzx
sandbox/jcrowley/charting/barchartalt.lzx
sandbox/jcrowley/charting/chartbacking.lzx
sandbox/jcrowley/charting/chartzoomer.lzx
sandbox/jcrowley/charting/databar.lzx
sandbox/jcrowley/charting/dataseries.lzx
sandbox/jcrowley/charting/label.lzx
sandbox/jcrowley/charting/mealdata.xml
sandbox/jcrowley/charting/newchart.lzx
sandbox/jcrowley/charting/randomdata.xml
Log:
Updating charting stuff in my sandbox.
Property changes on: sandbox/jcrowley/charting/barchart.lzx
___________________________________________________________________
Name: svn:mine-type
+ none
Property changes on: sandbox/jcrowley/charting/barchartalt.lzx
___________________________________________________________________
Name: svn:mine-type
+ none
Property changes on: sandbox/jcrowley/charting/chartbacking.lzx
___________________________________________________________________
Name: svn:mine-type
+ none
Modified: sandbox/jcrowley/charting/chartzoomer.lzx
===================================================================
--- sandbox/jcrowley/charting/chartzoomer.lzx 2007-06-13 02:37:50 UTC (rev
5395)
+++ sandbox/jcrowley/charting/chartzoomer.lzx 2007-06-13 05:15:47 UTC (rev
5396)
@@ -2,8 +2,12 @@
<class name="chartzoomer" width="${parent.plotwidth}"
height="${parent.plotheight}"
x="${parent.plotx}" y="${parent.ploty}" visible="${parent.zoomable}"
opacity=".4">
- <attribute name="origscalemax" type="number"
value="$once{parent.scalemax}"/>
- <attribute name="origscalemin" type="number"
value="$once{parent.scalemin}"/>
+ <attribute name="origmaximum" type="number"
value="$once{parent.maximum}"/>
+ <attribute name="origminimum" type="number"
value="$once{parent.minimum}"/>
+ <attribute name="origscaler" type="number"
value="$once{parent.scaler}"/>
+ <attribute name="origaltmaximum" type="number"
value="$once{parent.altmaximum}"/>
+ <attribute name="origaltminimum" type="number"
value="$once{parent.altminimum}"/>
+ <attribute name="origaltscaler" type="number"
value="$once{parent.altscaler}"/>
<attribute name="cornerx" type="number" value="0"/>
<attribute name="cornery" type="number" value="0"/>
<attribute name="zoomwidth" type="number" value="0"/>
@@ -24,32 +28,28 @@
</handler>
<handler name="onmouseup">
<![CDATA[
- if(parent.drawaxis == 'x'){
- if(parent.getMouse('x') <= cornerx ||
- parent.getMouse('y' <= cornery)){
- parent.setAttribute('barslider', 0);
- parent.setAttribute('scalemin', this.origscalemin);
- parent.setAttribute('scalemax', this.origscalemax);
- } else if(parent.getMouse('x') > cornerx){
- var newratio = Math.abs(parent.plotwidth / this.width);
- parent.setAttribute('barslider', (parent.barslider *
newratio) -
- ((this.x - parent.plotx) * newratio));
- parent.setAttribute('scalemin', parent.scalemin *
newratio);
- parent.setAttribute('scalemax', parent.scalemax *
newratio);
- }
- } else {
- if(parent.getMouse('x') <= cornerx ||
- parent.getMouse('y') <= cornery){
- parent.setAttribute('barslider', 0);
- parent.setAttribute('scalemin', this.origscalemin);
- parent.setAttribute('scalemax', this.origscalemax);
- } else if(parent.getMouse('y') > cornery){
- var newratio = Math.abs(parent.plotheight / this.height);
- parent.setAttribute('barslider', (parent.barslider *
newratio) -
- ((this.y - parent.ploty) * newratio));
- parent.setAttribute('scalemin', parent.scalemin *
newratio);
- parent.setAttribute('scalemax', parent.scalemax *
newratio);
- }
+ parent.setAttribute('zooming', true);
+ if(parent.getMouse('x') <= cornerx ||
+ parent.getMouse('y' <= cornery)){
+ parent.setAttribute('paneslider', 0);
+ parent.setAttribute('altslider', 0);
+ parent.setAttribute('altminimum', this.origaltminimum);
+ parent.setAttribute('altmaximum', this.origaltmaximum);
+ parent.setAttribute('minimum', this.origminimum);
+ parent.setAttribute('maximum', this.origmaximum);
+ } else if(parent.getMouse('x') > cornerx && parent.getMouse('y') >
cornery){
+ var newwratio = Math.abs(parent.plotwidth / this.width);
+ var newhratio = Math.abs(parent.plotheight / this.height);
+ parent.setAttribute('paneslider', (parent.paneslider *
newwratio) -
+ ((this.x - parent.plotx) * newwratio));
+ parent.setAttribute('altslider', (parent.altslider *
newhratio) -
+ ((this.y - parent.ploty) * newhratio));
+ parent.setAttribute('scaledaltmin', parent.scaledaltmin *
newwratio);
+ parent.setAttribute('scaledaltmax', parent.scaledaltmax *
newwratio);
+ parent.setAttribute('altscaler', parent.altscaler * newwratio);
+ parent.setAttribute('scaledmin', parent.scaledmin * newhratio);
+ parent.setAttribute('scaledmax', parent.scaledmax * newhratio);
+ parent.setAttribute('scaler', parent.scaler * newhratio);
}
this.setWidth(parent.plotwidth);
this.setHeight(parent.plotheight);
@@ -57,6 +57,7 @@
this.setY(parent.ploty);
this.rs.remove();
this.setAttribute('bgcolor', null);
+ parent.setAttribute('zooming', false);
]]>
</handler>
<resizestate name="rs"/>
Property changes on: sandbox/jcrowley/charting/chartzoomer.lzx
___________________________________________________________________
Name: svn:mine-type
+ none
Property changes on: sandbox/jcrowley/charting/databar.lzx
___________________________________________________________________
Name: svn:mine-type
+ none
Modified: sandbox/jcrowley/charting/dataseries.lzx
===================================================================
--- sandbox/jcrowley/charting/dataseries.lzx 2007-06-13 02:37:50 UTC (rev
5395)
+++ sandbox/jcrowley/charting/dataseries.lzx 2007-06-13 05:15:47 UTC (rev
5396)
@@ -4,16 +4,16 @@
declared on a given chart, resulting in multiple
sets of data displayed. -->
- <class name="dataseries" datapath="${parent.datapath}">
+ <class name="dataseries" datapath="${parent.parent.datapath}">
<!-- The data to be linked to the x axis. -->
- <attribute name="xdatapath" type="string"/>
+ <attribute name="xdatapath" type="string" value=""/>
<!-- The data to be linked to the y axis. -->
- <attribute name="ydatapath" type="string"/>
+ <attribute name="ydatapath" type="string" value=""/>
<!-- Is this series of data enabled? -->
<attribute name="enabled" value="true"/>
<!-- The path of the label data. -->
- <attribute name="label" type="string"/>
- <!-- Color of the bar. -->
+ <attribute name="label" type="string" value=""/>
+ <!-- Color of the line. -->
<attribute name="dcolor" type="string" value=""/>
<attribute name="dresource" type="string" value=""/>
<attribute name="dopac" type="number" value="1"/>
@@ -32,6 +32,41 @@
<attribute name="labeldata" value="$once{[]}"/>
<attribute name="rscdata" value="$once{[]}"/>
<attribute name="colordata" value="$once{[]}"/>
+
+ <!-- Linechart-specific attributes -->
+ <!-- The size of the points. -->
+ <attribute name="pointdiameter" type="string" value="5"/>
+ <!-- Whether to draw points, and if so, which color. -->
+ <attribute name="pointsvisible" type="string" value=""/>
+ <!-- Whether to draw a line between points, and if so, which color.
+ If using data for this attribute, this will determine whether
+ to draw a line from the last point to the current point. -->
+ <attribute name="linesvisible" type="string" value=""/>
+ <!-- The thickness of the line from the last point to the current
point.
+ If using data for this attribute, this will determine the thickness
+ of the line from the last point to the current point. -->
+ <attribute name="linethickness" type="string" value="1"/>
+ <!-- Whether to draw borders around points, and if so, which color. -->
+ <attribute name="pointborder" type="string" value=""/>
+ <!-- What shape to make the point. -->
+ <attribute name="pointshape" type="string" value="square"/>
+ <!-- The opacity of the points. -->
+ <attribute name="pointopacity" type="string" value="1"/>
+ <!-- The border around the points. -->
+ <attribute name="pointborderwidth" type="string" value="1"/>
+ <!-- Whether to fill beneath the line, and if so, which color. -->
+ <attribute name="fillbelow" type="string" value="$once{null}"/>
+ <!-- The opacity of the filled area below the line. -->
+ <attribute name="fbopacity" type="string" value=".2"/>
+
+ <attribute name="pointddata" value="$once{[]}"/>
+ <attribute name="pvdata" value="$once{[]}"/>
+ <attribute name="lvdata" value="$once{[]}"/>
+ <attribute name="lthickdata" value="$once{[]}"/>
+ <attribute name="pborderdata" value="$once{[]}"/>
+ <attribute name="pshapedata" value="$once{[]}"/>
+ <attribute name="popacdata" value="$once{[]}"/>
+ <attribute name="pbwidthdata" value="$once{[]}"/>
<handler name="ondata">
this.sortData();
@@ -43,19 +78,46 @@
this.setAttribute('xdata', dp.xpathQuery(this.xdatapath));
this.setAttribute('ydata', dp.xpathQuery(this.ydatapath));
- if(typeof this.dresource != 'undefined'){
+ if(this.dresource != '' && this.dresource != null){
this.setAttribute('rscdata', dp.xpathQuery(this.dresource));
}
- if(typeof this.label != 'undefined'){
+ if(this.label != '' && this.label != null){
this.setAttribute('labeldata', dp.xpathQuery(this.label));
}
- if(typeof this.dcolor != 'undefined'){
+ if(this.dcolor != '' && this.dcolor != null){
this.setAttribute('colordata', dp.xpathQuery(this.dcolor));
}
+ if(this.pointdiameter != ''&& this.pointdiameter != null){
+ this.setAttribute('pointddata',
dp.xpathQuery(this.pointdiameter));
+ }
+ if(this.pointsvisible != '' && this.pointsvisible != null){
+ if(this.pointsvisible.indexOf('#') != 0){
+ this.setAttribute('pvdata',
dp.xpathQuery(this.pointsvisible));
+ }
+ }
+ if(this.linesvisible != '' && this.linesvisible != null){
+ if(this.linesvisible.indexOf('#') != 0){
+ this.setAttribute('lvdata',
dp.xpathQuery(this.linesvisible));
+ }
+ }
+ if(this.linethickness != '' && this.linethickness != null){
+ this.setAttribute('lthickdata',
dp.xpathQuery(this.linethickness));
+ }
+ if(this.pointborder != '' && this.pointborder != null){
+ this.setAttribute('pborderdata',
dp.xpathQuery(this.pointborder));
+ }
+ if(this.pointshape != '' && this.pointshape != null){
+ this.setAttribute('pshapedata',
dp.xpathQuery(this.pointshape));
+ }
+ if(this.pointopacity != '' && this.pointopacity != null){
+ this.setAttribute('popacdata',
dp.xpathQuery(this.pointopacity));
+ }
+ if(this.pointborderwidth != '' && this.pointborderwidth != null){
+ this.setAttribute('pbwidthdata',
dp.xpathQuery(this.pointborderwidth));
+ }
+
parent.parent.setAttribute('seriesnumber',
this.countSiblingDataseries());
- parent.parent.setAttribute('datalow', this.getLow());
- parent.parent.setAttribute('datahigh', this.getHigh());
]]>
</method>
<method name="countSiblingDataseries">
@@ -70,58 +132,10 @@
return sibnum;
]]>
</method>
- <method name="getLow">
- <![CDATA[
- if(parent.parent.drawaxis == 'x'){
- if(this.ydata != null){
- var ylow = parent.parent.datalow;
- for(var i = 0; i <= this.ydata.length; i++){
- if(this.ydata[i] < ylow){
- ylow = this.ydata[i];
- }
- }
- }
- return ylow;
- } else {
- if(this.xdata != null){
- var xlow = this.xdata[0];
- for(var i = 0; i <= this.xdata.length; i++){
- if(this.xdata[i] < xlow){
- xlow = this.xdata[i];
- }
- }
- }
- return xlow;
- }
- ]]>
- </method>
- <method name="getHigh">
- <![CDATA[
- if(parent.parent.drawaxis == 'x'){
- if(this.ydata != null){
- var yhigh = parent.parent.datahigh;
- for(var i = 0; i <= this.ydata.length; i++){
- if(this.ydata[i] > yhigh){
- yhigh = this.ydata[i];
- }
- }
- }
- return yhigh;
- } else {
- if(this.xdata != null){
- var xhigh = this.xdata[0];
- for(var i = 0; i <= this.xdata.length; i++){
- if(this.xdata[i] > xhigh){
- xhigh = this.xdata[i];
- }
- }
- }
- return xhigh;
- }
- ]]>
- </method>
</class>
+ <!-- A container class for dataseries instances. Helps organize and
+ locate the data. -->
<class name="chartdata" datapath="${parent.datapath}"/>
</library>
Property changes on: sandbox/jcrowley/charting/dataseries.lzx
___________________________________________________________________
Name: svn:mine-type
+ none
Added: sandbox/jcrowley/charting/foodchart.lzx
Property changes on: sandbox/jcrowley/charting/foodchart.lzx
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Name: svn:mine-type
+ none
Name: svn:eol-style
+ native
Modified: sandbox/jcrowley/charting/label.lzx
===================================================================
--- sandbox/jcrowley/charting/label.lzx 2007-06-13 02:37:50 UTC (rev 5395)
+++ sandbox/jcrowley/charting/label.lzx 2007-06-13 05:15:47 UTC (rev 5396)
@@ -7,17 +7,18 @@
<attribute name="lbwidth" type="number" value="1"/>
<attribute name="ltcolor" type="color" value="#000000"/>
<attribute name="fadein" type="boolean" value="false"/>
- <attribute name="drawaxis" type="string" value="x"/>
<attribute name="labelnumber" type="number" value="0"/>
<attribute name="labelset" type="number" value="0"/>
-
- <text name="realtext" resize="true" text="${parent.ltext}"
- fontsize="${parent.ltextsize}" x="${(parent.width - this.width) /
2}"
- fgcolor="${parent.ltcolor}" y="${(parent.height - this.height) /
2}"/>
+ <attribute name="charttype" type="string" value="line"/>
+ <attribute name="rvalx" type="number" value="0"/>
+ <attribute name="rvaly" type="number" value="0"/>
+ <handler name="oncontext">
+ this.renderBorder();
+ </handler>
<handler name="oninit">
- var barlink = parent['bar'+this.labelset+this.labelnumber];
- if(this.drawaxis == 'x'){
+ if(this.charttype == "bar"){
+ var barlink = parent['bar'+this.labelset+this.labelnumber];
var f = function(){
this.setAttribute("x", barlink.x + (barlink.width / 2) -
(this.width / 2));
@@ -29,23 +30,24 @@
}
var dd = [barlink, "y"];
this.applyConstraint("y", ff, dd);
- } else {
+ if(this.fadein == true){
+ this.fader.doStart();
+ }
+ } else if(this.charttype == "line"){
var f = function(){
- this.setAttribute("y", barlink.y - (this.height / 2) +
- (barlink.height / 2));
+ this.setAttribute("x", parent.classroot.altscaler *
this.rvalx +
+ parent.classroot.altzero);
}
- var d = [barlink, "y"];
- this.applyConstraint("y", f, d);
+ var d = [parent.classroot, "altscaler"];
+ this.applyConstraint("x", f, d);
var ff = function(){
- this.setAttribute("x", barlink.x + barlink.width + 4);
+ this.setAttribute("y",
parent.classroot.dataclip.datapane.height -
+ (parent.classroot.scaler * this.rvaly) -
parent.classroot.findzero -
+ this.height - 3);
}
- var dd = [barlink, "x"];
- this.applyConstraint("x", ff, dd);
+ var dd = [parent.classroot, "scaler"];
+ this.applyConstraint("y", ff, dd);
}
- this.renderBorder();
- if(this.fadein == true){
- this.fader.doStart();
- }
</handler>
<handler name="onmouseover">
this.bringToFront();
@@ -67,6 +69,10 @@
<animator name="fader" attribute="opacity" from="0" to="1"
duration="5000"
start="false"/>
+
+ <text name="realtext" resize="true" text="${parent.ltext}"
+ fontsize="${parent.ltextsize}" x="${(parent.width - this.width) /
2}"
+ fgcolor="${parent.ltcolor}" y="${(parent.height - this.height) /
2}"/>
</class>
<class name="ticklabel" extends="text">
@@ -74,38 +80,50 @@
<attribute name="tickaxis" type="string" value="y"/>
<attribute name="labelnumber" type="number" value="0"/>
<attribute name="labelset" type="number" value="0"/>
+ <attribute name="numlabels" type="number" value="0"/>
<handler name="onconstruct">
<![CDATA[
if(this.tickaxis == 'x'){
- var barlink =
parent.classroot.parent.barclip.barpane['bar'+this.labelset+
+ var barlink =
parent.classroot.parent.dataclip.datapane['bar'+this.labelset+
this.labelnumber];
- if(parent.classroot.parent.drawaxis == 'x'){
- if(this.labelnumber != 0 && this.labelset != 0){
+ if(this.labelset != 0){
+ var f = function(){
+ this.setAttribute("x", barlink.x + (barlink.width / 2)
-
+ (this.width / 2));
+ }
+ var d = [barlink, "x"];
+ this.applyConstraint("x", f, d);
+ } else {
+ //if(parent.classroot.parent.altminimum < 0){
+ //var f = function(){
+ // this.setAttribute("x", ((parent.width /
this.numlabels) *
+ // (this.labelnumber - 1)) - (this.width / 2) -
+ // ((parent.classroot.parent.altminimum %
parent.classroot.parent.vgridspacing) *
+ // parent.classroot.parent.altscaler));
+ //}
+ //} else {
var f = function(){
- this.setAttribute("x", barlink.x + (barlink.width
/ 2) -
- (this.width / 2));
+ this.setAttribute("x", ((parent.width /
this.numlabels) *
+ (this.labelnumber)) - (this.width / 2) -
+ ((parent.classroot.parent.altminimum %
parent.classroot.parent.vgridspacing) *
+ parent.classroot.parent.altscaler));
}
- var d = [barlink, "x"];
- this.applyConstraint("x", f, d);
- }
- } else {
- this.setX(this.x - (this.width / 2));
- this.setY(this.y + this.ticklength);
+ //}
+ var d = [parent, "width"];
+ this.applyConstraint("x", f, d);
}
} else {
- var barlink =
parent.classroot.parent.barclip.barpane['bar'+this.labelset+
+ var barlink =
parent.classroot.parent.dataclip.datapane['bar'+this.labelset+
this.labelnumber];
- if(parent.classroot.parent.drawaxis == 'x'){
- this.setX(this.x - this.width - this.ticklength);
- this.setY(this.y - (this.height / 2));
- } else {
- var f = function(){
- this.setAttribute("y", barlink.y - (this.height / 2) +
- (barlink.height / 2));
- }
- var d = [barlink, "y"];
- this.applyConstraint("y", f, d);
+ this.setX(parent.width - this.width - this.ticklength);
+ var f = function(){
+ this.setAttribute("y", parent.height - ((parent.height /
this.numlabels) *
+ this.labelnumber) - ((parent.classroot.parent.minimum %
+ parent.classroot.parent.hgridspacing) *
parent.classroot.parent.scaler * -1) -
+ (this.height / 2));
}
+ var d = [parent, "height"];
+ this.applyConstraint("y", f, d);
}
]]>
</handler>
Property changes on: sandbox/jcrowley/charting/label.lzx
___________________________________________________________________
Name: svn:mine-type
+ none
Added: sandbox/jcrowley/charting/linechart.lzx
Property changes on: sandbox/jcrowley/charting/linechart.lzx
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Name: svn:mine-type
+ none
Name: svn:eol-style
+ native
Added: sandbox/jcrowley/charting/linechartbacking.lzx
Property changes on: sandbox/jcrowley/charting/linechartbacking.lzx
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Name: svn:mine-type
+ none
Name: svn:eol-style
+ native
Added: sandbox/jcrowley/charting/linedata.xml
Property changes on: sandbox/jcrowley/charting/linedata.xml
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Name: svn:mine-type
+ none
Name: svn:eol-style
+ native
Modified: sandbox/jcrowley/charting/mealdata.xml
===================================================================
--- sandbox/jcrowley/charting/mealdata.xml 2007-06-13 02:37:50 UTC (rev
5395)
+++ sandbox/jcrowley/charting/mealdata.xml 2007-06-13 05:15:47 UTC (rev
5396)
@@ -1,28 +1,24 @@
<foodata>
<Monica>
- <day date="20070313" breakfast="0" dinner="323"/>
- <day date="20070314" breakfast="323" dinner="213"/>
- <day date="20070315" breakfast="265" dinner="250"/>
- <day date="20070316" breakfast="322" dinner="0"/>
- <day date="20070317" breakfast="290" dinner="298"/>
- <day date="20070318" breakfast="270" dinner="193"/>
- <day date="20070319" breakfast="204" dinner="155"/>
- <day date="20070320" breakfast="209" dinner="183"/>
- <day date="20070321" breakfast="207" dinner="168"/>
- <day date="20070322" breakfast="242" dinner="175"/>
- <day date="20070323" breakfast="210" dinner="168"/>
- <day date="20070324" breakfast="192" dinner="144"/>
- <day date="20070325" breakfast="178" dinner="119"/>
- <day date="20070326" breakfast="193" dinner="136"/>
- <day date="20070327" breakfast="168" dinner="0"/>
- <day date="20070328" breakfast="163" dinner="146"/>
- <day date="20070329" breakfast="159" dinner="127"/>
- <day date="20070330" breakfast="153" dinner="136"/>
- <day date="20070331" breakfast="160" dinner="125"/>
- <day date="20070301" breakfast="134" dinner="111"/>
- <day date="20070302" breakfast="141" dinner="0"/>
- <day date="20070303" breakfast="140" dinner="121"/>
- <day date="20070304" breakfast="158" dinner="119"/>
+ <day date="313" breakfast="0" dinner="323"/>
+ <day date="314" breakfast="323" dinner="213"/>
+ <day date="315" breakfast="265" dinner="250"/>
+ <day date="316" breakfast="322" dinner="0"/>
+ <day date="317" breakfast="290" dinner="298"/>
+ <day date="318" breakfast="270" dinner="193"/>
+ <day date="319" breakfast="204" dinner="155"/>
+ <day date="320" breakfast="209" dinner="183"/>
+ <day date="321" breakfast="207" dinner="168"/>
+ <day date="322" breakfast="242" dinner="175"/>
+ <day date="323" breakfast="210" dinner="168"/>
+ <day date="324" breakfast="192" dinner="144"/>
+ <day date="325" breakfast="178" dinner="119"/>
+ <day date="326" breakfast="193" dinner="136"/>
+ <day date="327" breakfast="168" dinner="0"/>
+ <day date="328" breakfast="163" dinner="146"/>
+ <day date="329" breakfast="159" dinner="127"/>
+ <day date="330" breakfast="153" dinner="136"/>
+ <day date="331" breakfast="160" dinner="125"/>
</Monica>
</foodata>
<!-- * X_LZ_COPYRIGHT_BEGIN ***************************************************
Property changes on: sandbox/jcrowley/charting/mealdata.xml
___________________________________________________________________
Name: svn:mine-type
+ none
Property changes on: sandbox/jcrowley/charting/newchart.lzx
___________________________________________________________________
Name: svn:mine-type
+ none
Added: sandbox/jcrowley/charting/newlinechart.lzx
Property changes on: sandbox/jcrowley/charting/newlinechart.lzx
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Name: svn:mine-type
+ none
Name: svn:eol-style
+ native
Property changes on: sandbox/jcrowley/charting/randomdata.xml
___________________________________________________________________
Name: svn:mine-type
+ none
_______________________________________________
Laszlo-checkins mailing list
[email protected]
http://www.openlaszlo.org/mailman/listinfo/laszlo-checkins