private void RuntimeConnected() { var topBarAppOptions = new Fin.ApplicationOptions("topBarApp", "topBarApp", UrlRoot + "color.html"); TopBar.Initialize(Runtime.Options, topBarAppOptions); var sideBarAppOptions = new Fin.ApplicationOptions("sideBarApp", "sideBarApp", UrlRoot + "color.html"); SideBar.Initialize(Runtime.Options, sideBarAppOptions); var blotterAppOptions = new Fin.ApplicationOptions("blotterApp", "blotterApp", BlotterUrlRoot); Blotter.Initialize(Runtime.Options, blotterAppOptions); var topChartAppOptions = new Fin.ApplicationOptions("topChartApp", "topChartApp", UrlRoot); TopChart.Initialize(Runtime.Options, topChartAppOptions); var bottomChartAppOptions = new Fin.ApplicationOptions("bottomChartApp", "bottomChartApp", UrlRoot); BottomChart.Initialize(Runtime.Options, bottomChartAppOptions); Fin.InterApplicationBus.Subscription <string>(Runtime, "window-manager/popout").MessageReceived += MainWindow_PopoutMessageReceived; Fin.InterApplicationBus.Subscription <string>(Runtime, "window-manager/popin").MessageReceived += MainWindow_PopinMessageReceived; //WindowManagerChannel = Runtime.InterApplicationBus.Channel.CreateProvider("window-manager"); //WindowManagerChannel.RegisterTopic("popout", new Func<string,object>(OnPopout)); //WindowManagerChannel.RegisterTopic("popin", new Func<string,object>(OnPopin)); //WindowManagerChannel.OpenAsync(); }
// // Summary: // Callback when Desktop is successfully connected and ready to accept commands. public void onReady() { Openfin.Desktop.ApplicationOptions appOptions = new Openfin.Desktop.ApplicationOptions(parentAppUuid_, parentAppUuid_, url_); Openfin.Desktop.WindowOptions windowOptions = appOptions.MainWindowOptions; windowOptions.AutoShow = true; windowOptions.DefaultWidth = 310; windowOptions.DefaultHeight = 287; AckCallback afterCreate = (createAck) => { htmlApp_.run((runAck) => { // Handle on UI thread to get the window bounds this.Dispatcher.BeginInvoke(new Action(() => { htmlApp_.getWindow().showAt((int)Left + (int)Width + 80, (int)Top, false); htmlApp_.getWindow().setAsForeground(); // Subscribe to handle when this app has been registered with the HTML app connection_.getInterApplicationBus().subscribe(parentAppUuid_, "csharp-registered", (sourceUuid, topic, message) => { // Handle on UI thread to check externalObserver_ is not defined this.Dispatcher.BeginInvoke(new Action(() => { if (externalObserver_ == null) { // Integrate this window externalObserver_ = new Openfin.Desktop.ExternalWindowObserver(host_, port_, parentAppUuid_, name_, new WindowInteropHelper(this).Handle); } })); }); // Ensure HTML is ready before registering. connection_.getInterApplicationBus().subscribe(parentAppUuid_, "html-wpf-ready", (rSourceUuid, rTopic, rMessage) => { // Be on UI thread to ensure externalObserver_ is not defined this.Dispatcher.BeginInvoke(new Action(() => { // Notify HTML to register and prepare for docking with this C# app if (externalObserver_ == null) { JObject payload = new JObject(); DesktopUtils.updateJSONValue(payload, "name", name_); connection_.getInterApplicationBus().send(parentAppUuid_, "reserve-csharp-name", payload); } })); }); connection_.getInterApplicationBus().send(parentAppUuid_, "wpf-html-ready", null); })); }); }; htmlApp_ = new Openfin.Desktop.Application(appOptions, connection_, afterCreate, afterCreate); }
public Form1() { InitializeComponent(); // Connect to the runtime var runtimeOptions = new Fin.RuntimeOptions { Version = "beta", EnableRemoteDevTools = true, RemoteDevToolsPort = 9090 }; _runtime = Fin.Runtime.GetRuntimeInstance(runtimeOptions); _runtime.Connect(RuntimeConnectedCallback); var appOptions = new Fin.ApplicationOptions("webproj", "webproj", "file:///C:/OpenfinPOC/OpenFinInteroperatability/OpenFinInteroperatability/webproj/public/index.html"); embeddedview = new EmbeddedView(); panel1.Controls.Add(embeddedview); embeddedview.Initialize(runtimeOptions, appOptions); embeddedview.OnReady += embeddedView_OnReady; }
public MainWindow() { InitializeComponent(); // Connect to the runtime var runtimeOptions = new Fin.RuntimeOptions() { Version = string.IsNullOrEmpty(App.RuntimeVersion) ? "stable" : App.RuntimeVersion, SecurityRealm = string.IsNullOrEmpty(App.SecurityRealm) ? null : App.SecurityRealm }; _runtime = Fin.Runtime.GetRuntimeInstance(runtimeOptions); _runtime.Connect(RuntimeConnectedCallback); // Initialize the embedded view var htmlRootPath = Path.GetFullPath(@"chartiq-html\stx-basic.html"); var htmlRootUrl = new Uri(htmlRootPath).ToString(); var appOptions = new Fin.ApplicationOptions("chartIQDemo", "chartIQUuid", htmlRootPath); embeddedview.Initialize(runtimeOptions, appOptions); embeddedview.OnReady += embeddedView_OnReady; }