Subversion Repository Public Repository

litesoft

Diff Revisions 949 vs 950 for /trunk/Java/GWT/Client/src/org/litesoft/GWT/client/widgets/NewWindowSizingPanel.java

Diff revisions: vs.
  @@ -1,126 +1,126 @@
1 - // This Source Code is in the Public Domain per: http://unlicense.org
2 - package org.litesoft.GWT.client.widgets;
3 -
4 - import org.litesoft.GWT.client.widgets.nonpublic.*;
5 - import org.litesoft.logger.*;
6 -
7 - import com.google.gwt.user.client.*;
8 - import com.google.gwt.user.client.ui.*;
9 -
10 - public final class NewWindowSizingPanel extends NewClippingSimplePanel {
11 - public static final Logger LOGGER = LoggerFactory.getLogger( NewWindowSizingPanel.class );
12 -
13 - public static int sWidth = -1;
14 - public static int sHeight = -1;
15 -
16 - private KeyEventDumper mKeyEventDumper = KeyEventDumper.NULL;
17 -
18 - public NewWindowSizingPanel() {
19 - super( "litesoft-NoSizeAffectingCSS-WindowSizingPanel" );
20 -
21 - // todo:...
22 - mKeyEventDumper = new KeyEventDumperImpl( LOGGER.trace(), true );
23 - sinkEvents( Event.KEYEVENTS );
24 -
25 - sWindowSizingPanel = this;
26 -
27 - Window.addWindowResizeListener( new WindowResizer() );
28 - }
29 -
30 - @Override
31 - public void onAttach() {
32 - super.onAttach();
33 - relayout();
34 - }
35 -
36 - public static void relayoutSingleton() {
37 - sResizeCacher.resize();
38 - }
39 -
40 - @Override
41 - public void relayout() {
42 - relayoutSingleton();
43 - }
44 -
45 - @Override
46 - public void setWidget( Widget pWidget ) {
47 - super.setWidget( pWidget );
48 - if ( pWidget != null ) {
49 - relayout();
50 - }
51 - }
52 -
53 - public static NewWindowSizingPanel get() {
54 - return sWindowSizingPanel;
55 - }
56 -
57 - public static Widget getContent() {
58 - return sWindowSizingPanel.getWidget();
59 - }
60 -
61 - public static Widget setContent( Widget pWidget ) {
62 - sWindowSizingPanel.setWidget( pWidget );
63 - return pWidget;
64 - }
65 -
66 - private static boolean execResize() {
67 - if ( 0 != mExecResizeEnters++ ) {
68 - return false;
69 - }
70 - int zWidth = Window.getClientWidth();
71 - int zHeight = Window.getClientHeight();
72 - // System.out.println( "WindowSizingPanel.execResize: " + sWidth + " <- w | h -> " + sHeight );
73 - if ( zWidth != sWidth ) {
74 - sWindowSizingPanel.setWidth( "" + (sWidth = Math.max( zWidth, 1 )) );
75 - }
76 - if ( zHeight != sHeight ) {
77 - sWindowSizingPanel.setHeight( "" + (sHeight = Math.max( zHeight, 1 )) );
78 - }
79 - if ( mExecResizeEnters != 1 ) {
80 - sWindowSizingPanel.relayout();
81 - }
82 - mExecResizeEnters = 0;
83 - return true; // Line for debugger break-point support
84 - }
85 -
86 - private static int mExecResizeEnters = 0;
87 - private static NewWindowSizingPanel sWindowSizingPanel = null;
88 - private static NewWindowSizingPanel.ResizeCacher sResizeCacher = new NewWindowSizingPanel.ResizeCacher();
89 -
90 - public static class ResizeCacher extends Timer {
91 - public void resize() {
92 - cancel();
93 - schedule( 250 ); // 1/4 sec
94 - }
95 -
96 - @Override
97 - public void run() {
98 - execResize();
99 - }
100 - }
101 -
102 - private static class WindowResizer implements WindowResizeListener {
103 - @Override
104 - public void onWindowResized( int width, int height ) {
105 - sResizeCacher.resize();
106 - }
107 - }
108 -
109 - @Override
110 - public void setWidth( String width ) {
111 - // For Debuging
112 - super.setWidth( width );
113 - }
114 -
115 - @Override
116 - public void setHeight( String height ) {
117 - // For Debuging
118 - super.setHeight( height );
119 - }
120 -
121 - @Override
122 - public void onBrowserEvent( Event event ) {
123 - mKeyEventDumper.dump( event );
124 - super.onBrowserEvent( event );
125 - }
126 - }
1 + // This Source Code is in the Public Domain per: http://unlicense.org
2 + package org.litesoft.GWT.client.widgets;
3 +
4 + import org.litesoft.GWT.client.widgets.nonpublic.*;
5 + import org.litesoft.logger.*;
6 +
7 + import com.google.gwt.user.client.*;
8 + import com.google.gwt.user.client.ui.*;
9 +
10 + public final class NewWindowSizingPanel extends NewClippingSimplePanel {
11 + public static final Logger LOGGER = LoggerFactory.getLogger( NewWindowSizingPanel.class );
12 +
13 + public static int sWidth = -1;
14 + public static int sHeight = -1;
15 +
16 + private KeyEventDumper mKeyEventDumper = KeyEventDumper.NULL;
17 +
18 + public NewWindowSizingPanel() {
19 + super( "litesoft-NoSizeAffectingCSS-WindowSizingPanel" );
20 +
21 + // todo:...
22 + mKeyEventDumper = new KeyEventDumperImpl( LOGGER.trace(), true );
23 + sinkEvents( Event.KEYEVENTS );
24 +
25 + sWindowSizingPanel = this;
26 +
27 + Window.addWindowResizeListener( new WindowResizer() );
28 + }
29 +
30 + @Override
31 + public void onAttach() {
32 + super.onAttach();
33 + relayout();
34 + }
35 +
36 + public static void relayoutSingleton() {
37 + sResizeCacher.resize();
38 + }
39 +
40 + @Override
41 + public void relayout() {
42 + relayoutSingleton();
43 + }
44 +
45 + @Override
46 + public void setWidget( Widget pWidget ) {
47 + super.setWidget( pWidget );
48 + if ( pWidget != null ) {
49 + relayout();
50 + }
51 + }
52 +
53 + public static NewWindowSizingPanel get() {
54 + return sWindowSizingPanel;
55 + }
56 +
57 + public static Widget getContent() {
58 + return sWindowSizingPanel.getWidget();
59 + }
60 +
61 + public static Widget setContent( Widget pWidget ) {
62 + sWindowSizingPanel.setWidget( pWidget );
63 + return pWidget;
64 + }
65 +
66 + private static boolean execResize() {
67 + if ( 0 != mExecResizeEnters++ ) {
68 + return false;
69 + }
70 + int zWidth = Window.getClientWidth();
71 + int zHeight = Window.getClientHeight();
72 + // System.out.println( "WindowSizingPanel.execResize: " + sWidth + " <- w | h -> " + sHeight );
73 + if ( zWidth != sWidth ) {
74 + sWindowSizingPanel.setWidth( "" + (sWidth = Math.max( zWidth, 1 )) );
75 + }
76 + if ( zHeight != sHeight ) {
77 + sWindowSizingPanel.setHeight( "" + (sHeight = Math.max( zHeight, 1 )) );
78 + }
79 + if ( mExecResizeEnters != 1 ) {
80 + sWindowSizingPanel.relayout();
81 + }
82 + mExecResizeEnters = 0;
83 + return true; // Line for debugger break-point support
84 + }
85 +
86 + private static int mExecResizeEnters = 0;
87 + private static NewWindowSizingPanel sWindowSizingPanel = null;
88 + private static NewWindowSizingPanel.ResizeCacher sResizeCacher = new NewWindowSizingPanel.ResizeCacher();
89 +
90 + public static class ResizeCacher extends Timer {
91 + public void resize() {
92 + cancel();
93 + schedule( 250 ); // 1/4 sec
94 + }
95 +
96 + @Override
97 + public void run() {
98 + execResize();
99 + }
100 + }
101 +
102 + private static class WindowResizer implements WindowResizeListener {
103 + @Override
104 + public void onWindowResized( int width, int height ) {
105 + sResizeCacher.resize();
106 + }
107 + }
108 +
109 + @Override
110 + public void setWidth( String width ) {
111 + // For Debuging
112 + super.setWidth( width );
113 + }
114 +
115 + @Override
116 + public void setHeight( String height ) {
117 + // For Debuging
118 + super.setHeight( height );
119 + }
120 +
121 + @Override
122 + public void onBrowserEvent( Event event ) {
123 + mKeyEventDumper.dump( event );
124 + super.onBrowserEvent( event );
125 + }
126 + }