public override void AddedToDocument(GH_Document document) { base.AddedToDocument(document); Document = this.OnPingDocument(); if (myReceiver == null) { var myForm = new SpecklePopup.MainWindow(); var some = new System.Windows.Interop.WindowInteropHelper(myForm); some.Owner = Rhino.RhinoApp.MainWindowHandle(); myForm.ShowDialog(); if (myForm.restApi != null && myForm.apitoken != null) { RestApi = myForm.restApi; AuthToken = myForm.apitoken; } else { AddRuntimeMessage(GH_RuntimeMessageLevel.Error, "Account selection failed."); return; } } }
public override void AddedToDocument(GH_Document document) { base.AddedToDocument(document); senderGuids = new List <string>(); if (serialisedReceiver != null) { myReceiver = new SpeckleReceiver(serialisedReceiver, new GhRhConveter(true, true)); streamId = myReceiver.getStreamId(); apiUrl = myReceiver.getServer(); token = myReceiver.getToken(); registermyReceiverEvents(); } else { var myForm = new SpecklePopup.MainWindow(); var some = new System.Windows.Interop.WindowInteropHelper(myForm); some.Owner = Rhino.RhinoApp.MainWindowHandle(); myForm.ShowDialog(); if (myForm.restApi != null && myForm.apitoken != null) { apiUrl = myForm.restApi; token = myForm.apitoken; } } expireComponentAction = () => this.ExpireSolution(true); }
public override void AddedToDocument(GH_Document document) { base.AddedToDocument(document); ready = false; if (serialisedSender != null) { mySender = new SpeckleSender(serialisedSender, new GhRhConveter(true, true)); } else { var myForm = new SpecklePopup.MainWindow(); var some = new System.Windows.Interop.WindowInteropHelper(myForm); some.Owner = Rhino.RhinoApp.MainWindowHandle(); myForm.ShowDialog(); if (myForm.restApi != null && myForm.apitoken != null) { mySender = new SpeckleSender(myForm.restApi, myForm.apitoken, new GhRhConveter(true, true)); } } if (mySender == null) { return; } mySender.OnError += OnError; mySender.OnReady += OnReady; mySender.OnDataSent += OnDataSent; mySender.OnMessage += OnVolatileMessage; mySender.OnBroadcast += OnBroadcast; expireComponentAction = () => this.ExpireSolution(true); this.ObjectChanged += (sender, e) => updateMetadata(); foreach (var param in Params.Input) { param.ObjectChanged += (sender, e) => updateMetadata(); } }
public override void AddedToDocument(GH_Document document) { base.AddedToDocument(document); Document = this.OnPingDocument(); if (mySender == null) { this.NickName = "Initialising..."; this.Locked = true; var myForm = new SpecklePopup.MainWindow(); var some = new System.Windows.Interop.WindowInteropHelper(myForm) { Owner = Rhino.RhinoApp.MainWindowHandle() }; myForm.ShowDialog(); if (myForm.restApi != null && myForm.apitoken != null) { mySender = new SpeckleApiClient(myForm.restApi); RestApi = myForm.restApi; mySender.IntializeSender(myForm.apitoken, Document.DisplayName, "Grasshopper", Document.DocumentID.ToString()).ContinueWith(task => { Rhino.RhinoApp.MainApplicationWindow.Invoke(ExpireComponentAction); }); } else { AddRuntimeMessage(GH_RuntimeMessageLevel.Error, "Account selection failed"); return; } } else { } mySender.OnReady += (sender, e) => { StreamId = mySender.StreamId; this.Locked = false; this.NickName = "Anonymous Stream"; //this.UpdateMetadata(); Rhino.RhinoApp.MainApplicationWindow.Invoke(ExpireComponentAction); }; mySender.OnWsMessage += OnWsMessage; mySender.OnLogData += (sender, e) => { this.Log += DateTime.Now.ToString("dd:HH:mm:ss ") + e.EventData + "\n"; }; mySender.OnError += (sender, e) => { this.AddRuntimeMessage(GH_RuntimeMessageLevel.Error, e.EventName + ": " + e.EventData); this.Log += DateTime.Now.ToString("dd:HH:mm:ss ") + e.EventData + "\n"; }; ExpireComponentAction = () => ExpireSolution(true); ObjectChanged += (sender, e) => UpdateMetadata(); foreach (var param in Params.Input) { param.ObjectChanged += (sender, e) => UpdateMetadata(); } MetadataSender = new System.Timers.Timer(1000) { AutoReset = false, Enabled = false }; MetadataSender.Elapsed += MetadataSender_Elapsed; DataSender = new System.Timers.Timer(2000) { AutoReset = false, Enabled = false }; DataSender.Elapsed += DataSender_Elapsed; ObjectCache = new Dictionary <string, SpeckleObject>(); }