diff --git a/examples/widgetgallery/src/eu/webtoolkit/jwt/examples/widgetgallery/GraphicsWidgets.java b/examples/widgetgallery/src/eu/webtoolkit/jwt/examples/widgetgallery/GraphicsWidgets.java
index e00f780e..cddaa9b6 100644
--- a/examples/widgetgallery/src/eu/webtoolkit/jwt/examples/widgetgallery/GraphicsWidgets.java
+++ b/examples/widgetgallery/src/eu/webtoolkit/jwt/examples/widgetgallery/GraphicsWidgets.java
@@ -337,7 +337,7 @@ WWidget ScatterPlotData() {
for (int column = 1; column < model.getColumnCount(); ++column) {
table.setColumnWidth(column, new WLength(90));
}
- table.resize(new WLength(780), new WLength(200));
+ table.resize(new WLength(783), new WLength(200));
WItemDelegate delegate = new WItemDelegate(table);
delegate.setTextFormat("%.1f");
table.setItemDelegate(delegate);
diff --git a/examples/widgetgallery/src/eu/webtoolkit/jwt/examples/widgetgallery/src.xml b/examples/widgetgallery/src/eu/webtoolkit/jwt/examples/widgetgallery/src.xml
index 379ec446..3be7762b 100644
--- a/examples/widgetgallery/src/eu/webtoolkit/jwt/examples/widgetgallery/src.xml
+++ b/examples/widgetgallery/src/eu/webtoolkit/jwt/examples/widgetgallery/src.xml
@@ -3447,7 +3447,7 @@
for (int column = 1; column < model.getColumnCount(); ++column) {
table.setColumnWidth(column, new WLength(90));
}
- table.resize(new WLength(780), new WLength(200));
+ table.resize(new WLength(783), new WLength(200));
WItemDelegate delegate = new WItemDelegate(table);
delegate.setTextFormat("%.1f");
table.setItemDelegate(delegate);
diff --git a/overview.html b/overview.html
index 379c3abf..11dfb9ea 100755
--- a/overview.html
+++ b/overview.html
@@ -25,7 +25,7 @@
Release notes
the way you build Wt, the way you configure Wt or the Wt API and
behaviour. It also indicates the main changes from version to verison.
-Release 3.3.2 (February, 2014)
+Release 3.3.2 (March 12, 2014)
This release brings a few big new features, as well the usual
diff --git a/src/eu/webtoolkit/jwt/DefaultPagingBar.java b/src/eu/webtoolkit/jwt/DefaultPagingBar.java
index 3aabd0d1..20e039f8 100644
--- a/src/eu/webtoolkit/jwt/DefaultPagingBar.java
+++ b/src/eu/webtoolkit/jwt/DefaultPagingBar.java
@@ -26,6 +26,7 @@ class DefaultPagingBar extends WContainerWidget {
public DefaultPagingBar(WAbstractItemView view) {
super();
this.view_ = view;
+ this.view_.addStyleClass("Wt-itemview-paged");
this.setStyleClass("Wt-pagingbar");
this.firstButton_ = new WPushButton(
tr("Wt.WAbstractItemView.PageBar.First"), this);
diff --git a/src/eu/webtoolkit/jwt/StdGridLayoutImpl2.java b/src/eu/webtoolkit/jwt/StdGridLayoutImpl2.java
index 01327c35..e3180ff2 100644
--- a/src/eu/webtoolkit/jwt/StdGridLayoutImpl2.java
+++ b/src/eu/webtoolkit/jwt/StdGridLayoutImpl2.java
@@ -714,7 +714,7 @@ static WJavaScriptPreamble wtjs1() {
JavaScriptScope.WtClassScope,
JavaScriptObjectType.JavaScriptConstructor,
"StdLayout2",
- "function(F,E,K,T,U,V,aa,q,D,y,A){function z(a,b,c,e){function i(l){return l==\"visible\"||l==\"none\"}var k=s[b],j=b?a.scrollHeight:a.scrollWidth,t,d;if(b==0&&j+f.pxself(a,k.left)>=e.clientWidth){t=a.style[k.left];v(a,k.left,\"-1000000px\");j=b?a.scrollHeight:a.scrollWidth}e=b?a.clientHeight:a.clientWidth;if(f.isGecko&&!a.style[k.size]&&b==0&&i(f.css(a,\"overflow\"))){d=a.style[k.size];v(a,k.size,\"\")}b=b?a.offsetHeight:a.offsetWidth;t&&v(a,k.left, t);d&&v(a,k.size,d);if(e>=1E6)e-=1E6;if(j>=1E6)j-=1E6;if(b>=1E6)b-=1E6;if(j===0){j=f.pxself(a,k.size);if(j!==0&&!f.isOpera&&!f.isGecko)j-=f.px(a,\"border\"+k.Left+\"Width\")+f.px(a,\"border\"+k.Right+\"Width\")}if(f.isIE&&(f.hasTag(a,\"BUTTON\")||f.hasTag(a,\"TEXTAREA\")||f.hasTag(a,\"INPUT\")||f.hasTag(a,\"SELECT\")))j=e;if(j>b)if(f.pxself(a,k.size)==0)j=e;else{var n=false;$(a).find(\".Wt-popup\").each(function(){if(this.style.display!==\"none\")n=true});if(n)j=e}d=f.px(a,\"border\"+k.Left+\"Width\")+f.px(a,\"border\"+k.Right+ \"Width\");t=b-(e+d)!=0;if(c)return[j,scrollBar];if(!f.boxSizing(a)&&!f.isOpera)j+=d;j+=f.px(a,\"margin\"+k.Left)+f.px(a,\"margin\"+k.Right);if(!f.boxSizing(a)&&!f.isIE)j+=f.px(a,\"padding\"+k.Left)+f.px(a,\"padding\"+k.Right);j+=b-(e+d);if(j0)j=Math.min(a,j);return[Math.round(j),t]}function C(a,b){b=s[b];if(a.style.display===\"none\")return 0;else if(a[\"layoutMin\"+b.Size])return a[\"layoutMin\"+b.Size];else{var c=f.px(a,\"min\"+b.Size);f.boxSizing(a)||(c+=f.px(a,\"padding\"+b.Left)+ f.px(a,\"padding\"+b.Right));return c}}function x(a,b){b=s[b];var c=f.px(a,\"margin\"+b.Left)+f.px(a,\"margin\"+b.Right);if(!f.boxSizing(a)&&!(f.isIE&&!f.isIElt9&&f.hasTag(a,\"BUTTON\")))c+=f.px(a,\"border\"+b.Left+\"Width\")+f.px(a,\"border\"+b.Right+\"Width\")+f.px(a,\"padding\"+b.Left)+f.px(a,\"padding\"+b.Right);return c}function M(a,b){b=s[b];return f.px(a,\"padding\"+b.Left)+f.px(a,\"padding\"+b.Right)}function G(a,b){if(f.boxSizing(a)){b=s[b];return f.px(a,\"border\"+b.Left+\"Width\")+f.px(a,\"border\"+b.Right+\"Width\")+ f.px(a,\"padding\"+b.Left)+f.px(a,\"padding\"+b.Right)}else return 0}function ba(a,b){b=s[b];return Math.round(f.px(a,\"border\"+b.Left+\"Width\")+f.px(a,\"border\"+b.Right+\"Width\")+f.px(a,\"margin\"+b.Left)+f.px(a,\"margin\"+b.Right)+f.px(a,\"padding\"+b.Left)+f.px(a,\"padding\"+b.Right))}function W(a,b,c){a.dirty=Math.max(a.dirty,b);N=true;c&&F.layouts2.scheduleAdjust()}function v(a,b,c){if(a.style[b]!==c){a.style[b]=c;return true}else return false}function qa(a,b,c){var e=s[a],i=e.config.length,k=s[a^1].config.length, j=e.measures.slice();if(j.length==5){j[0]=j[0].slice();j[1]=j[1].slice()}if(N){if(c&&typeof e.minSize==\"undefined\"){e.minSize=f.px(c,\"min\"+e.Size);if(e.minSize>0)e.minSize-=G(c,a)}var t=[],d=[],n=0,l=0,h,H,r=false;for(h=0;h1){var o=$(\"#\"+g.id),w=o.get(0);if(!w){e.setItem(h,H,null);continue}if(w!=g.w){g.w=w;o.find(\"img\").add(o.filter(\"img\")).bind(\"load\",{item:g},function(P){W(P.data.item,1,true)})}}if(!V&& 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=[];if($(g.w).hasClass(\"Wt-hidden\"))g.ps[a]=g.ms[a]=0;else{o=!g.set;if(!g.set)g.set=[false,false];if(g.w){if(f.isIE)g.w.style.visibility=\"\";if(g.dirty){if(g.dirty>1){w=C(g.w,a);g.ms[a]=w}else w=g.ms[a];if(w>u)u=w;if(g.dirty>1)g.margin[a]=x(g.w,a);if(!g.set[a])if(a==0||!o){o=f.pxself(g.w, e.size);g.fs[a]=o?o+g.margin[a]:0}else{o=Math.round(f.px(g.w,e.size));g.fs[a]=o>Math.max(G(g.w,a),w)?o+g.margin[a]:0}o=g.fs[a];if(g.layout){if(o==0)o=g.ps[a];g.ps[a]=o}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,s[1].size,\"\")}w=z(g.w,a,false,b);var J=w[0],Q=g.set[a];if(Q)if(g.psize[a]>8)Q=J>=g.psize[a]-4&&J<=g.psize[a]+4;var ka=typeof g.ps[a]!==\"undefined\"&&e.config[h][0]>0&&g.set[a];o=Q||ka?Math.max(o,g.ps[a]):Math.max(o,J); g.ps[a]=o;g.sc[a]=w[1]}if(!g.span||g.span[a]==1){if(o>m)m=o}else r=true}else if(!g.span||g.span[a]==1){if(g.ps[a]>m)m=g.ps[a];if(g.ms[a]>u)u=g.ms[a]}else r=true;if(!(g.w.style.display===\"none\"&&!g.w.ed)&&(!g.span||g.span[a]==1))p=false}}}}if(p)u=m=-1;else if(u>m)m=u;t[h]=m;d[h]=u;if(u>-1){n+=m;l+=u}}if(r){function ma(P,fa){for(h=0;h1){var ca=P(X),ga=0,ha=0,I;for(I=0;I0)ha+=e.config[h+I][0]}}if(ca>=0)if(ga>0){if(ha>0)ga=ha;for(I=0;I0?e.config[h+I][0]:1;if(O>0){var na=Math.round(ca/O);ca-=na;ga-=O;fa[h+I]+=na}}}}else fa[h]=ca}}}ma(function(P){return P.ps[a]},t);ma(function(P){return P.ms[a]},d)}b=0;o=true;r=false;for(h=0;h-1){if(o){b+=e.margins[1];o=false}else{b+=e.margins[0];if(r)b+=4}r=e.config[h][1]!==0}o||(b+=e.margins[2]);n+=b;l+=b;e.measures=[t,d,n,l,b]}if(da||j[2]!=e.measures[2])ia.updateSizeInParent(a); c&&e.minSize==0&&j[3]!=e.measures[3]&&c.parentNode.className!=\"Wt-domRoot\"&&v(c,\"min\"+e.Size,e.measures[3]+\"px\");c&&a==0&&c&&f.hasTag(c,\"TD\")&&v(c,e.size,e.measures[2]+\"px\")}function ra(a,b,c){a=s[a];if(ea)c=-c;if(a.config[b][0]>0&&a.config[b+1][0]==0){++b;c=-c}a.fixedSize[b]=a.sizes[b]+c;F.layouts2.scheduleAdjust()}function sa(a,b,c){var e=b.di,i=s[a],k=s[a^1],j,t=f.getElement(E),d;for(d=e-1;d>=0;--d)if(i.sizes[d]>=0){j=-(i.sizes[d]-i.measures[1][d]);break}e=i.sizes[e]-i.measures[1][e];if(ea){var n= j;j=-e;e=-n}new f.SizeHandle(f,i.resizeDir,f.pxself(b,i.size),f.pxself(b,k.size),j,e,i.resizerClass,function(l){ra(a,d,l)},b,t,c,0,0)}function ta(a,b){var c=s[a],e=s[a^1],i=c.measures,k=0,j=false,t=false,d=false,n=ja?b.parentNode:null;if(c.maxSize===0)if(n){var l=f.css(n,\"position\");if(l===\"absolute\")k=f.pxself(n,c.size);if(k===0){if(!c.initialized){if(a===0&&(l===\"absolute\"||l===\"fixed\")){n.style.display=\"none\";k=n.clientWidth;n.style.display=\"\"}k=a?n.clientHeight:n.clientWidth;j=true;if(a==0&&k== 0&&f.isIElt9){k=n.offsetWidth;j=false}var h;if((f.hasTag(n,\"TD\")||f.hasTag(n,\"TH\"))&&!(f.isIE&&!f.isIElt9)){d=0;h=1}else{d=c.minSize?c.minSize:i[3];h=0}function H(Q,ka){return Q-ka<=1}if(f.isIElt9&&H(k,h)||H(k,d+M(n,a)))c.maxSize=999999}if(k===0&&c.maxSize===0){k=a?n.clientHeight:n.clientWidth;j=true}}}else{k=f.pxself(b,c.size);t=true}else if(c.sizeSet){k=f.pxself(n,c.size);t=true}var r=0;if(n&&n.wtGetPS&&a==1)r=n.wtGetPS(n,b,a,0);d=i[2];if(d=i[3]-r){r=k-i[4];h=[];var m=[0,0],u=[0,0],p=0;for(d=0;d-1){l=-1;if(typeof c.fixedSize[d]!== \"undefined\"&&(d+1==n||i[1][d+1]>-1))l=c.fixedSize[d];else if(c.config[d][1]!==0&&c.config[d][1][0]>=0){l=c.config[d][1][0];if(c.config[d][1][1])l=(k-i[4])*l/100}if(l>=0){h[d]=-1;j[d]=l;r-=j[d]}else{if(c.config[d][0]>0){l=1;h[d]=c.config[d][0];p+=h[d]}else{l=0;h[d]=0}m[l]+=i[1][d];u[l]+=i[0][d];j[d]=i[0][d]}}else{h[d]=-2;j[d]=-1}if(p==0){for(d=0;du[0]+m[1]){r-=u[0];if(r>u[1]){if(c.fitSize){r-=u[1];r=r/p;for(d=0;d0){j[d]+= Math.round(h[d]*r);c.stretched[d]=true}}}else{l=1;if(r0?(r-m[l])/(u[l]-m[l]):0;for(d=0;d0){m=i[0][d]-i[1][d];j[d]=i[1][d]+Math.round(m*r)}}}else{for(d=0;d0)j[d]=i[1][d];r-=m[1];l=0;if(r0?(r-m[l])/(u[l]-m[l]):0;for(d=0;d-1){var g=m;if(m){h=E+\"-rs\"+a+\"-\"+d;m=f.getElement(h);if(!m){m= document.createElement(\"div\");m.setAttribute(\"id\",h);m.di=d;m.style.position=\"absolute\";m.style[e.left]=e.margins[1]+\"px\";m.style[c.size]=c.margins[0]+\"px\";if(e.cSize)m.style[e.size]=e.cSize-e.margins[2]-e.margins[1]+\"px\";m.className=c.handleClass;b.insertBefore(m,b.firstChild);m.onmousedown=m.ontouchstart=function(Q){sa(a,this,Q||window.event)}}i+=2;v(m,c.left,i+\"px\");i+=2}m=c.config[d][1]!==0;if(r)r=false;else i+=c.margins[0]}for(u=0;u=j.length)break;if(w)l+=4;w=c.config[d+o][1]!==0;if(j[d+o-1]>-1&&j[d+o]>-1)l+=c.margins[0];l+=j[d+o]}}var J;v(h,\"visibility\",\"\");w=p.align>>c.alignBits&15;o=p.ps[a];if(l=o&&p.set[a]){v(h,c.size,o+\"px\")&&W(p,1);p.set[a]=false}p.size[a]=o;p.psize[a]=o}else{w=Math.max(0,l-p.margin[a]); J=a==0&&p.sc[a];if(!(h.style.display===\"none\"&&!h.ed)&&(J||l!=o||p.layout)){if(v(h,c.size,w+\"px\")){if(!f.isIE&&(f.hasTag(h,\"TEXTAREA\")||f.hasTag(h,\"INPUT\"))){v(h,\"margin-\"+c.left,p.margin[a]/2+\"px\");v(h,\"margin-\"+e.left,p.margin[!a]/2+\"px\")}W(p,1);p.set[a]=true}}else if(p.fs[a])a==0&&v(h,c.size,p.fs[a]+\"px\");else{v(h,c.size,\"\")&&W(p,1);p.set[a]=false}J=i;p.size[a]=w;p.psize[a]=l}if(V)if(g){v(h,c.left,\"4px\");l=f.css(h,\"position\");if(l!==\"absolute\")h.style.position=\"relative\"}else v(h,c.left,\"0px\"); else v(h,c.left,J+\"px\");if(a==1){if(h.wtResize)h.wtResize(h,p.set[0]?Math.round(p.size[0]):-1,p.set[1]?Math.round(p.size[1]):-1,true);p.dirty=0}}if(j[d]>-1)i+=j[d]}$(b).children(\".\"+e.handleClass).css(c.size,k-c.margins[2]-c.margins[1]+\"px\")}}var f=F.WT;this.descendants=[];var ia=this,B=A,N=true,da=true,ja=false,Y=null,S=null,la=false,oa=false,Z=[],pa=false,ea=$(document.body).hasClass(\"Wt-rtl\"),s=[{initialized:false,config:B.cols,margins:D,maxSize:aa,measures:[],sizes:[],stretched:[],fixedSize:[], Left:ea?\"Right\":\"Left\",left:ea?\"right\":\"left\",Right:ea?\"Left\":\"Right\",Size:\"Width\",size:\"width\",alignBits:0,getItem:function(a,b){return B.items[b*s[0].config.length+a]},setItem:function(a,b,c){B.items[b*s[0].config.length+a]=c},handleClass:\"Wt-vrh2\",resizeDir:\"h\",resizerClass:\"Wt-hsh2\",fitSize:T},{initialized:false,config:B.rows,margins:y,maxSize:q,measures:[],sizes:[],stretched:[],fixedSize:[],Left:\"Top\",left:\"top\",Right:\"Bottom\",Size:\"Height\",size:\"height\",alignBits:4,getItem:function(a,b){return B.items[a* s[0].config.length+b]},setItem:function(a,b,c){B.items[a*s[0].config.length+b]=c},handleClass:\"Wt-hrh2\",resizeDir:\"v\",resizerClass:\"Wt-vsh2\",fitSize:U}];jQuery.data(document.getElementById(E),\"layout\",this);this.updateSizeInParent=function(a){if(Y)if(la){var b=s[a],c=b.measures[2];if(b.maxSize>0)c=Math.min(b.maxSize,c);if(pa){b=f.getElement(E);if(!b)return;for(var e=b,i=e.parentNode;;){if(i.wtGetPS)c=i.wtGetPS(i,e,a,c);c+=ba(i,a);if(i==S)break;if(a==1&&i==b.parentNode&&!i.lh&&i.offsetHeight>c)c=i.offsetHeight; e=i;i=e.parentNode}}else c+=Z[a];Y.setChildSize(S,a,c)}};this.setConfig=function(a){var b=B;B=a;s[0].config=B.cols;s[1].config=B.rows;s[0].stretched=[];s[1].stretched=[];var c;a=0;for(c=b.items.length;a>i.alignBits&15||!i.stretched[a]){if(!t.ps)t.ps=[];t.ps[b]=c}t.layout=true;W(t,1);break}}};this.measure=function(a){var b=f.getElement(E);if(b)if(!f.isHidden(b)){if(!oa){oa=true;ja=K==null;la=true;if(ja){var c=b;c=c.parentNode;for(Z=[0,0];c!=document;){Z[0]+=ba(c,0);Z[1]+=ba(c,1);if(c.wtGetPS)pa=true;var e=jQuery.data(c.parentNode,\"layout\");if(e){Y=e;S=c;break}c=c;c=c.parentNode; if(c.childNodes.length!=1&&!c.wtGetPS)la=false}c=b.parentNode;for(e=0;e<2;++e)s[e].sizeSet=f.pxself(c,s[e].size)!=0}else{Y=jQuery.data(document.getElementById(K),\"layout\");S=b;Z[0]=ba(S,0);Z[1]=ba(S,1)}}if(N||da){c=ja?b.parentNode:null;qa(a,b,c)}if(a==1)N=da=false}};this.setMaxSize=function(a,b){s[0].maxSize=a;s[1].maxSize=b};this.apply=function(a){var b=f.getElement(E);if(!b)return false;if(f.isHidden(b))return true;ta(a,b);return true};this.contains=function(a){var b=f.getElement(E);a=f.getElement(a.getId()); return b&&a?f.contains(b,a):false};this.WT=f}");
+ "function(F,D,M,V,W,X,aa,q,E,y,A){function z(a,b,c,f){function i(l){return l==\"visible\"||l==\"none\"}var k=s[b],j=b?a.scrollHeight:a.scrollWidth,t,d;if(b==0&&j+e.pxself(a,k.left)>=f.clientWidth){t=a.style[k.left];v(a,k.left,\"-1000000px\");j=b?a.scrollHeight:a.scrollWidth}f=b?a.clientHeight:a.clientWidth;if(e.isGecko&&!a.style[k.size]&&b==0&&i(e.css(a,\"overflow\"))){d=a.style[k.size];v(a,k.size,\"\")}b=b?a.offsetHeight:a.offsetWidth;t&&v(a,k.left, t);d&&v(a,k.size,d);if(f>=1E6)f-=1E6;if(j>=1E6)j-=1E6;if(b>=1E6)b-=1E6;if(j===0){j=e.pxself(a,k.size);if(j!==0&&!e.isOpera&&!e.isGecko)j-=e.px(a,\"border\"+k.Left+\"Width\")+e.px(a,\"border\"+k.Right+\"Width\")}if(e.isIE&&(e.hasTag(a,\"BUTTON\")||e.hasTag(a,\"TEXTAREA\")||e.hasTag(a,\"INPUT\")||e.hasTag(a,\"SELECT\")))j=f;if(j>b)if(e.pxself(a,k.size)==0)j=f;else{var n=false;$(a).find(\".Wt-popup\").each(function(){if(this.style.display!==\"none\")n=true});if(n)j=f}d=e.px(a,\"border\"+k.Left+\"Width\")+e.px(a,\"border\"+k.Right+ \"Width\");t=b-(f+d)!=0;if(c)return[j,scrollBar];if(!e.boxSizing(a)&&!e.isOpera)j+=d;j+=e.px(a,\"margin\"+k.Left)+e.px(a,\"margin\"+k.Right);if(!e.boxSizing(a)&&!e.isIE)j+=e.px(a,\"padding\"+k.Left)+e.px(a,\"padding\"+k.Right);j+=b-(f+d);if(j0)j=Math.min(a,j);return[Math.round(j),t]}function C(a,b){b=s[b];if(a.style.display===\"none\")return 0;else if(a[\"layoutMin\"+b.Size])return a[\"layoutMin\"+b.Size];else{var c=e.px(a,\"min\"+b.Size);e.boxSizing(a)||(c+=e.px(a,\"padding\"+b.Left)+ e.px(a,\"padding\"+b.Right));return c}}function x(a,b){b=s[b];var c=e.px(a,\"margin\"+b.Left)+e.px(a,\"margin\"+b.Right);if(!e.boxSizing(a)&&!(e.isIE&&!e.isIElt9&&e.hasTag(a,\"BUTTON\")))c+=e.px(a,\"border\"+b.Left+\"Width\")+e.px(a,\"border\"+b.Right+\"Width\")+e.px(a,\"padding\"+b.Left)+e.px(a,\"padding\"+b.Right);return c}function N(a,b){b=s[b];return e.px(a,\"padding\"+b.Left)+e.px(a,\"padding\"+b.Right)}function G(a,b){if(e.boxSizing(a)){b=s[b];return e.px(a,\"border\"+b.Left+\"Width\")+e.px(a,\"border\"+b.Right+\"Width\")+ e.px(a,\"padding\"+b.Left)+e.px(a,\"padding\"+b.Right)}else return 0}function ba(a,b){b=s[b];return Math.round(e.px(a,\"border\"+b.Left+\"Width\")+e.px(a,\"border\"+b.Right+\"Width\")+e.px(a,\"margin\"+b.Left)+e.px(a,\"margin\"+b.Right)+e.px(a,\"padding\"+b.Left)+e.px(a,\"padding\"+b.Right))}function Y(a,b,c){a.dirty=Math.max(a.dirty,b);P=true;c&&F.layouts2.scheduleAdjust()}function v(a,b,c){if(a.style[b]!==c){a.style[b]=c;return true}else return false}function ra(a,b,c){var f=s[a],i=f.config.length,k=s[a^1].config.length, j=f.measures.slice();if(j.length==5){j[0]=j[0].slice();j[1]=j[1].slice()}if(P){if(c&&typeof f.minSize==\"undefined\"){f.minSize=e.px(c,\"min\"+f.Size);if(f.minSize>0)f.minSize-=G(c,a)}var t=[],d=[],n=0,l=0,h,H,r=false;for(h=0;h1){var o=$(\"#\"+g.id),w=o.get(0);if(!w){f.setItem(h,H,null);continue}if(w!=g.w){g.w=w;o.find(\"img\").add(o.filter(\"img\")).bind(\"load\",{item:g},function(S){Y(S.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=[];if($(g.w).hasClass(\"Wt-hidden\"))g.ps[a]=g.ms[a]=0;else{o=!g.set;if(!g.set)g.set=[false,false];if(g.w){if(e.isIE)g.w.style.visibility=\"\";if(g.dirty){if(g.dirty>1){w=C(g.w,a);g.ms[a]=w}else w=g.ms[a];if(w>u)u=w;if(g.dirty>1)g.margin[a]=x(g.w,a);if(!g.set[a])if(a==0||!o){o=e.pxself(g.w, f.size);g.fs[a]=o?o+g.margin[a]:0}else{o=Math.round(e.px(g.w,f.size));g.fs[a]=o>Math.max(G(g.w,a),w)?o+g.margin[a]:0}o=g.fs[a];if(g.layout){if(o==0)o=g.ps[a];g.ps[a]=o}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,s[1].size,\"\")}w=z(g.w,a,false,b);var J=w[0],T=g.set[a];if(T)if(g.psize[a]>8)T=J>=g.psize[a]-4&&J<=g.psize[a]+4;var ka=typeof g.ps[a]!==\"undefined\"&&f.config[h][0]>0&&g.set[a];o=T||ka?Math.max(o,g.ps[a]):Math.max(o,J); g.ps[a]=o;g.sc[a]=w[1]}if(!g.span||g.span[a]==1){if(o>m)m=o}else r=true}else if(!g.span||g.span[a]==1){if(g.ps[a]>m)m=g.ps[a];if(g.ms[a]>u)u=g.ms[a]}else r=true;if(!(g.w.style.display===\"none\"&&!g.w.ed)&&(!g.span||g.span[a]==1))p=false}}}}if(p)u=m=-1;else if(u>m)m=u;t[h]=m;d[h]=u;if(u>-1){n+=m;l+=u}}if(r){function oa(S,fa){for(h=0;h1){var ca=S(Z),ga=0,ha=0,I;for(I=0;I0)ha+=f.config[h+I][0]}}if(ca>=0)if(ga>0){if(ha>0)ga=ha;for(I=0;I0?f.config[h+I][0]:1;if(Q>0){var pa=Math.round(ca/Q);ca-=pa;ga-=Q;fa[h+I]+=pa}}}}else fa[h]=ca}}}oa(function(S){return S.ps[a]},t);oa(function(S){return S.ms[a]},d)}b=0;o=true;r=false;for(h=0;h-1){if(o){b+=f.margins[1];o=false}else{b+=f.margins[0];if(r)b+=4}r=f.config[h][1]!==0}o||(b+=f.margins[2]);n+=b;l+=b;f.measures=[t,d,n,l,b]}if(da||j[2]!=f.measures[2])ia.updateSizeInParent(a); c&&f.minSize==0&&j[3]!=f.measures[3]&&c.parentNode.className!=\"Wt-domRoot\"&&v(c,\"min\"+f.Size,f.measures[3]+\"px\");c&&a==0&&c&&e.hasTag(c,\"TD\")&&v(c,f.size,f.measures[2]+\"px\")}function sa(a,b,c){a=s[a];if(ea)c=-c;if(a.config[b][0]>0&&a.config[b+1][0]==0){++b;c=-c}a.fixedSize[b]=a.sizes[b]+c;F.layouts2.scheduleAdjust()}function ta(a,b,c){var f=b.di,i=s[a],k=s[a^1],j,t=e.getElement(D),d;for(d=f-1;d>=0;--d)if(i.sizes[d]>=0){j=-(i.sizes[d]-i.measures[1][d]);break}f=i.sizes[f]-i.measures[1][f];if(ea){var n= j;j=-f;f=-n}new e.SizeHandle(e,i.resizeDir,e.pxself(b,i.size),e.pxself(b,k.size),j,f,i.resizerClass,function(l){sa(a,d,l)},b,t,c,0,0)}function ua(a,b){var c=s[a],f=s[a^1],i=c.measures,k=0,j=false,t=false,d=false,n=ja?b.parentNode:null;if(c.maxSize===0)if(n){var l=e.css(n,\"position\");if(l===\"absolute\")k=e.pxself(n,c.size);if(k===0){if(!c.initialized){if(a===0&&(l===\"absolute\"||l===\"fixed\")){n.style.display=\"none\";k=n.clientWidth;n.style.display=\"\"}k=a?n.clientHeight:n.clientWidth;j=true;if(a==0&&k== 0&&e.isIElt9){k=n.offsetWidth;j=false}var h;if((e.hasTag(n,\"TD\")||e.hasTag(n,\"TH\"))&&!(e.isIE&&!e.isIElt9)){d=0;h=1}else{d=c.minSize?c.minSize:i[3];h=0}function H(T,ka){return T-ka<=1}if(e.isIElt9&&H(k,h)||H(k,d+N(n,a)))c.maxSize=999999}if(k===0&&c.maxSize===0){k=a?n.clientHeight:n.clientWidth;j=true}}}else{k=e.pxself(b,c.size);t=true}else if(c.sizeSet){k=e.pxself(n,c.size);t=true}var r=0;if(n&&n.wtGetPS&&a==1)r=n.wtGetPS(n,b,a,0);d=i[2];if(d=i[3]-r){r=k-i[4];h=[];var m=[0,0],u=[0,0],p=0;for(d=0;d-1){l=-1;if(typeof c.fixedSize[d]!== \"undefined\"&&(d+1==n||i[1][d+1]>-1))l=c.fixedSize[d];else if(c.config[d][1]!==0&&c.config[d][1][0]>=0){l=c.config[d][1][0];if(c.config[d][1][1])l=(k-i[4])*l/100}if(l>=0){h[d]=-1;j[d]=l;r-=j[d]}else{if(c.config[d][0]>0){l=1;h[d]=c.config[d][0];p+=h[d]}else{l=0;h[d]=0}m[l]+=i[1][d];u[l]+=i[0][d];j[d]=i[0][d]}}else{h[d]=-2;j[d]=-1}if(p==0){for(d=0;du[0]+m[1]){r-=u[0];if(r>u[1]){if(c.fitSize){r-=u[1];r=r/p;for(d=0;d0){j[d]+= Math.round(h[d]*r);c.stretched[d]=true}}}else{l=1;if(r0?(r-m[l])/(u[l]-m[l]):0;for(d=0;d0){m=i[0][d]-i[1][d];j[d]=i[1][d]+Math.round(m*r)}}}else{for(d=0;d0)j[d]=i[1][d];r-=m[1];l=0;if(r0?(r-m[l])/(u[l]-m[l]):0;for(d=0;d-1){var g=m;if(m){h=D+\"-rs\"+a+\"-\"+d;m=e.getElement(h);if(!m){m= document.createElement(\"div\");m.setAttribute(\"id\",h);m.di=d;m.style.position=\"absolute\";m.style[f.left]=f.margins[1]+\"px\";m.style[c.size]=c.margins[0]+\"px\";if(f.cSize)m.style[f.size]=f.cSize-f.margins[2]-f.margins[1]+\"px\";m.className=c.handleClass;b.insertBefore(m,b.firstChild);m.onmousedown=m.ontouchstart=function(T){ta(a,this,T||window.event)}}i+=2;v(m,c.left,i+\"px\");i+=2}m=c.config[d][1]!==0;if(r)r=false;else i+=c.margins[0]}for(u=0;u=j.length)break;if(w)l+=4;w=c.config[d+o][1]!==0;if(j[d+o-1]>-1&&j[d+o]>-1)l+=c.margins[0];l+=j[d+o]}}var J;v(h,\"visibility\",\"\");w=p.align>>c.alignBits&15;o=p.ps[a];if(l=o&&p.set[a]){v(h,c.size,o+\"px\")&&Y(p,1);p.set[a]=false}p.size[a]=o;p.psize[a]=o}else{w=Math.max(0,l-p.margin[a]); J=a==0&&p.sc[a];if(!(h.style.display===\"none\"&&!h.ed)&&(J||l!=o||p.layout)){if(v(h,c.size,w+\"px\")){if(!e.isIE&&(e.hasTag(h,\"TEXTAREA\")||e.hasTag(h,\"INPUT\"))){v(h,\"margin-\"+c.left,p.margin[a]/2+\"px\");v(h,\"margin-\"+f.left,p.margin[!a]/2+\"px\")}Y(p,1);p.set[a]=true}}else if(p.fs[a])a==0&&v(h,c.size,p.fs[a]+\"px\");else{v(h,c.size,\"\")&&Y(p,1);p.set[a]=false}J=i;p.size[a]=w;p.psize[a]=l}if(X)if(g){v(h,c.left,\"4px\");l=e.css(h,\"position\");if(l!==\"absolute\")h.style.position=\"relative\"}else v(h,c.left,\"0px\"); else v(h,c.left,J+\"px\");if(a==1){if(h.wtResize)h.wtResize(h,p.set[0]?Math.round(p.size[0]):-1,p.set[1]?Math.round(p.size[1]):-1,true);p.dirty=0}}if(j[d]>-1)i+=j[d]}$(b).children(\".\"+f.handleClass).css(c.size,k-c.margins[2]-c.margins[1]+\"px\")}}function la(){var a=e.getElement(D);ja=M==null;K=O=null;qa=ma=true;U=[];na=false;if(ja){var b=a;b=b.parentNode;for(U=[0,0];b!=document;){U[0]+=ba(b,0);U[1]+=ba(b,1);if(b.wtGetPS)na=true;var c=jQuery.data(b.parentNode,\"layout\");if(c){K=b;O=c;break}b=b;b=b.parentNode; if(b.childNodes.length!=1&&!b.wtGetPS)ma=false}a=a.parentNode;for(b=0;b<2;++b)s[b].sizeSet=e.pxself(a,s[b].size)!=0}else{O=jQuery.data(document.getElementById(M),\"layout\");K=a;U[0]=ba(K,0);U[1]=ba(K,1)}}var e=F.WT;this.descendants=[];var ia=this,B=A,P=true,da=true,ja,O,K,ma,qa=false,U,na,ea=$(document.body).hasClass(\"Wt-rtl\"),s=[{initialized:false,config:B.cols,margins:E,maxSize:aa,measures:[],sizes:[],stretched:[],fixedSize:[],Left:ea?\"Right\":\"Left\",left:ea?\"right\":\"left\",Right:ea?\"Left\":\"Right\", Size:\"Width\",size:\"width\",alignBits:0,getItem:function(a,b){return B.items[b*s[0].config.length+a]},setItem:function(a,b,c){B.items[b*s[0].config.length+a]=c},handleClass:\"Wt-vrh2\",resizeDir:\"h\",resizerClass:\"Wt-hsh2\",fitSize:V},{initialized:false,config:B.rows,margins:y,maxSize:q,measures:[],sizes:[],stretched:[],fixedSize:[],Left:\"Top\",left:\"top\",Right:\"Bottom\",Size:\"Height\",size:\"height\",alignBits:4,getItem:function(a,b){return B.items[a*s[0].config.length+b]},setItem:function(a,b,c){B.items[a* s[0].config.length+b]=c},handleClass:\"Wt-hrh2\",resizeDir:\"v\",resizerClass:\"Wt-vsh2\",fitSize:W}];jQuery.data(document.getElementById(D),\"layout\",this);this.updateSizeInParent=function(a){if(O){var b=e.$(K.id);if(b){if(K!=b)if(O=jQuery.data(b.parentNode,\"layout\"))K=b;else la()}else la()}if(O)if(ma){var c=s[a];b=c.measures[2];if(c.maxSize>0)b=Math.min(c.maxSize,b);if(na){c=e.getElement(D);if(!c)return;for(var f=c,i=f.parentNode;;){if(i.wtGetPS)b=i.wtGetPS(i,f,a,b);b+=ba(i,a);if(i==K)break;if(a==1&&i== c.parentNode&&!i.lh&&i.offsetHeight>b)b=i.offsetHeight;f=i;i=f.parentNode}}else b+=U[a];O.setChildSize(K,a,b)}};this.setConfig=function(a){var b=B;B=a;s[0].config=B.cols;s[1].config=B.rows;s[0].stretched=[];s[1].stretched=[];var c;a=0;for(c=b.items.length;a>i.alignBits&15||!i.stretched[a]){if(!t.ps)t.ps=[];t.ps[b]=c}t.layout=true;Y(t,1);break}}};this.measure=function(a){var b=e.getElement(D);if(b)if(!e.isHidden(b)){qa||la();if(P||da)ra(a,b,ja?b.parentNode:null);if(a==1)P=da=false}};this.setMaxSize=function(a,b){s[0].maxSize=a;s[1].maxSize=b};this.apply=function(a){var b= e.getElement(D);if(!b)return false;if(e.isHidden(b))return true;ua(a,b);return true};this.contains=function(a){var b=e.getElement(D);a=e.getElement(a.getId());return b&&a?e.contains(b,a):false};this.WT=e}");
}
static WJavaScriptPreamble appjs1() {
@@ -722,7 +722,7 @@ static WJavaScriptPreamble appjs1() {
JavaScriptScope.ApplicationScope,
JavaScriptObjectType.JavaScriptObject,
"layouts2",
- "new (function(){var F=[],E=false,K=this,T=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 D=q;for(q=q.parentNode;q&&q!=document.body;){var y=jQuery.data(q,\"layout\");y&&y.setElDirty(D);D=q;q=q.parentNode}};this.setChildLayoutsDirty=function(q,D){var y,A;y=0;for(A=q.descendants.length;y< A;++y){var z=q.descendants[y];if(D){var C=q.WT.getElement(z.getId());if(C&&!q.WT.contains(D,C))continue}z.setDirty()}};this.add=function(q){function D(y,A){var z,C;z=0;for(C=y.length;z=6)){U=true;setTimeout(function(){K.adjust()},0)}}};this.adjust=function(q,D){function y(z,C){var x,M;x=0;for(M=z.length;x=6)){W=true;setTimeout(function(){M.adjust()},0)}}};this.adjust=function(q,E){function y(z,C){var x,N;x=0;for(N=z.length;xafterLoaded is set to false
.
*
+ * In most situations, it's more robust to use
+ * {@link WWidget#doJavaScript(String js) WWidget#doJavaScript()} however.
+ *
*
- * @see WApplication#addAutoJavaScript(String javascript)
+ * @see WWidget#doJavaScript(String js)
* @see WApplication#addAutoJavaScript(String javascript)
*/
public void doJavaScript(final String javascript, boolean afterLoaded) {
@@ -1867,8 +1870,11 @@ public final void doJavaScript(final String javascript) {
* immediately. The JavaScript will be run after the normal event handling,
* unless afterLoaded
is set to false
.
*
+ * In most situations, it's more robust to use
+ * {@link WWidget#doJavaScript(String js) WWidget#doJavaScript()} however.
+ *
*
- * @see WApplication#addAutoJavaScript(String javascript)
+ * @see WWidget#doJavaScript(String js)
* @see WApplication#addAutoJavaScript(String javascript)
*/
public void addAutoJavaScript(final String javascript) {
@@ -1972,8 +1978,11 @@ public boolean requireJQuery(final String uri) {
* immediately. The JavaScript will be run after the normal event handling,
* unless afterLoaded
is set to false
.
*
+ * In most situations, it's more robust to use
+ * {@link WWidget#doJavaScript(String js) WWidget#doJavaScript()} however.
+ *
*
- * @see WApplication#addAutoJavaScript(String javascript)
+ * @see WWidget#doJavaScript(String js)
* @see WApplication#addAutoJavaScript(String javascript)
*/
public boolean isCustomJQuery() {
diff --git a/src/eu/webtoolkit/jwt/chart/WAxis.java b/src/eu/webtoolkit/jwt/chart/WAxis.java
index 9537509f..fa1c99bd 100644
--- a/src/eu/webtoolkit/jwt/chart/WAxis.java
+++ b/src/eu/webtoolkit/jwt/chart/WAxis.java
@@ -55,8 +55,8 @@
*
* The labels are shown using a "%.4g" format string for numbers, and
* a suitable format for {@link AxisScale#DateScale DateScale} or
- * {@link AxisScale#DateTimeScale DateTimeScale} formats, which uses heuristics
- * to choose a suitable format. The format may be customized using
+ * {@link AxisScale#DateTimeScale DateTimeScale} scales, based on heuristics.
+ * The format may be customized using
* {@link WAxis#setLabelFormat(CharSequence format) setLabelFormat()}. The angle
* of the label text may be changed using
* {@link WAxis#setLabelAngle(double angle) setLabelAngle()}. By default, all
@@ -499,8 +499,7 @@ public double getLabelInterval() {
* For an axis with a {@link AxisScale#LinearScale LinearScale} or
* {@link AxisScale#LogScale LogScale} scale, the format string must be a
* format string that is accepted by snprintf() and which formats one
- * double. If the format string is an empty string, "%.4g" is
- * used.
+ * double. If the format string is an empty string, then {@link } is used.
*
* For an axis with a {@link AxisScale#DateScale DateScale} scale, the
* format string must be a format string accepted by
@@ -514,7 +513,9 @@ public double getLabelInterval() {
* the format string is an empty string, a suitable format is chosen based
* on heuristics.
*
- * The default value is an empty string ("").
+ * The default value is "%.4g" for a numeric axis, and a suitable
+ * format for date(time) scales based on a heuristic taking into account the
+ * current axis range.
*
*
* @see WAxis#getLabelFormat()
@@ -525,6 +526,7 @@ public void setLabelFormat(final CharSequence format) {
update();
}
;
+ this.defaultLabelFormat_ = false;
}
/**
@@ -534,7 +536,25 @@ public void setLabelFormat(final CharSequence format) {
* @see WAxis#setLabelFormat(CharSequence format)
*/
public WString getLabelFormat() {
- return this.labelFormat_;
+ switch (this.scale_) {
+ case CategoryScale:
+ return new WString();
+ case DateScale:
+ case DateTimeScale:
+ if (this.defaultLabelFormat_) {
+ if (!this.segments_.isEmpty()) {
+ final WAxis.Segment s = this.segments_.get(0);
+ return this.defaultDateTimeFormat(s);
+ } else {
+ return this.labelFormat_;
+ }
+ } else {
+ return this.labelFormat_;
+ }
+ default:
+ return this.defaultLabelFormat_ ? new WString("%.4g")
+ : this.labelFormat_;
+ }
}
/**
@@ -775,25 +795,23 @@ public WString getLabel(double u) {
if (this.scale_ == AxisScale.CategoryScale) {
text = this.chart_.categoryLabel((int) u, this.axis_);
if ((text.length() == 0)) {
- buf = String.format("%.4g", u + 1);
- text = new WString(buf);
+ text = new WString(LocaleUtils.toString(LocaleUtils
+ .getCurrentLocale(), u));
}
} else {
if (this.scale_ == AxisScale.DateScale) {
WDate d = WDate.fromJulianDay((int) u);
- WString format = this.labelFormat_;
- if ((format.length() == 0)) {
- return new WString(d.toString("dd/MM/yyyy"));
- } else {
- return new WString(d.toString(format.toString()));
- }
+ WString format = this.getLabelFormat();
+ return new WString(d.toString(format.toString()));
} else {
- String format = this.labelFormat_.toString();
+ String format = this.getLabelFormat().toString();
if (format.length() == 0) {
- format = "%.4g";
+ text = new WString(LocaleUtils.toString(LocaleUtils
+ .getCurrentLocale(), u));
+ } else {
+ buf = String.format(format, u);
+ text = new WString(buf);
}
- buf = String.format(format, u);
- text = new WString(buf);
}
}
return text;
@@ -1450,6 +1468,7 @@ protected void getLabelTicks(final List ticks, int segment) {
}
case DateTimeScale:
case DateScale: {
+ WString format = this.getLabelFormat();
WDate dt = null;
if (this.scale_ == AxisScale.DateScale) {
dt = WDate.fromJulianDay((int) s.renderMinimum);
@@ -1467,70 +1486,6 @@ protected void getLabelTicks(final List ticks, int segment) {
|| unit.getValue() <= WAxis.DateTimeUnit.Days.getValue()
|| !!EnumUtils.mask(this.roundLimits_,
AxisValue.MinimumValue).isEmpty();
- WString format = this.labelFormat_;
- if ((format.length() == 0)) {
- if (atTick) {
- switch (unit) {
- case Months:
- case Years:
- case Days:
- if (dt.getSecond() != 0) {
- format = new WString("dd/MM/yy hh:mm:ss");
- } else {
- if (dt.getHour() != 0) {
- format = new WString("dd/MM/yy hh:mm");
- } else {
- format = new WString("dd/MM/yy");
- }
- }
- break;
- case Hours:
- if (dt.getSecond() != 0) {
- format = new WString("dd/MM hh:mm:ss");
- } else {
- if (dt.getMinute() != 0) {
- format = new WString("dd/MM hh:mm");
- } else {
- format = new WString("h'h' dd/MM");
- }
- }
- break;
- case Minutes:
- if (dt.getSecond() != 0) {
- format = new WString("hh:mm:ss");
- } else {
- format = new WString("hh:mm");
- }
- break;
- case Seconds:
- format = new WString("hh:mm:ss");
- break;
- }
- } else {
- switch (unit) {
- case Years:
- format = new WString("yyyy");
- break;
- case Months:
- format = new WString("MMM yy");
- break;
- case Days:
- format = new WString("dd/MM/yy");
- break;
- case Hours:
- format = new WString("h'h' dd/MM");
- break;
- case Minutes:
- format = new WString("hh:mm");
- break;
- case Seconds:
- format = new WString("hh:mm:ss");
- break;
- default:
- break;
- }
- }
- }
for (;;) {
long dl = this.getDateNumber(dt);
if (dl > s.renderMaximum) {
@@ -1596,6 +1551,7 @@ public int getValue() {
private double resolution_;
private double labelInterval_;
private WString labelFormat_;
+ private boolean defaultLabelFormat_;
private boolean gridLines_;
private WPen pen_;
private WPen gridLinesPen_;
@@ -1643,6 +1599,7 @@ public Segment() {
this.resolution_ = 0.0;
this.labelInterval_ = 0;
this.labelFormat_ = new WString();
+ this.defaultLabelFormat_ = true;
this.gridLines_ = false;
this.pen_ = new WPen();
this.gridLinesPen_ = new WPen(WColor.gray);
@@ -1871,6 +1828,78 @@ private double calcAutoNumLabels(Orientation orientation,
: AUTO_H_LABEL_PIXELS);
}
+ private WString defaultDateTimeFormat(final WAxis.Segment s) {
+ WDate dt = null;
+ if (this.scale_ == AxisScale.DateScale) {
+ dt = WDate.fromJulianDay((int) s.renderMinimum);
+ if (!(dt != null)) {
+ String exception = "Invalid julian day: "
+ + String.valueOf(s.renderMinimum);
+ throw new WException(exception);
+ }
+ } else {
+ dt = new WDate(new Date((long) (long) s.renderMinimum));
+ }
+ int interval = s.dateTimeRenderInterval;
+ WAxis.DateTimeUnit unit = s.dateTimeRenderUnit;
+ boolean atTick = interval > 1
+ || unit.getValue() <= WAxis.DateTimeUnit.Days.getValue()
+ || !!EnumUtils.mask(this.roundLimits_, AxisValue.MinimumValue)
+ .isEmpty();
+ if (atTick) {
+ switch (unit) {
+ case Months:
+ case Years:
+ case Days:
+ if (dt.getSecond() != 0) {
+ return new WString("dd/MM/yy hh:mm:ss");
+ } else {
+ if (dt.getHour() != 0) {
+ return new WString("dd/MM/yy hh:mm");
+ } else {
+ return new WString("dd/MM/yy");
+ }
+ }
+ case Hours:
+ if (dt.getSecond() != 0) {
+ return new WString("dd/MM hh:mm:ss");
+ } else {
+ if (dt.getMinute() != 0) {
+ return new WString("dd/MM hh:mm");
+ } else {
+ return new WString("h'h' dd/MM");
+ }
+ }
+ case Minutes:
+ if (dt.getSecond() != 0) {
+ return new WString("hh:mm:ss");
+ } else {
+ return new WString("hh:mm");
+ }
+ case Seconds:
+ return new WString("hh:mm:ss");
+ }
+ } else {
+ switch (unit) {
+ case Years:
+ return new WString("yyyy");
+ case Months:
+ return new WString("MMM yy");
+ case Days:
+ return new WString("dd/MM/yy");
+ case Hours:
+ return new WString("h'h' dd/MM");
+ case Minutes:
+ return new WString("hh:mm");
+ case Seconds:
+ return new WString("hh:mm:ss");
+ default:
+ break;
+ }
+ }
+ return WString.Empty;
+ }
+
double mapFromDevice(double d) {
for (int i = 0; i < this.segments_.size(); ++i) {
final WAxis.Segment s = this.segments_.get(i);
diff --git a/src/eu/webtoolkit/jwt/render/Css21Lexer.java b/src/eu/webtoolkit/jwt/render/Css21Lexer.java
index 98780551..21eec938 100644
--- a/src/eu/webtoolkit/jwt/render/Css21Lexer.java
+++ b/src/eu/webtoolkit/jwt/render/Css21Lexer.java
@@ -1,4 +1,4 @@
-// $ANTLR 3.5 src/eu/webtoolkit/jwt/render/Css21.g 2014-03-10 11:55:30
+// $ANTLR 3.5 src/eu/webtoolkit/jwt/render/Css21.g 2014-03-12 17:03:45
package eu.webtoolkit.jwt.render;
import org.antlr.runtime.*;
diff --git a/src/eu/webtoolkit/jwt/render/Css21Parser.java b/src/eu/webtoolkit/jwt/render/Css21Parser.java
index 8046ad0e..1b92bd78 100644
--- a/src/eu/webtoolkit/jwt/render/Css21Parser.java
+++ b/src/eu/webtoolkit/jwt/render/Css21Parser.java
@@ -1,4 +1,4 @@
-// $ANTLR 3.5 src/eu/webtoolkit/jwt/render/Css21.g 2014-03-10 11:55:29
+// $ANTLR 3.5 src/eu/webtoolkit/jwt/render/Css21.g 2014-03-12 17:03:45
package eu.webtoolkit.jwt.render;
import org.antlr.runtime.*;
diff --git a/src/eu/webtoolkit/jwt/utils/LocaleUtils.java b/src/eu/webtoolkit/jwt/utils/LocaleUtils.java
index e6edd449..5ade64a7 100644
--- a/src/eu/webtoolkit/jwt/utils/LocaleUtils.java
+++ b/src/eu/webtoolkit/jwt/utils/LocaleUtils.java
@@ -64,5 +64,9 @@ public static String toFixedString(Locale locale, double value, int precision) {
public static String toString(Locale locale, int value) {
return NumberFormat.getInstance(locale).format(value);
+ }
+
+ public static String toString(Locale locale, double value) {
+ return NumberFormat.getInstance(locale).format(value);
}
}
diff --git a/src/eu/webtoolkit/jwt/wt-resources/themes/bootstrap/2/wt.css b/src/eu/webtoolkit/jwt/wt-resources/themes/bootstrap/2/wt.css
index 8133d205..c6c877a7 100644
--- a/src/eu/webtoolkit/jwt/wt-resources/themes/bootstrap/2/wt.css
+++ b/src/eu/webtoolkit/jwt/wt-resources/themes/bootstrap/2/wt.css
@@ -544,7 +544,6 @@
white-space: nowrap;
background: white;
border: 1px solid #dddddd;
- overflow: auto;
/* header */
/* resize handles */
@@ -554,6 +553,9 @@
/* item drag & drop */
}
+.Wt-itemview.Wt-itemview-paged {
+ overflow: auto;
+}
.Wt-itemview .Wt-spacer {
background: url(../../../loading.png);
}
diff --git a/src/eu/webtoolkit/jwt/wt-resources/themes/bootstrap/2/wt.less b/src/eu/webtoolkit/jwt/wt-resources/themes/bootstrap/2/wt.less
index 0487f729..82e6a2d7 100644
--- a/src/eu/webtoolkit/jwt/wt-resources/themes/bootstrap/2/wt.less
+++ b/src/eu/webtoolkit/jwt/wt-resources/themes/bootstrap/2/wt.less
@@ -501,7 +501,10 @@
white-space: nowrap;
background: white;
border: 1px solid @tableBorder;
- overflow: auto;
+
+ &.Wt-itemview-paged {
+ overflow: auto;
+ }
.Wt-spacer {
background: url(../../../loading.png);
diff --git a/src/eu/webtoolkit/jwt/wt-resources/themes/bootstrap/3/wt.css b/src/eu/webtoolkit/jwt/wt-resources/themes/bootstrap/3/wt.css
index 3d1734ad..f4d4daae 100644
--- a/src/eu/webtoolkit/jwt/wt-resources/themes/bootstrap/3/wt.css
+++ b/src/eu/webtoolkit/jwt/wt-resources/themes/bootstrap/3/wt.css
@@ -607,13 +607,16 @@ fieldset[disabled] .Wt-slider-v .handle.active {
*/
.Wt-itemview {
- overflow: auto;
white-space: nowrap;
cursor: default;
background: white;
border: 1px solid #dddddd;
}
+.Wt-itemview.Wt-itemview-paged {
+ overflow: auto;
+}
+
.Wt-itemview .Wt-spacer {
background: url(../../../loading.png);
}
@@ -971,6 +974,12 @@ body.Wt-rtl .Wt-sbspacer {
border-right: 1px solid #dddddd;
}
+.Wt-treeview button.Wt-tv-c {
+ border-right-color: transparent;
+ /* doesn't work */
+
+}
+
.Wt-treeview .Wt-tv-c {
padding: 0 3px;
-webkit-box-sizing: content-box;
@@ -978,12 +987,6 @@ body.Wt-rtl .Wt-sbspacer {
box-sizing: content-box;
}
-.Wt-treeview button.Wt-tv-c {
- border-right-color: transparent;
- /* doesn't work */
-
-}
-
.Wt-treeview .Wt-tv-row {
float: right;
overflow: hidden;
diff --git a/src/eu/webtoolkit/jwt/wt-resources/themes/bootstrap/3/wt.less b/src/eu/webtoolkit/jwt/wt-resources/themes/bootstrap/3/wt.less
index 4a12a7b7..19d3eae0 100644
--- a/src/eu/webtoolkit/jwt/wt-resources/themes/bootstrap/3/wt.less
+++ b/src/eu/webtoolkit/jwt/wt-resources/themes/bootstrap/3/wt.less
@@ -519,7 +519,10 @@
white-space: nowrap;
background: white;
border: 1px solid @table-border-color;
- overflow: auto;
+
+ &.Wt-itemview-paged {
+ overflow: auto;
+ }
.Wt-spacer {
background: url(../../../loading.png);