Subversion Repository Public Repository

litesoft

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

Diff revisions: vs.
  @@ -1,162 +1,162 @@
1 - // This Source Code is in the Public Domain per: http://unlicense.org
2 - package org.litesoft.GWT.client.nonpublic;
3 -
4 - import com.google.gwt.core.client.*;
5 -
6 - public class NativeExtendedFamilyManagerSupport {
7 - public static native int getWindowState( JavaScriptObject pWinHandle ) /*-{
8 - try
9 - {
10 - if ( !pWinHandle )
11 - return 1;
12 - if ( pWinHandle.closed )
13 - return 2;
14 - }
15 - catch ( e )
16 - {
17 - return 3;
18 - }
19 - return 0;
20 - }-*/;
21 -
22 - public static native String notifyNewDecendent( JavaScriptObject pAncestorWinHandle, String pWinName, JavaScriptObject pWinHandle ) /*-{
23 - try
24 - {
25 - if ( pAncestorWinHandle )
26 - {
27 - if ( pAncestorWinHandle.closed )
28 - {
29 - return "notifyNewDecendent: Opener Closed";
30 - }
31 - pAncestorWinHandle.newDecendent( pWinName, pWinHandle );
32 - return "";
33 - }
34 - return "notifyNewDecendent: No Opener";
35 - }
36 - catch ( e )
37 - {
38 - return "notifyNewDecendent: " + e;
39 - }
40 - }-*/;
41 -
42 - public static native JavaScriptObject openNewWindow( String pUrl, String pWinName, String pLaunchAppParams ) /*-{
43 - var zWinHandle = $wnd.open( pUrl, pWinName, pLaunchAppParams );
44 - if ( zWinHandle )
45 - {
46 - if ( !zWinHandle.opener )
47 - {
48 - zWinHandle.opener = $wnd;
49 - }
50 - if ( !zWinHandle.closed )
51 - {
52 - try
53 - {
54 - @org.litesoft.GWT.client.nonpublic.ExtendedFamilyManager::registerNewChildWindow(Ljava/lang/String;
55 - Lcom/google/gwt/core/client/JavaScriptObject;)( pWinName, zWinHandle );
56 - }
57 - catch ( e )
58 - {
59 - alert( "openNewWindow -> registerNewChildWindow\n\n" + e );
60 - }
61 - }
62 - }
63 - return zWinHandle;
64 - }-*/;
65 -
66 - public static native void buildCurrentlyActiveDirectAncestry() /*-{
67 - var zOpener = $wnd.opener || null;
68 - var zDepth = 1;
69 - var zPhase = 1;
70 - try
71 - {
72 - while ( zOpener )
73 - {
74 - zPhase = 2;
75 - if ( zOpener.closed ) // JS documentation says this should be able to be called whenever!
76 - {
77 - return;
78 - }
79 - zPhase = 3;
80 - @org.litesoft.GWT.client.nonpublic.ExtendedFamilyManager::registerAncestor(Lcom/google/gwt/core/client/JavaScriptObject;)( zOpener );
81 - zPhase = 4;
82 - zOpener = zOpener.opener || null;
83 - zDepth++;
84 - zPhase = 1;
85 - }
86 - }
87 - catch ( e )
88 - {
89 - alert( "buildAncestry( " + zDepth + " ):" + zPhase + "\n" + e );
90 - }
91 - }-*/;
92 -
93 - public static native void export() /*-{
94 -
95 - $wnd.getAncestorWinHandle = function ( pAncestorIndex )
96 - {
97 - try
98 - {
99 - return @org.litesoft.GWT.client.nonpublic.ExtendedFamilyManager::getAncestor(Ljava/lang/Integer;)( pAncestorIndex );
100 - }
101 - catch ( e )
102 - {
103 - alert( "NativeClientEventBusSupport.getAncestorWinHandle\n\n" + e );
104 - }
105 - }
106 - $wnd.childAcknowledge = function ( pWinName, pWinHandle )
107 - {
108 - try
109 - {
110 - return @org.litesoft.GWT.client.nonpublic.ExtendedFamilyManager::ackNewChildWindow(Ljava/lang/String;
111 - Lcom/google/gwt/core/client/JavaScriptObject;)( pWinName, pWinHandle );
112 - }
113 - catch ( e )
114 - {
115 - alert( "NativeClientEventBusSupport.childAcknowledge\n\n" + e );
116 - }
117 - }
118 - $wnd.newDecendent = function ( pWinName, pWinHandle )
119 - {
120 - try
121 - {
122 - return @org.litesoft.GWT.client.nonpublic.ExtendedFamilyManager::newDecendentWindow(Ljava/lang/String;
123 - Lcom/google/gwt/core/client/JavaScriptObject;)( pWinName, pWinHandle );
124 - }
125 - catch ( e )
126 - {
127 - alert( "NativeClientEventBusSupport.newDecendent\n\n" + e );
128 - }
129 - }
130 - }-*/;
131 -
132 - /**
133 - * Just being a bit parnoid about avoiding memory leaks in IE...
134 - */
135 - public static native void dispose() /*-{
136 - $wnd.getAncestorWinHandle = null;
137 - $wnd.childAcknowledge = null;
138 - $wnd.newDecendent = null;
139 - }-*/;
140 -
141 - public static native JavaScriptObject getAncestorIndexedWinHandle( JavaScriptObject pAncestorWinHandle, Integer pIndex ) /*-{
142 - try
143 - {
144 - if ( pAncestorWinHandle )
145 - {
146 - if ( !pAncestorWinHandle.closed )
147 - {
148 - return pAncestorWinHandle.getAncestorWinHandle( pIndex );
149 - }
150 - alert( "getAncestorIndexedWinHandle:\nClosed" );
151 - return null;
152 - }
153 - alert( "getAncestorIndexedWinHandle:\nNo Handle" );
154 - return null;
155 - }
156 - catch ( e )
157 - {
158 - alert( "getAncestorIndexedWinHandle:\n" + e );
159 - return null;
160 - }
161 - }-*/;
162 - }
1 + // This Source Code is in the Public Domain per: http://unlicense.org
2 + package org.litesoft.GWT.client.nonpublic;
3 +
4 + import com.google.gwt.core.client.*;
5 +
6 + public class NativeExtendedFamilyManagerSupport {
7 + public static native int getWindowState( JavaScriptObject pWinHandle ) /*-{
8 + try
9 + {
10 + if ( !pWinHandle )
11 + return 1;
12 + if ( pWinHandle.closed )
13 + return 2;
14 + }
15 + catch ( e )
16 + {
17 + return 3;
18 + }
19 + return 0;
20 + }-*/;
21 +
22 + public static native String notifyNewDecendent( JavaScriptObject pAncestorWinHandle, String pWinName, JavaScriptObject pWinHandle ) /*-{
23 + try
24 + {
25 + if ( pAncestorWinHandle )
26 + {
27 + if ( pAncestorWinHandle.closed )
28 + {
29 + return "notifyNewDecendent: Opener Closed";
30 + }
31 + pAncestorWinHandle.newDecendent( pWinName, pWinHandle );
32 + return "";
33 + }
34 + return "notifyNewDecendent: No Opener";
35 + }
36 + catch ( e )
37 + {
38 + return "notifyNewDecendent: " + e;
39 + }
40 + }-*/;
41 +
42 + public static native JavaScriptObject openNewWindow( String pUrl, String pWinName, String pLaunchAppParams ) /*-{
43 + var zWinHandle = $wnd.open( pUrl, pWinName, pLaunchAppParams );
44 + if ( zWinHandle )
45 + {
46 + if ( !zWinHandle.opener )
47 + {
48 + zWinHandle.opener = $wnd;
49 + }
50 + if ( !zWinHandle.closed )
51 + {
52 + try
53 + {
54 + @org.litesoft.GWT.client.nonpublic.ExtendedFamilyManager::registerNewChildWindow(Ljava/lang/String;
55 + Lcom/google/gwt/core/client/JavaScriptObject;)( pWinName, zWinHandle );
56 + }
57 + catch ( e )
58 + {
59 + alert( "openNewWindow -> registerNewChildWindow\n\n" + e );
60 + }
61 + }
62 + }
63 + return zWinHandle;
64 + }-*/;
65 +
66 + public static native void buildCurrentlyActiveDirectAncestry() /*-{
67 + var zOpener = $wnd.opener || null;
68 + var zDepth = 1;
69 + var zPhase = 1;
70 + try
71 + {
72 + while ( zOpener )
73 + {
74 + zPhase = 2;
75 + if ( zOpener.closed ) // JS documentation says this should be able to be called whenever!
76 + {
77 + return;
78 + }
79 + zPhase = 3;
80 + @org.litesoft.GWT.client.nonpublic.ExtendedFamilyManager::registerAncestor(Lcom/google/gwt/core/client/JavaScriptObject;)( zOpener );
81 + zPhase = 4;
82 + zOpener = zOpener.opener || null;
83 + zDepth++;
84 + zPhase = 1;
85 + }
86 + }
87 + catch ( e )
88 + {
89 + alert( "buildAncestry( " + zDepth + " ):" + zPhase + "\n" + e );
90 + }
91 + }-*/;
92 +
93 + public static native void export() /*-{
94 +
95 + $wnd.getAncestorWinHandle = function ( pAncestorIndex )
96 + {
97 + try
98 + {
99 + return @org.litesoft.GWT.client.nonpublic.ExtendedFamilyManager::getAncestor(Ljava/lang/Integer;)( pAncestorIndex );
100 + }
101 + catch ( e )
102 + {
103 + alert( "NativeClientEventBusSupport.getAncestorWinHandle\n\n" + e );
104 + }
105 + }
106 + $wnd.childAcknowledge = function ( pWinName, pWinHandle )
107 + {
108 + try
109 + {
110 + return @org.litesoft.GWT.client.nonpublic.ExtendedFamilyManager::ackNewChildWindow(Ljava/lang/String;
111 + Lcom/google/gwt/core/client/JavaScriptObject;)( pWinName, pWinHandle );
112 + }
113 + catch ( e )
114 + {
115 + alert( "NativeClientEventBusSupport.childAcknowledge\n\n" + e );
116 + }
117 + }
118 + $wnd.newDecendent = function ( pWinName, pWinHandle )
119 + {
120 + try
121 + {
122 + return @org.litesoft.GWT.client.nonpublic.ExtendedFamilyManager::newDecendentWindow(Ljava/lang/String;
123 + Lcom/google/gwt/core/client/JavaScriptObject;)( pWinName, pWinHandle );
124 + }
125 + catch ( e )
126 + {
127 + alert( "NativeClientEventBusSupport.newDecendent\n\n" + e );
128 + }
129 + }
130 + }-*/;
131 +
132 + /**
133 + * Just being a bit parnoid about avoiding memory leaks in IE...
134 + */
135 + public static native void dispose() /*-{
136 + $wnd.getAncestorWinHandle = null;
137 + $wnd.childAcknowledge = null;
138 + $wnd.newDecendent = null;
139 + }-*/;
140 +
141 + public static native JavaScriptObject getAncestorIndexedWinHandle( JavaScriptObject pAncestorWinHandle, Integer pIndex ) /*-{
142 + try
143 + {
144 + if ( pAncestorWinHandle )
145 + {
146 + if ( !pAncestorWinHandle.closed )
147 + {
148 + return pAncestorWinHandle.getAncestorWinHandle( pIndex );
149 + }
150 + alert( "getAncestorIndexedWinHandle:\nClosed" );
151 + return null;
152 + }
153 + alert( "getAncestorIndexedWinHandle:\nNo Handle" );
154 + return null;
155 + }
156 + catch ( e )
157 + {
158 + alert( "getAncestorIndexedWinHandle:\n" + e );
159 + return null;
160 + }
161 + }-*/;
162 + }