private void DoRegister() 
 {
     var engine = HTMLEngineFactory.Engine;
     _WPFWebWindowFactory = _WindowTestContext.WPFWebWindowFactory();
     engine.RegisterHTMLEngine(_WPFWebWindowFactory);
     engine.RegisterJavaScriptFramework(_WindowTestContext.FrameworkManager);
 }
Пример #2
0
        private void Init()
        {
            if (_WpfWebWindowFactory != null)
            {
                return;
            }

            var engine = HTMLEngineFactory.Engine;

            _WpfWebWindowFactory = engine.ResolveJavaScriptEngine(HTMLEngine);

            if (_WpfWebWindowFactory == null)
            {
                throw ExceptionHelper.Get($"Not able to find WebEngine {HTMLEngine}");
            }

            _Injector = engine.ResolveJavaScriptFramework(JavascriptUIEngine);

            if (_Injector == null)
            {
                throw ExceptionHelper.Get($"Not able to find JavascriptUIEngine {JavascriptUIEngine}. Please register the correspoding Javascript UIEngine.");
            }

            _WpfDoubleBrowserNavigator = GetDoubleBrowserNavigator();

            WebSessionLogger = WebSessionLogger ?? engine.WebSessionLogger;

            if (IsDebug)
            {
                SetUpDebugTool();
            }
        }
        private void DoRegister()
        {
            var engine = HTMLEngineFactory.Engine;

            _WPFWebWindowFactory = _WindowTestContext.WPFWebWindowFactory();
            engine.RegisterHTMLEngine(_WPFWebWindowFactory);
            engine.RegisterJavaScriptFramework(_WindowTestContext.FrameworkManager);
        }
Пример #4
0
 public HTMLEngineFactoryTest()
 {
     _WPFWebWindowFactory = CreateFactory("FakeWEngine");
     _JavascripEngine1    = CreateJavascriptFactory("One");
     _JavascripEngine2    = CreateJavascriptFactory("Two");
     _JavascripEngine3    = CreateJavascriptFactory("Three");
     _WebSessionLogger    = Substitute.For <IWebSessionLogger>();
 }
 public HTMLEngineFactoryTest() 
 {
     _WPFWebWindowFactory = CreateFactory("FakeWEngine");
     _JavascripEngine1 = CreateJavascriptFactory("One");
     _JavascripEngine2 = CreateJavascriptFactory("Two");
     _JavascripEngine3 = CreateJavascriptFactory("Three");
     _iWebSessionLogger = Substitute.For<IWebSessionLogger>();
 }
Пример #6
0
 public About(IWPFWebWindowFactory WindowFactory, IJavascriptFrameworkManager framework)
 {
     BrowserBinding             = WindowFactory.Name;
     CoreVersion                = VersionHelper.GetVersionDisplayName(typeof(IHTMLBinding));
     WPFVersion                 = VersionHelper.GetVersionDisplayName(this);
     WebBrowser                 = WindowFactory.EngineName;
     WebBrowserVersion          = WindowFactory.EngineVersion;
     JavascriptFramework        = framework.FrameworkName;
     JavascriptFrameworkVersion = framework.FrameworkVersion;
     MVVMBinding                = framework.Name;
     MVVMBindingVersion         = VersionHelper.GetVersionDisplayName(framework);
     GoToGithub                 = new BasicRelayCommand(() => ProcessHelper.OpenUrlInBrowser(@"https://github.com/NeutroniumCore/Neutronium"));
 }
        protected HTMLControlBase(IUrlSolver iIUrlSolver)
        {
            _IUrlSolver = iIUrlSolver;

            DebugWindow = new BasicRelayCommand(() => ShowDebugWindow());

            DebugBrowser = new BasicRelayCommand(() => OpenDebugBrowser());

            InitializeComponent();

            _IWPFWebWindowFactory = HTMLEngineFactory.Engine.Resolve(HTMLEngine);

            _WPFDoubleBrowserNavigator              = new WPFDoubleBrowserNavigator(this, _IUrlSolver);
            _WPFDoubleBrowserNavigator.OnFirstLoad += FirstLoad;
        }
        protected HTMLControlBase(IUrlSolver iIUrlSolver)
        {
            _IUrlSolver = iIUrlSolver;

            DebugWindow = new BasicRelayCommand(() => ShowDebugWindow());

            DebugBrowser = new BasicRelayCommand(() => OpenDebugBrowser());

            InitializeComponent();

            _IWPFWebWindowFactory = HTMLEngineFactory.Engine.Resolve(HTMLEngine);

            _WPFDoubleBrowserNavigator = new WPFDoubleBrowserNavigator(this, _IUrlSolver);
            _WPFDoubleBrowserNavigator.OnFirstLoad += FirstLoad;
        }
Пример #9
0
        public IWPFWebWindowFactory Resolve(string EngineName)
        {
            if (_Dic.Count == 1)
            {
                var res = _Dic.First().Value;
                if (!string.IsNullOrEmpty(EngineName) && (res.Name != EngineName))
                {
                    Trace.WriteLine(string.Format("Name mismatch in IWPFWebWindowFactory resoluction {0} vs {1}", EngineName, res.Name));
                }
                return(res);
            }

            IWPFWebWindowFactory myres = null;

            _Dic.TryGetValue(EngineName, out myres);
            return(myres);
        }
Пример #10
0
        IHTMLWindowProvider IWebViewLifeCycleManager.Create()
        {
            if (_IWPFWebWindowFactory == null)
            {
                _IWPFWebWindowFactory = HTMLEngineFactory.Engine.Resolve(HTMLEngine);

                if (_IWPFWebWindowFactory == null)
                {
                    throw ExceptionHelper.Get(string.Format("Not able to find WebEngine {0}", HTMLEngine));
                }
            }

            IWPFWebWindow webwindow = _IWPFWebWindowFactory.Create();

            var ui = webwindow.UIElement;

            Grid.SetColumnSpan(ui, 2);
            Grid.SetRowSpan(ui, 2);
            Panel.SetZIndex(ui, 0);
            this.MainGrid.Children.Add(ui);
            return(new WPFHTMLWindowProvider(webwindow, this));
        }
Пример #11
0
        private void Init()
        {
            if (_WPFWebWindowFactory != null)
            {
                return;
            }

            if (IsLoaded == false)
            {
                throw ExceptionHelper.Get($"Not able to access Neutronium methods before the component is loaded");
            }

            var engine = HTMLEngineFactory.Engine;

            _WPFWebWindowFactory = engine.ResolveJavaScriptEngine(HTMLEngine);

            if (_WPFWebWindowFactory == null)
            {
                throw ExceptionHelper.Get($"Not able to find WebEngine {HTMLEngine}");
            }

            _Injector = engine.ResolveJavaScriptFramework(JavascriptUIEngine);

            if (_Injector == null)
            {
                throw ExceptionHelper.Get($"Not able to find JavascriptUIEngine {JavascriptUIEngine}. Please register the correspoding Javascript UIEngine.");
            }

            var debugableVm = _Injector.HasDebugScript();

            DebugWindow.Executable = debugableVm;
            VmDebug = debugableVm;

            _WPFDoubleBrowserNavigator = GetDoubleBrowserNavigator();

            WebSessionLogger = engine.WebSessionLogger;
        }
 public void RegisterHTMLEngine(IWPFWebWindowFactory wpfWebWindowFactory)
 {
     _Engines[wpfWebWindowFactory.Name] = wpfWebWindowFactory;
     wpfWebWindowFactory.WebSessionLogger = _webSessionLogger;
 }
        private void Init()
        {
            if (_WPFWebWindowFactory != null)
                return;

            if (IsLoaded==false)
                throw ExceptionHelper.Get($"Not able to access Neutronium methods before the component is loaded");

            var engine = HTMLEngineFactory.Engine;
            _WPFWebWindowFactory = engine.ResolveJavaScriptEngine(HTMLEngine);

            if (_WPFWebWindowFactory == null)
                throw ExceptionHelper.Get($"Not able to find WebEngine {HTMLEngine}");

            _Injector = engine.ResolveJavaScriptFramework(JavascriptUIEngine);

            if (_Injector == null)
                throw ExceptionHelper.Get($"Not able to find JavascriptUIEngine {JavascriptUIEngine}. Please register the correspoding Javascript UIEngine.");

            var debugableVm = _Injector.HasDebugScript();
            DebugWindow.Executable = debugableVm;
            VmDebug = debugableVm;

            _WPFDoubleBrowserNavigator = GetDoubleBrowserNavigator();

            WebSessionLogger = engine.WebSessionLogger;
        }
Пример #14
0
 public void RegisterHTMLEngine(IWPFWebWindowFactory wpfWebWindowFactory)
 {
     _Engines[wpfWebWindowFactory.Name]   = wpfWebWindowFactory;
     wpfWebWindowFactory.WebSessionLogger = _WebSessionLogger;
 }
Пример #15
0
        IHTMLWindowProvider IWebViewLifeCycleManager.Create()
        {
            if (_IWPFWebWindowFactory == null)
            {
                _IWPFWebWindowFactory = HTMLEngineFactory.Engine.Resolve(HTMLEngine);

                if (_IWPFWebWindowFactory==null)
                    throw ExceptionHelper.Get(string.Format("Not able to find WebEngine {0}", HTMLEngine));
            }

            IWPFWebWindow webwindow = _IWPFWebWindowFactory.Create();
            
            var ui = webwindow.UIElement;
            Grid.SetColumnSpan(ui, 2);
            Grid.SetRowSpan(ui, 2);
            Panel.SetZIndex(ui, 0);
            this.MainGrid.Children.Add(ui);
            return new WPFHTMLWindowProvider(webwindow, this );
        }
Пример #16
0
 public void Register(IWPFWebWindowFactory iWPFWebWindowFactory)
 {
     _Dic.Add(iWPFWebWindowFactory.Name, iWPFWebWindowFactory);
 }
Пример #17
0
 public void Register(IWPFWebWindowFactory iWPFWebWindowFactory)
 {
     _Dic.Add(iWPFWebWindowFactory.Name, iWPFWebWindowFactory);
 }