Sub Class_Globals
Private fx As JFX
Private JOWebView As JavaObject
Private WebView1 As WebView
Private OAuthLogin As Form
Private AuthCode As String = ""
Private OAuthLoginResult As LoginResult
Private LoginWWW As String
Private JOWebEngine As JavaObject
End Sub
'Initializes the object. You can add parameters to this method if needed.
Public Sub Initialize(ParentForm As Form,LoginPage As String)
OAuthLogin.Initialize("Login",600,800)
OAuthLogin.RootPane.LoadLayout("Login")
OAuthLogin.SetOwner(ParentForm)
OAuthLogin.Title = "OAuth Login"
OAuthLogin.Resizable = False
OAuthLogin.SetFormStyle("UTILITY")
Log(LoginPage)
LoginWWW = LoginPage
JOWebView = WebView1
OAuthLoginResult.Initialize
'Add listener to Webengine Exception Poperty
JOWebEngine = JOWebView.RunMethodJO("getEngine",Null).RunMethodJO("getLoadWorker",Null)
Dim o As Object = JOWebEngine.CreateEvent("javafx.beans.value.ChangeListener","webengine",False)
JOWebEngine.RunMethodJO("exceptionProperty",Null).RunMethod("addListener",Array(o))
End Sub
Public Sub ShowLogin() As ResumableSub
WebView1.LoadUrl(LoginWWW)
Wait For WebView1_PageFinished
OAuthLogin.ShowAndWait
If AuthCode.Length > 0 Then
OAuthLoginResult.AuthCode = AuthCode
Return OAuthLoginResult
Else
Return ""
End If
End Sub
'Handle webengine exceptions and load error page
Sub webengine_Event(MethodName As String, Args() As Object)' ignore the arguments
Dim JO As JavaObject
JO = Args(2)
Log("Webengine Failed: " & JO.RunMethod("getMessage",Null))
WebView1.LoadHtml("Webengine Failed: " & JO.RunMethod("getMessage",Null))
End Sub
Sub WebView1_LocationChanged (Location As String)
End Sub
Sub WebView1_PageFinished (Url As String)
End Sub
Sub SetLoginPage(WWWPAge As String)
LoginWWW = WWWPAge
End Sub