Example #1
0
        //==================

        public void Start(string startUrl, bool useAlwaysInternalBrowser, bool useOffscreen = false)
        {
#if WITHFAKEBROWSER
            this.theBrowser = new FakeBrowser();
            GoToContentBrowserAddress(startUrl);
#endif

#if WITHCEF
            if (!useOffscreen)
            {
                this.theOnscreenBrowser = new CefSharp.Wpf.ChromiumWebBrowser();
                GoToContentBrowserAddress(startUrl);
            }
#endif

#if WITHBROWSERPLUGIN
            // due to the nature of the plug-in, this forms as SINGLETON
            if (BrowserContainer.browserPlugin != null && BrowserContainer.theOnscreenBrowser != null)
            {
                // always fine
                return;
            }

            var pluginName = "AasxPluginWebBrowser";
            var actionName = "get-browser-grid";
            BrowserContainer.browserPlugin = Plugins.FindPluginInstance(pluginName);

            if (BrowserContainer.browserPlugin == null || !BrowserContainer.browserPlugin.HasAction(actionName))
            {
                // ok, fallback
                BrowserContainer.browserPlugin      = null;
                BrowserContainer.theOnscreenBrowser = null;

                this.theFallbackBrowser  = new FakeBrowser();
                this.browserHandlesFiles = fallbackBrowserHandlesFiles;
                GoToContentBrowserAddress(startUrl);
            }
            else
            {
                // setup
                var res = BrowserContainer.browserPlugin.InvokeAction(actionName, startUrl);
                if (res != null && res is AasxPluginResultBaseObject)
                {
                    BrowserContainer.theOnscreenBrowser = (res as AasxPluginResultBaseObject).obj as Grid;
                }
            }
#endif

            this.useAlwaysInternalBrowser = useAlwaysInternalBrowser;
            this.useOffscreen             = useOffscreen;
        }
Example #2
0
        //
        // Callbacks
        //

        private void Window_Loaded(object sender, RoutedEventArgs e)
        {
            // making up "empty" picture
            this.AasId.Text   = "<id unknown!>";
            this.AssetId.Text = "<id unknown!>";

            /*
             * Image image = new Image();
             * image.Source = new BitmapImage(new Uri("Resources/USB_Hexagon_offen.jpeg", UriKind.RelativeOrAbsolute));
             * this.AssetPic.Source = new BitmapImage(new Uri("Resources/USB_Hexagon_offen.jpeg", UriKind.RelativeOrAbsolute));
             */

            // display elements has a cache
            DisplayElements.ActivateElementStateCache();

            // show Logo?
            if (Options.LogoFile != null)
            {
                try
                {
                    var bi = new BitmapImage(new Uri(Options.LogoFile, UriKind.RelativeOrAbsolute));
                    this.LogoImage.Source = bi;
                    this.LogoImage.UpdateLayout();
                } catch { }
            }

            // adding the CEF Browser conditionally
#if WITHOUTCEF
            theBrowser         = new FakeBrowser();
            CefContainer.Child = theBrowser;
            theBrowser.Address = "https://github.com/admin-shell/io/blob/master/README.md";
#else
            theBrowser         = new CefSharp.Wpf.ChromiumWebBrowser();
            CefContainer.Child = theBrowser;
            theBrowser.Address = "https://github.com/admin-shell/io/blob/master/README.md";
#endif

            // window size?
            if (Options.WindowLeft > 0)
            {
                this.Left = Options.WindowLeft;
            }
            if (Options.WindowTop > 0)
            {
                this.Top = Options.WindowTop;
            }
            if (Options.WindowWidth > 0)
            {
                this.Width = Options.WindowWidth;
            }
            if (Options.WindowHeight > 0)
            {
                this.Height = Options.WindowHeight;
            }
            if (Options.WindowMaximized)
            {
                this.WindowState = WindowState.Maximized;
            }

            // Timer for below
            System.Windows.Threading.DispatcherTimer dispatcherTimer = new System.Windows.Threading.DispatcherTimer();
            dispatcherTimer.Tick    += new EventHandler(dispatcherTimer_Tick);
            dispatcherTimer.Interval = new TimeSpan(0, 0, 0, 0, 100);
            dispatcherTimer.Start();

            // Last task here ..
            Log.Info("Application started ..");

            // Try to load?
            if (Options.AasxToLoad != null)
            {
                // make a fully qualified filename from that one provided as input argument
                var fn = System.IO.Path.GetFullPath(Options.AasxToLoad);
                UiLoadPackageEnv(fn);
            }

            // test sequence

            /*
             * var asset1 = new AdminShell.Asset();
             * Log.Info("asset1" + asset1.GetElementName());
             * AdminShell.Referable ref1 = asset1;
             * Log.Info("ref1" + ref1.GetElementName());
             * var s = Options.GenerateIdAccordingTemplate(Options.TemplateIdSubmodelType);
             */

            /*
             * var blur = new BlurEffect();
             * blur.Radius = 5;
             *
             * var current = this.Background;
             * this.Background = new SolidColorBrush(Colors.DarkGray);
             * this.Effect = blur;
             * MessageBox.Show("hello");
             * this.Effect = null;
             * this.Background = current;
             * this.InnerGrid.Opacity = 0.5;
             * this.InnerGrid.Effect = blur;
             */
        }