0){j[d]+=Math.round(h[d]*r);c.stretched[d]=true}}}else{m=1;if(r0?(r-p[m])/(t[m]-p[m]):0;for(d=0;d0){p=i[0][d]-i[1][d];j[d]=i[1][d]+Math.round(p*r)}}}else{for(d=0;d0)j[d]=i[1][d];r-=p[1];m=0;if(r0? (r-p[m])/(t[m]-p[m]):0;for(d=0;d-1){var g=p;if(p){p=D+\"-rs\"+a+\"-\"+d;h=f.getElement(p);if(!h){c.resizeHandles[d]=p;h=document.createElement(\"div\");h.setAttribute(\"id\",p);h.di=d;h.style.position=\"absolute\";h.style[e.left]=e.margins[1]+\"px\";h.style[c.size]=c.margins[0]+\"px\";if(e.cSize)h.style[e.size]=e.cSize-e.margins[2]-e.margins[1]+\"px\";h.className=c.handleClass; b.insertBefore(h,b.firstChild);h.onmousedown=h.ontouchstart=function(ca){wa(a,this,ca||window.event)}}i+=2;x(h,c.left,i+\"px\");i+=2}else if(c.resizeHandles[d]){h=f.getElement(c.resizeHandles[d]);h.parentNode.removeChild(h);c.resizeHandles[d]=undefined}p=c.config[d][1]!==0;if(r)r=false;else i+=c.margins[0]}else if(c.resizeHandles[d]){h=f.getElement(c.resizeHandles[d]);h.parentNode.removeChild(h);c.resizeHandles[d]=undefined}for(t=0;t=j.length)break;if(v)m+=4;v=c.config[d+n][1]!==0;if(j[d+n-1]>-1&&j[d+n]>-1)m+=c.margins[0];m+=j[d+n]}}var H;x(h,\"visibility\",\"\");v=o.align>>c.alignBits&15;n=o.ps[a];if(m=n&&o.set[a]){x(h,c.size,n+\"px\")&&X(o,1);o.set[a]=false}o.size[a]=n;o.psize[a]=n}else{H=o.margin[a];v=Math.max(0,m-H);var ba=a==0&& o.sc[a];if(!ma(h)&&(ba||m!=n||o.layout)){if(x(h,c.size,v+\"px\")){X(o,1);o.set[a]=true}}else if(o.fs[a])a==0&&x(h,c.size,o.fs[a]-H+\"px\");else{x(h,c.size,\"\")&&X(o,1);if(o.set)o.set[a]=false}H=i;o.size[a]=v;o.psize[a]=m}if(W)if(g){x(h,c.left,\"4px\");m=f.css(h,\"position\");if(m!==\"absolute\")h.style.position=\"relative\"}else x(h,c.left,\"0px\");else x(h,c.left,H+\"px\");if(a==1){if(h.wtResize)h.wtResize(h,o.set[0]?Math.round(o.size[0]):-1,o.set[1]?Math.round(o.size[1]):-1,true);o.dirty=0}}if(j[d]>-1)i+=j[d]}if(c.resizeHandles.length> k){for(g=k;g0)b=Math.min(c.maxSize,b);if(pa){c=f.getElement(D);if(!c)return;for(var e=c,i=e.parentNode;;){if(i.wtGetPS)b= i.wtGetPS(i,e,a,b);b+=aa(i,a);if(i==J)break;if(a==1&&i==c.parentNode&&!i.lh&&i.offsetHeight>b)b=i.offsetHeight;e=i;i=e.parentNode}}else b+=T[a];N.setChildSize(J,a,b)}};this.setConfig=function(a){var b=C;C=a;s[0].config=C.cols;s[1].config=C.rows;s[0].stretched=[];s[1].stretched=[];var c;a=0;for(c=b.items.length;a>i.alignBits&15||!i.stretched[e]){if(!a.ps)a.ps=[];a.ps[b]=c}a.layout=true;X(a,1)}};this.measure=function(a){var b=f.getElement(D);if(b)if(!f.isHidden(b)){ta||na();if(P||ea)ua(a,b,la?b.parentNode:null);if(a==1)P=ea=false}};this.setMaxSize=function(a,b){s[0].maxSize=a;s[1].maxSize=b};this.apply=function(a){var b=f.getElement(D); if(!b)return false;if(f.isHidden(b))return true;xa(a,b);return true};this.contains=function(a){var b=f.getElement(D);a=f.getElement(a.getId());return b&&a?f.contains(b,a):false};this.WT=f}");
+ "function(G,C,J,V,W,X,ca,p,D,x,y){function u(a){var b,c;b=0;for(c=B.items.length;be.clientWidth||m+f==e.clientWidth&&h.isGecko&&e.parentNode.parentNode.style.visibility===\"hidden\"){s=a.style[n.left];v(a,n.left,\"-1000000px\");m=b?a.scrollHeight: a.scrollWidth}}e=b?a.clientHeight:a.clientWidth;if(h.isGecko&&!a.style[n.size]&&b==0&&i(h.css(a,\"overflow\"))){d=a.style[n.size];v(a,n.size,\"\")}f=b?a.offsetHeight:a.offsetWidth;s&&v(a,n.left,s);d&&v(a,n.size,d);if(e>=1E6)e-=1E6;if(m>=1E6)m-=1E6;if(f>=1E6)f-=1E6;if(m===0){m=h.pxself(a,n.size);if(m!==0&&!h.isOpera&&!h.isGecko)m-=h.px(a,\"border\"+n.Left+\"Width\")+h.px(a,\"border\"+n.Right+\"Width\")}if(h.isIE&&(h.hasTag(a,\"BUTTON\")||h.hasTag(a,\"TEXTAREA\")||h.hasTag(a,\"INPUT\")||h.hasTag(a,\"SELECT\")))m=e;if(m> f)if(h.pxself(a,n.size)==0)m=e;else{var l=false;$(a).find(\".Wt-popup\").each(function(){if(this.style.display!==\"none\")l=true});if(l)m=e}d=h.px(a,\"border\"+n.Left+\"Width\")+h.px(a,\"border\"+n.Right+\"Width\");s=f-(e+d)!=0;if(c)return[m,scrollBar];if(h.isGecko&&b==0&&a.getBoundingClientRect().width!=Math.ceil(a.getBoundingClientRect().width))m+=1;if(!h.boxSizing(a)&&!h.isOpera)m+=d;m+=h.px(a,\"margin\"+n.Left)+h.px(a,\"margin\"+n.Right);if(!h.boxSizing(a)&&!h.isIE)m+=h.px(a,\"padding\"+n.Left)+h.px(a,\"padding\"+ n.Right);m+=f-(e+d);if(m0)m=Math.min(a,m);return[Math.round(m),s]}function w(a,b){b=q[b];if(a.style.display===\"none\")return 0;else if(a[\"layoutMin\"+b.Size])return a[\"layoutMin\"+b.Size];else{var c=h.px(a,\"min\"+b.Size);h.boxSizing(a)||(c+=h.px(a,\"padding\"+b.Left)+h.px(a,\"padding\"+b.Right));return c}}function O(a,b){b=q[b];var c=h.px(a,\"margin\"+b.Left)+h.px(a,\"margin\"+b.Right);if(!h.boxSizing(a)&&!(h.isIE&&!h.isIElt9&&h.hasTag(a,\"BUTTON\")))c+=h.px(a,\"border\"+b.Left+ \"Width\")+h.px(a,\"border\"+b.Right+\"Width\")+h.px(a,\"padding\"+b.Left)+h.px(a,\"padding\"+b.Right);return c}function K(a,b){b=q[b];return h.px(a,\"padding\"+b.Left)+h.px(a,\"padding\"+b.Right)}function ha(a,b){if(h.boxSizing(a)){b=q[b];return h.px(a,\"border\"+b.Left+\"Width\")+h.px(a,\"border\"+b.Right+\"Width\")+h.px(a,\"padding\"+b.Left)+h.px(a,\"padding\"+b.Right)}else return 0}function da(a,b){b=q[b];return Math.round(h.px(a,\"border\"+b.Left+\"Width\")+h.px(a,\"border\"+b.Right+\"Width\")+h.px(a,\"margin\"+b.Left)+h.px(a, \"margin\"+b.Right)+h.px(a,\"padding\"+b.Left)+h.px(a,\"padding\"+b.Right))}function Y(a,b,c){a.dirty=Math.max(a.dirty,b);P=true;c&&G.layouts2.scheduleAdjust()}function v(a,b,c){if(a.style[b]!==c){a.style[b]=c;return true}else return false}function ma(a){return a.style.display===\"none\"&&!a.ed||$(a).hasClass(\"Wt-hidden\")}function ua(a,b,c){var e=q[a],i=e.config.length,n=q[a^1].config.length,m=e.measures.slice();if(m.length==5){m[0]=m[0].slice();m[1]=m[1].slice()}if(P){if(c&&typeof e.minSize==\"undefined\"){e.minSize= h.px(c,\"min\"+e.Size);if(e.minSize>0)e.minSize-=ha(c,a)}var s=[],d=[],f,l,j=false;for(f=0;f1){var k=$(\"#\"+g.id),z=k.get(0);if(!z){e.setItem(f,l,null);continue}if(z!=g.w){g.w=z;k.find(\"img\").add(k.filter(\"img\")).bind(\"load\",{item:g},function(T){Y(T.data.item,1,true)})}}if(!X&&g.w.style.position!=\"absolute\"){g.w.style.position=\"absolute\";g.w.style.visibility=\"hidden\"}if(!g.ps)g.ps=[];if(!g.sc)g.sc= [];if(!g.ms)g.ms=[];if(!g.size)g.size=[];if(!g.psize)g.psize=[];if(!g.fs)g.fs=[];if(!g.margin)g.margin=[];k=!g.set;if(!g.set)g.set=[false,false];if(ma(g.w))g.ps[a]=g.ms[a]=0;else if(g.w){if(h.isIE)g.w.style.visibility=\"\";if(g.dirty){if(g.dirty>1){z=w(g.w,a);g.ms[a]=z}else z=g.ms[a];if(g.dirty>1)g.margin[a]=O(g.w,a);if(!g.set[a])if(a==0||!k){k=h.pxself(g.w,e.size);g.fs[a]=k?k+g.margin[a]:0}else{k=Math.round(h.px(g.w,e.size));g.fs[a]=k>Math.max(ha(g.w,a),z)?k+g.margin[a]:0}k=g.fs[a];if(g.layout){if(k== 0)k=g.ps[a];g.ps[a]=k}else{if(g.wasLayout){g.wasLayout=false;g.set=[false,false];g.ps=[];g.w.wtResize&&g.w.wtResize(g.w,-1,-1,true);v(g.w,q[1].size,\"\")}z=A(g.w,a,false,b);var t=z[0],E=g.set[a];if(E)if(g.psize[a]>8)E=t>=g.psize[a]-4&&t<=g.psize[a]+4;var M=typeof g.ps[a]!==\"undefined\"&&e.config[f][0]>0&&g.set[a];k=E||M?Math.max(k,g.ps[a]):Math.max(k,t);g.ps[a]=k;g.sc[a]=z[1]}if(!g.span||g.span[a]==1){if(k>H)H=k}else j=true}else if(!g.span||g.span[a]==1){if(g.ps[a]>H)H=g.ps[a];if(g.ms[a]>o)o=g.ms[a]}else j= true;if(!ma(g.w)&&(!g.span||g.span[a]==1))r=false}}}if(r)o=H=-1;else if(o>H)H=o;s[f]=H;d[f]=o;if(o>-1){Q+=H;Z+=o}}if(j){function ia(T,ja){for(f=0;f1){var ba=T(aa),ea=0,ka=0,F;for(F=0;F0)ka+=e.config[f+F][0];if(F!=0)ba-=e.margins[0]}}if(ba>=0)if(ea>0){if(ka>0)ea=ka;for(F=0;F0?e.config[f+F][0]:1;if(S>0){var qa=Math.round(ba* (S/ea));ba-=qa;ea-=S;ja[f+F]+=qa}}}}else ja[f]=ba}}}ia(function(T){return T.ps[a]},s);ia(function(T){return T.ms[a]},d)}var Q=0,Z=0;for(f=0;fs[f])s[f]=d[f];if(d[f]>-1){Q+=s[f];Z+=d[f]}}b=0;k=true;j=false;for(f=0;f-1){if(k){b+=e.margins[1];k=false}else{b+=e.margins[0];if(j)b+=4}j=e.config[f][1]!==0}k||(b+=e.margins[2]);Q+=b;Z+=b;e.measures=[s,d,Q,Z,b]}if(fa||m[2]!=e.measures[2])ra.updateSizeInParent(a);c&&e.minSize==0&&m[3]!=e.measures[3]&&c.parentNode.className!=\"Wt-domRoot\"&& v(c,\"min\"+e.Size,e.measures[3]+\"px\");c&&a==0&&c&&h.hasTag(c,\"TD\")&&v(c,e.size,e.measures[2]+\"px\")}function va(a,b,c){a=q[a];if(ga)c=-c;if(a.config[b][0]>0&&a.config[b+1][0]==0){++b;c=-c}a.fixedSize[b]=a.sizes[b]+c;G.layouts2.scheduleAdjust()}function wa(a,b,c){var e=b.di,i=q[a],n=q[a^1],m,s=h.getElement(C),d;for(d=e-1;d>=0;--d)if(i.sizes[d]>=0){m=-(i.sizes[d]-i.measures[1][d]);break}e=i.sizes[e]-i.measures[1][e];if(ga){var f=m;m=-e;e=-f}new h.SizeHandle(h,i.resizeDir,h.pxself(b,i.size),h.pxself(b, n.size),m,e,i.resizerClass,function(l){va(a,d,l)},b,s,c,0,0)}function sa(a,b){var c=a.config.length,e;if(a.config[b][1]!==0)for(e=b+1;e-1)return true;for(e=b-1;e>=0;--e)if(a.measures[1][e]>-1)return a.config[e][1]!==0;return false}function xa(a,b){var c=q[a],e=q[a^1],i=c.measures,n=0,m=false,s=false,d=false,f=la?b.parentNode:null;if(c.maxSize===0)if(f){var l=h.css(f,\"position\");d=a==1&&typeof f.nativeHeight!==\"undefined\";if(l===\"absolute\")n=d?h.parsePx(f.nativeHeight):h.pxself(f, c.size);if(n===0){if(!c.initialized){if(a===0&&(l===\"absolute\"||l===\"fixed\")){f.style.display=\"none\";n=f.clientWidth;f.style.display=\"\"}d||(n=a?f.clientHeight:f.clientWidth);m=true;if(a==0&&n==0&&h.isIElt9){n=f.offsetWidth;m=false}var j;if((h.hasTag(f,\"TD\")||h.hasTag(f,\"TH\")||$(f.parentNode).hasClass(\"Wt-domRoot\"))&&!(h.isIE&&!h.isIElt9)){d=0;j=1}else{d=c.minSize?c.minSize:i[3];j=0}function H(Q,Z){return Q-Z<=1}if(h.isIElt9&&H(n,j)||H(n,d+K(f,a)))c.maxSize=999999}if(n===0&&c.maxSize===0){n=a?f.clientHeight: f.clientWidth;m=true}}}else{n=h.pxself(b,c.size);s=true}else if(c.sizeSet){n=h.pxself(f,c.size);s=true}var o=0;if(f&&f.wtGetPS&&a==1)o=f.wtGetPS(f,b,a,0);d=i[2];if(d=i[3]-o){o=n-i[4];j=[];var r=[0,0],g=[0,0],k=0;for(d=0;d-1){l=-1;sa(c,d)||(c.fixedSize[d]=undefined);if(typeof c.fixedSize[d]!==\"undefined\"&&(d+1==m||i[1][d+1]>-1))l=c.fixedSize[d];else if(sa(c,d)&&c.config[d][1]!==0&&c.config[d][1][0]>=0){l=c.config[d][1][0];if(c.config[d][1][1])l=(n-i[4])*l/100}if(l>=0){j[d]=-1;f[d]=l;o-=f[d]}else{if(c.config[d][0]> 0){l=1;j[d]=c.config[d][0];k+=j[d]}else{l=0;j[d]=0}r[l]+=i[1][d];g[l]+=i[0][d];f[d]=i[0][d]}}else{j[d]=-2;f[d]=-1}if(c.fixedSize.length>m)c.fixedSize.length=m;if(k==0){for(d=0;dg[0]+r[1]){o-=g[0];if(o>g[1]){if(c.fitSize){o-=g[1];o=o/k;for(d=0;d0){f[d]+=Math.round(j[d]*o);c.stretched[d]=true}}}else{l=1;if(o0?(o-r[l])/(g[l]-r[l]):0;for(d=0;d0){r=i[0][d]-i[1][d];f[d]=i[1][d]+Math.round(r* o)}}}else{for(d=0;d0)f[d]=i[1][d];o-=r[1];l=0;if(o0?(o-r[l])/(g[l]-r[l]):0;for(d=0;d-1){var z=r;if(r){r=C+\"-rs\"+a+\"-\"+d;j=h.getElement(r);if(!j){c.resizeHandles[d]=r;j=document.createElement(\"div\");j.setAttribute(\"id\",r);j.di=d;j.style.position=\"absolute\";j.style[e.left]=e.margins[1]+\"px\";j.style[c.size]=c.margins[0]+ \"px\";if(e.cSize)j.style[e.size]=e.cSize-e.margins[2]-e.margins[1]+\"px\";j.className=c.handleClass;b.insertBefore(j,b.firstChild);j.onmousedown=j.ontouchstart=function(Q){wa(a,this,Q||window.event)}}i+=2;v(j,c.left,i+\"px\");i+=2}else if(c.resizeHandles[d]){j=h.getElement(c.resizeHandles[d]);j.parentNode.removeChild(j);c.resizeHandles[d]=undefined}r=c.config[d][1]!==0;if(o)o=false;else i+=c.margins[0]}else if(c.resizeHandles[d]){j=h.getElement(c.resizeHandles[d]);j.parentNode.removeChild(j);c.resizeHandles[d]= undefined}for(g=0;g=f.length)break;if(E)l+=4;E=c.config[d+t][1]!==0;if(f[d+t-1]>-1&&f[d+t]>-1)l+=c.margins[0];l+=f[d+t]}}var M;v(j,\"visibility\",\"\");E=k.align>>c.alignBits&15;t=k.ps[a];if(l=t&&k.set[a]){v(j,c.size,t+\"px\")&& Y(k,1);k.set[a]=false}k.size[a]=t;k.psize[a]=t}else{M=k.margin[a];E=Math.max(0,l-M);var ia=a==0&&k.sc[a];if(!ma(j)&&(ia||l!=t||k.layout)){if(v(j,c.size,E+\"px\")){Y(k,1);k.set[a]=true}}else if(k.fs[a])a==0&&v(j,c.size,k.fs[a]-M+\"px\");else{v(j,c.size,\"\")&&Y(k,1);if(k.set)k.set[a]=false}M=i;k.size[a]=E;k.psize[a]=l}if(X)if(z){v(j,c.left,\"4px\");l=h.css(j,\"position\");if(l!==\"absolute\")j.style.position=\"relative\"}else v(j,c.left,\"0px\");else v(j,c.left,M+\"px\");if(a==1){if(j.wtResize)j.wtResize(j,k.set[0]? Math.round(k.size[0]):-1,k.set[1]?Math.round(k.size[1]):-1,true);k.dirty=0}}if(f[d]>-1)i+=f[d]}if(c.resizeHandles.length>m){for(z=m;z0)b=Math.min(c.maxSize,b);if(pa){c=h.getElement(C);if(!c)return;for(var e=c,i=e.parentNode;;){if(i.wtGetPS)b=i.wtGetPS(i,e,a,b);b+=da(i,a);if(i==I)break;if(a==1&&i==c.parentNode&&!i.lh&&i.offsetHeight>b)b=i.offsetHeight;e=i;i=e.parentNode}}else b+=U[a];N.setChildSize(I,a,b)}};this.setConfig=function(a){var b=B;B=a;q[0].config=B.cols;q[1].config=B.rows;q[0].stretched=[];q[1].stretched=[];var c;a=0;for(c=b.items.length;a>i.alignBits&15||!i.stretched[e]){if(!a.ps)a.ps=[];a.ps[b]=c}a.layout=true;Y(a,1)}};this.measure=function(a){var b=h.getElement(C);if(b)if(!h.isHidden(b)){ta||na();if(P||fa)ua(a, b,la?b.parentNode:null);if(a==1)P=fa=false}};this.setMaxSize=function(a,b){q[0].maxSize=a;q[1].maxSize=b};this.apply=function(a){var b=h.getElement(C);if(!b)return false;if(h.isHidden(b))return true;xa(a,b);return true};this.contains=function(a){var b=h.getElement(C);a=h.getElement(a.getId());return b&&a?h.contains(b,a):false};this.WT=h}");
}
static WJavaScriptPreamble appjs1() {
@@ -722,7 +722,7 @@ static WJavaScriptPreamble appjs1() {
JavaScriptScope.ApplicationScope,
JavaScriptObjectType.JavaScriptObject,
"layouts2",
- "new (function(){var F=[],D=false,K=this,U=false;this.find=function(q){return(q=document.getElementById(q))?jQuery.data(q,\"layout\"):null};this.setDirty=function(q){if(q=this.find(q)){q.setDirty();K.scheduleAdjust()}};this.setElementDirty=function(q){var E=q;for(q=q.parentNode;q&&q!=document.body;){var z=jQuery.data(q,\"layout\");z&&z.setElDirty(E);E=q;q=q.parentNode}};this.setChildLayoutsDirty=function(q,E){var z,A;z=0;for(A=q.descendants.length;z< A;++z){var w=q.descendants[z];if(E){var B=q.WT.getElement(w.getId());if(B&&!q.WT.contains(E,B))continue}w.setDirty()}};this.add=function(q){function E(z,A){var w,B;w=0;for(B=z.length;w=6)){V=true;setTimeout(function(){K.adjust()},0)}}};this.adjust=function(q,E){function z(w,B){var y,O;y=0;for(O=w.length;y=6)){W=true;setTimeout(function(){J.adjust()},0)}}};this.adjust=function(p,D){function x(u,A){var w,O;w=0;for(O=u.length;w(this.impl_,
"columnResized") {
};
@@ -2258,6 +2260,11 @@ public void trigger(WMouseEvent event) {
* or editing behaviour.
*/
void handleClick(final WModelIndex index, final WMouseEvent event) {
+ if (this.dragEnabled_ && (this.delayedClearAndSelectIndex_ != null)
+ && event.getDragDelta().x < 4 && event.getDragDelta().y < 4) {
+ this.select(this.delayedClearAndSelectIndex_,
+ SelectionFlag.ClearAndSelect);
+ }
boolean doEdit = (index != null)
&& !EnumUtils.mask(this.getEditTriggers(),
WAbstractItemView.EditTrigger.SingleClicked).isEmpty();
@@ -2298,6 +2305,7 @@ void handleMouseDown(final WModelIndex index, final WMouseEvent event) {
&& !EnumUtils.mask(this.getEditTriggers(),
WAbstractItemView.EditTrigger.SelectedClicked)
.isEmpty() && this.isSelected(index);
+ this.delayedClearAndSelectIndex_ = null;
if ((index != null)) {
this.selectionHandleClick(index, event.getModifiers());
}
@@ -2552,6 +2560,7 @@ public Editor() {
private int rowHeaderCount_;
private WString computedDragMimeType_;
private boolean sortEnabled_;
+ private WModelIndex delayedClearAndSelectIndex_;
private JSignal2 columnWidthChanged_;
private Signal2 columnResized_;
private WCssTemplateRule headerHeightRule_;
@@ -2648,8 +2657,14 @@ private void selectionHandleClick(final WModelIndex index,
modifiers,
EnumSet.of(KeyboardModifier.ControlModifier,
KeyboardModifier.MetaModifier)).isEmpty()) {
- if (!this.isSelected(index)) {
+ if (!this.dragEnabled_) {
this.select(index, SelectionFlag.ClearAndSelect);
+ } else {
+ if (!this.isSelected(index)) {
+ this.select(index, SelectionFlag.ClearAndSelect);
+ } else {
+ this.delayedClearAndSelectIndex_ = index;
+ }
}
} else {
this.select(index, SelectionFlag.ToggleSelect);
diff --git a/src/eu/webtoolkit/jwt/WAbstractToggleButton.java b/src/eu/webtoolkit/jwt/WAbstractToggleButton.java
index b9b38650..946c2951 100644
--- a/src/eu/webtoolkit/jwt/WAbstractToggleButton.java
+++ b/src/eu/webtoolkit/jwt/WAbstractToggleButton.java
@@ -104,7 +104,13 @@ public void setText(final CharSequence text) {
if (canOptimizeUpdates() && text.equals(this.text_.text)) {
return;
}
+ if (this.isRendered() && this.flags_.get(BIT_NAKED)) {
+ logger.error(new StringWriter()
+ .append("setText() has no effect when already rendered as a naked checkbox (without label)")
+ .toString());
+ }
this.text_.setText(text);
+ this.flags_.clear(BIT_NAKED);
this.flags_.set(BIT_TEXT_CHANGED);
this.repaint(EnumSet.of(RepaintFlag.RepaintSizeAffected));
}
diff --git a/src/eu/webtoolkit/jwt/WBorderLayout.java b/src/eu/webtoolkit/jwt/WBorderLayout.java
index efdb9efb..f2ea5e29 100644
--- a/src/eu/webtoolkit/jwt/WBorderLayout.java
+++ b/src/eu/webtoolkit/jwt/WBorderLayout.java
@@ -87,21 +87,21 @@ public WBorderLayout(WWidget parent) {
this.grid_ = new Grid();
{
int insertPos = 0;
- for (int ii = 0; ii < 3; ++ii)
+ for (int ii = 0; ii < (3); ++ii)
this.grid_.columns_.add(insertPos + ii, new Grid.Section(0));
}
;
this.grid_.columns_.get(1).stretch_ = 1;
{
int insertPos = 0;
- for (int ii = 0; ii < 3; ++ii)
+ for (int ii = 0; ii < (3); ++ii)
this.grid_.rows_.add(insertPos + ii, new Grid.Section(0));
}
;
this.grid_.rows_.get(1).stretch_ = 1;
{
int insertPos = 0;
- for (int ii = 0; ii < 3; ++ii)
+ for (int ii = 0; ii < (3); ++ii)
this.grid_.items_.add(insertPos + ii,
new ArrayList());
}
@@ -110,7 +110,7 @@ public WBorderLayout(WWidget parent) {
final List items = this.grid_.items_.get(i);
{
int insertPos = 0;
- for (int ii = 0; ii < 3; ++ii)
+ for (int ii = 0; ii < (3); ++ii)
items.add(insertPos + ii, new Grid.Item());
}
;
diff --git a/src/eu/webtoolkit/jwt/WCanvasPaintDevice.java b/src/eu/webtoolkit/jwt/WCanvasPaintDevice.java
index fab0bcab..10a45cb4 100644
--- a/src/eu/webtoolkit/jwt/WCanvasPaintDevice.java
+++ b/src/eu/webtoolkit/jwt/WCanvasPaintDevice.java
@@ -861,7 +861,11 @@ && fequal(f.getM22(),
this.currentNoBrush_ = this.getPainter().getBrush().getStyle() == BrushStyle.NoBrush;
if (penChanged) {
if (penColorChanged) {
+ PenCapStyle capStyle = this.currentPen_.getCapStyle();
+ PenJoinStyle joinStyle = this.currentPen_.getJoinStyle();
WPen tmpPen = new WPen();
+ tmpPen.setCapStyle(capStyle);
+ tmpPen.setJoinStyle(joinStyle);
tmpPen.setColor(this.getPainter().getPen().getColor());
tmpPen.setGradient(this.getPainter().getPen().getGradient());
this.currentPen_ = tmpPen;
diff --git a/src/eu/webtoolkit/jwt/WColor.java b/src/eu/webtoolkit/jwt/WColor.java
index 903fdc43..8f195f4b 100644
--- a/src/eu/webtoolkit/jwt/WColor.java
+++ b/src/eu/webtoolkit/jwt/WColor.java
@@ -316,6 +316,66 @@ public final String getCssText() {
return getCssText(false);
}
+ public final void toHSL(double[] hsl) {
+ assert hsl.length == 3;
+ double h = 0.0, s = 0.0, l = 0.0;
+ double r = getRed() / 255.0;
+ double g = getGreen() / 255.0;
+ double b = getBlue() / 255.0;
+ double cmax = Math.max(r, Math.max(g, b));
+ double cmin = Math.min(r, Math.min(g, b));
+ double delta = cmax - cmin;
+ l = (cmax + cmin) / 2.0;
+ s = delta == 0 ? 0 : delta / (1.0 - Math.abs(2.0 * l - 1.0));
+ if (delta == 0) {
+ h = 0;
+ } else if (cmax == r) {
+ if (g >= b) {
+ h = 60.0 * (g - b) / delta;
+ } else {
+ h = 60.0 * ((g - b) / delta + 6.0);
+ }
+ } else if (cmax == g) {
+ h = 60.0 * ((b - r) / delta + 2.0);
+ } else if (cmax == b) {
+ h = 60.0 * ((r - g) / delta + 4.0);
+ }
+ hsl[0] = h; hsl[1] = s; hsl[2] = l;
+ }
+
+ public static WColor fromHSL(double h, double s, double l, int alpha) {
+ double c = (1.0 - Math.abs(2.0 * l - 1.0)) * s;
+ double x = c * (1.0 - Math.abs((h / 60.0) % 2.0 - 1.0));
+ double m = l - c/2.0;
+ double r, g, b;
+ if (0.0 <= h && h < 60.0) {
+ r = c;
+ g = x;
+ b = 0;
+ } else if (60.0 <= h && h < 120.0) {
+ r = x;
+ g = c;
+ b = 0;
+ } else if (120.0 <= h && h < 180.0) {
+ r = 0;
+ g = c;
+ b = x;
+ } else if (180.0 <= h && h < 240.0) {
+ r = 0;
+ g = x;
+ b = c;
+ } else if (240.0 <= h && h < 300.0) {
+ r = x;
+ g = 0;
+ b = c;
+ } else /* 300 <= h < 360 */ {
+ r = c;
+ g = 0;
+ b = x;
+ }
+ return new WColor((int)((r + m) * 255), (int)((g + m) * 255), (int)((b + m) * 255), alpha);
+ }
+
private boolean default_;
private int red_;
private int green_;
diff --git a/src/eu/webtoolkit/jwt/WDate.java b/src/eu/webtoolkit/jwt/WDate.java
index 84a7835e..59789216 100644
--- a/src/eu/webtoolkit/jwt/WDate.java
+++ b/src/eu/webtoolkit/jwt/WDate.java
@@ -9,7 +9,6 @@
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
-import java.util.GregorianCalendar;
import java.util.TimeZone;
/**
@@ -31,7 +30,8 @@
*/
public class WDate implements Comparable {
static private TimeZone timeZone = null;
-
+ private Date d;
+
static class RegExpInfo {
public String regexp;
public String yearGetJS;
@@ -57,8 +57,6 @@ static Day fromInt(int day) {
}
}
- private Date d;
-
/**
* Sets default timezone
*
@@ -215,9 +213,22 @@ public void setTime(int hour, int minute) {
this.setTime(hour, minute, 0, 0);
}
+ /**
+ * Sets this date's time by WTime
+ *
+ * When the new date is invalid, an IllegalArgumentException is thrown.
+ */
public void setTime(WTime time){
this.setTime(time.getHour(), time.getMinute(), time.getSecond(), time.getMsec());
}
+
+ /**
+ * Gets this date's time
+ * @return WTime object
+ */
+ public WTime getTime(){
+ return new WTime(this.getHour(), this.getMinute(), this.getSecond(), this.getMillisecond());
+ }
/**
* Adds seconds.
@@ -524,11 +535,6 @@ public static WDate getCurrentServerDate() {
return new WDate(createCalendar().getTime());
}
- static boolean isLeapYear(int year) {
- GregorianCalendar c = new GregorianCalendar();
- return c.isLeapYear(year);
- }
-
/**
* Returns the short day name.
*
diff --git a/src/eu/webtoolkit/jwt/WFileUpload.java b/src/eu/webtoolkit/jwt/WFileUpload.java
index db41cf82..5f1c4787 100644
--- a/src/eu/webtoolkit/jwt/WFileUpload.java
+++ b/src/eu/webtoolkit/jwt/WFileUpload.java
@@ -499,14 +499,14 @@ void updateDom(final DomElement element, boolean all) {
element.setAttribute("action", this.fileUploadTarget_.generateUrl());
String maxFileSize = String.valueOf(WApplication.getInstance()
.getMaximumRequestSize());
- String command = "{var x = Wt3_3_5.$('in"
+ String command = "{var submit = false; var x = Wt3_3_5.$('in"
+ this.getId()
+ "'); if (x.files != null) { for (var i = 0; i < x.files.length; i++) { var f = x.files[i]; if(f.size < "
- + maxFileSize + ") { " + this.getJsRef()
- + ".submit(); } else { "
+ + maxFileSize
+ + ") { submit = true; } else { submit = false; "
+ this.fileTooLarge().createCall("f.size")
- + " } } } else " + this.getJsRef()
- + ".submit(); };";
+ + "; break; } } } else submit = true; if (submit) "
+ + this.getJsRef() + ".submit(); };";
element.callJavaScript(command);
this.flags_.clear(BIT_DO_UPLOAD);
if (containsProgress) {
@@ -586,18 +586,19 @@ protected DomElement createDomElement(WApplication app) {
this.updateSignalConnection(input, change, "change", true);
}
form.addChild(input);
- StringWriter s = new StringWriter();
this.doJavaScript("var a"
+ this.getId()
+ "="
+ this.getJsRef()
+ ".action;var f = function(event) {if (a"
+ this.getId()
- + ".indexOf(event.origin) === 0) {var data = JSON.parse(event.data);if (data.fu == '"
+ + ".indexOf(event.origin) === 0) {var data = JSON.parse(event.data);if (data.type === 'upload') {if (data.fu == '"
+ this.getId()
+ "')"
+ app.getJavaScriptClass()
- + "._p_.update(null, data.signal, null, true);}};if (window.addEventListener) window.addEventListener('message', f, false);else window.attachEvent('onmessage', f);");
+ + "._p_.update(null, data.signal, null, true);} else if (data.type === 'file_too_large')"
+ + this.fileTooLarge().createCall("data.fileTooLargeSize")
+ + "}};if (window.addEventListener) window.addEventListener('message', f, false);else window.attachEvent('onmessage', f);");
} else {
result.setAttribute("type", "file");
if (this.flags_.get(BIT_MULTIPLE)) {
diff --git a/src/eu/webtoolkit/jwt/WFileUploadResource.java b/src/eu/webtoolkit/jwt/WFileUploadResource.java
index 4ba29d3b..437e3213 100644
--- a/src/eu/webtoolkit/jwt/WFileUploadResource.java
+++ b/src/eu/webtoolkit/jwt/WFileUploadResource.java
@@ -45,12 +45,12 @@ protected void handleRequest(final WebRequest request,
Writer o = response.out();
o.append("\n