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();
        }
Пример #2
0
        //
        // 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);
        }
Пример #3
0
        //
        // 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);
        }
Пример #4
0
        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;
        }
Пример #5
0
        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;
        }