Author: jcrowley
Date: 2007-10-09 09:37:23 -0700 (Tue, 09 Oct 2007)
New Revision: 6769
Modified:
openlaszlo/trunk/lps/components/base/basecombobox.lzx
Log:
Change 20071009-jcrowley-z by [EMAIL PROTECTED] on 2007-10-09 12:34:27 EDT
in /Users/jcrowley/src/svn/openlaszlo/trunk-f
for http://svn.openlaszlo.org/openlaszlo/trunk
Summary: (Already approved by Phil; am integrating into a different
local branch before checking in.) long comobox does not
render properly on firefox 2.0
New Features:
Bugs Fixed: LPP-4192 - long comobox does not render properly on
firefox 2.0
Technical Reviewer: pbr
QA Reviewer: henry
Doc Reviewer:
Documentation:
Release Notes:
Details: This one wasn't really that much of a bug, since
you can set limits on the list size and give it
a scrollbar if you have to clip it, but I thought
there should still be some kind of check to make
sure it's not longer than the canvas. I added
attribute 'sizetocanvas', default true, to set
the number of visible elements in an expanded
list to fit the list on the canvas. In the likely
rare event one wants to let the list spill off the
canvas, they can always set sizetocanvas to false.
Tests: Run:
<canvas>
<combobox id="serviceCombo"
width="130"
defaulttext="choose one..." editable="false" enabled="true">
<textlistitem datapath="services:/services/service"
text="$path{'@name'}"
value="$path{'@value'}"/>
</combobox>
<dataset name="services">
<services>
<service name="adamsboswe" value="adamsboswe"/>
<service name="323iactive" value="323iactive"/>
<service name="aecom" value="aecom"/>
<service name="1stomni" value="1stomni"/>
<service name="acisol" value="acisol"/>
<service name="ares" value="ares"/>
<service name="180solutio" value="180solutio"/>
<service name="ameris" value="ameris"/>
<service name="11below" value="11below"/>
<service name="advcommerc" value="advcommerc"/>
<service name="alloy" value="alloy"/>
<service name="abnerherrm" value="abnerherrm"/>
<service name="active" value="active"/>
<service name="activewind" value="activewind"/>
<service name="aei" value="aei"/>
<service name="adelante" value="adelante"/>
<service name="3spn" value="3spn"/>
<service name="ampere" value="ampere"/>
<service name="abundant" value="abundant"/>
<service name="advantage" value="advantage"/>
<service name="aethionsi" value="aethionsi"/>
<service name="altrec" value="altrec"/>
<service name="arin" value="arin"/>
<service name="aplia" value="aplia"/>
<service name="ailiant" value="ailiant"/>
<service name="about" value="about"/>
<service name="amerisec" value="amerisec"/>
<service name="alorica" value="alorica"/>
<service name="americasho" value="americasho"/>
<service name="americanap" value="americanap"/>
<service name="anomaly" value="anomaly"/>
<service name="anyware" value="anyware"/>
<service name="aloricaden" value="aloricaden"/>
<service name="appdiscove" value="appdiscove"/>
<service name="alpaul" value="alpaul"/>
<service name="advpersonn" value="advpersonn"/>
<service name="accesscomm" value="accesscomm"/>
<service name="absclothin" value="absclothin"/>
<service name="ainet" value="ainet"/>
<service name="aismedia" value="aismedia"/>
<service name="americom" value="americom"/>
<service name="accessline" value="accessline"/>
<service name="altntech" value="altntech"/>
<service name="apex" value="apex"/>
<service name="adinfuse" value="adinfuse"/>
<service name="actsgroup" value="actsgroup"/>
<service name="alliance" value="alliance"/>
<service name="alphazeta" value="alphazeta"/>
<service name="akamai" value="akamai"/>
<service name="aitcc" value="aitcc"/>
<service name="accellion" value="accellion"/>
<service name="accor" value="accor"/>
<service name="agile" value="agile"/>
<service name="alta" value="alta"/>
<service name="apptrix" value="apptrix"/>
<service name="arcap" value="arcap"/>
<service name="addante" value="addante"/>
<service name="3amlabs" value="3amlabs"/>
<service name="altadisusa" value="altadisusa"/>
<service name="amgen" value="amgen"/>
<service name="SJC-Lab" value="SJC-Lab"/>
<service name="accel" value="accel"/>
<service name="americanto" value="americanto"/>
<service name="apple" value="apple"/>
<service name="aci" value="aci"/>
<service name="accipiter" value="accipiter"/>
<service name="adpinvest" value="adpinvest"/>
<service name="acsonline" value="acsonline"/>
<service name="1ix" value="1ix"/>
<service name="aas" value="aas"/>
<service name="altoh" value="altoh"/>
<service name="adaptivepa" value="adaptivepa"/>
<service name="abs" value="abs"/>
<service name="aim2game" value="aim2game"/>
<service name="areatech" value="areatech"/>
<service name="appiq" value="appiq"/>
<service name="advancedac" value="advancedac"/>
<service name="1stfinanci" value="1stfinanci"/>
<service name="aig" value="aig"/>
<service name="800one" value="800one"/>
<service name="aptela" value="aptela"/>
<service name="activegrou" value="activegrou"/>
<service name="apress" value="apress"/>
<service name="3eco" value="3eco"/>
<service name="allrecipes" value="allrecipes"/>
<service name="amselect" value="amselect"/>
<service name="alpine" value="alpine"/>
<service name="argis" value="argis"/>
<service name="3dblinds" value="3dblinds"/>
<service name="ardennes" value="ardennes"/>
<service name="003realty" value="003realty"/>
<service name="amgenuk" value="amgenuk"/>
<service name="adaptec" value="adaptec"/>
<service name="aonwarrant" value="aonwarrant"/>
<service name="adpark" value="adpark"/>
<service name="apartment" value="apartment"/>
<service name="arenaone" value="arenaone"/>
<service name="adchemy" value="adchemy"/>
<service name="2wire" value="2wire"/>
<service name="advancecab" value="advancecab"/>
</services>
</dataset>
</canvas>
In both modified and unmodified branches. Note that in unmodified,
it spills off into forever. In modified, it stops just before, and
there's a scrollbar. (If one explicitly sets the number of visible
elements, it'll override this.)
Modified: openlaszlo/trunk/lps/components/base/basecombobox.lzx
===================================================================
--- openlaszlo/trunk/lps/components/base/basecombobox.lzx 2007-10-09
16:36:42 UTC (rev 6768)
+++ openlaszlo/trunk/lps/components/base/basecombobox.lzx 2007-10-09
16:37:23 UTC (rev 6769)
@@ -202,7 +202,7 @@
<state name="non_editable_state" >
<text x="2" y="1" name="cbtext" width="${parent.width - 4}"
- clickable="true" focusable="true" resize="false">
+ clickable="true" focusable="true">
<attribute name="text" type="string" />
<!-- arrow down and up, and spacebar all popup
floatinglist, and pass the key event to it -->
@@ -279,6 +279,16 @@
<handler name="onconstruct">
this.dataoption = owner.dataoption;
</handler>
+ <handler name="oninit">
+ <![CDATA[
+ // Clips to the canvas, so it doesn't spill off down into
+ // forever and subsequently look all goofy.
+ if(this.owner.shownitems == -1){
+ var ih = Math.floor((canvas.height - owner.y) /
owner.height);
+ this.setAttribute('shownitems', ih);
+ }
+ ]]>
+ </handler>
<method name="_dokeyup" args="kc"
event="onkeyup">
_______________________________________________
Laszlo-checkins mailing list
[email protected]
http://www.openlaszlo.org/mailman/listinfo/laszlo-checkins