Пример #1
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();
            }
        }
        protected override void Init()
        {
            _ICSharpMapper    = Substitute.For <IJavascriptSessionCache>();
            _JSCommandFactory = Substitute.For <IJSCommandFactory>();
            _ICSharpMapper.GetCached(Arg.Any <object>()).Returns((IJSCSGlue)null);
            _javascriptFrameworkManager = Substitute.For <IJavascriptFrameworkManager>();
            _HTMLViewContext            = new HTMLViewContext(_WebView, GetTestUIDispacther(), _javascriptFrameworkManager, null, _Logger);
            _ConverTOJSO = new CSharpToJavascriptConverter(_HTMLViewContext, _ICSharpMapper, _JSCommandFactory, _Logger);
            _Test        = new TestClass {
                S1 = "string", I1 = 25
            };
            _Tests = new List <TestClass>
            {
                new TestClass()
                {
                    S1 = "string1", I1 = 1
                },
                new TestClass()
                {
                    S1 = "string2", I1 = 2
                }
            };
            _Test2 = new Test2()
            {
                T1 = _Test, T2 = _Test
            };

            _Tests_NG = new ArrayList();
            _Tests_NG.Add(_Tests[0]);
            _Tests_NG.Add(_Tests[0]);
        }
 public DoubleBrowserNavigator(IWebViewLifeCycleManager lifecycler, IUrlSolver urlSolver, IJavascriptFrameworkManager javascriptFrameworkManager)
 {
     _webSessionLogger           = new BasicLogger();
     _JavascriptFrameworkManager = javascriptFrameworkManager;
     _WebViewLifeCycleManager    = lifecycler;
     _UrlSolver = urlSolver;
 }
Пример #4
0
 public HtmlViewContext(IWebBrowserWindow webBrowserWindow, IUiDispatcher uiDispatcher, IJavascriptFrameworkManager javascriptFrameworkManager,
                        IWebSessionLogger logger)
 {
     _IWebBrowserWindow          = webBrowserWindow;
     Logger                      = logger;
     UiDispatcher                = uiDispatcher;
     _JavascriptFrameworkManager = javascriptFrameworkManager;
 }
 public HTMLEngineFactoryTest() 
 {
     _WPFWebWindowFactory = CreateFactory("FakeWEngine");
     _JavascripEngine1 = CreateJavascriptFactory("One");
     _JavascripEngine2 = CreateJavascriptFactory("Two");
     _JavascripEngine3 = CreateJavascriptFactory("Three");
     _iWebSessionLogger = Substitute.For<IWebSessionLogger>();
 }
Пример #6
0
 public HTMLEngineFactoryTest()
 {
     _WPFWebWindowFactory = CreateFactory("FakeWEngine");
     _JavascripEngine1    = CreateJavascriptFactory("One");
     _JavascripEngine2    = CreateJavascriptFactory("Two");
     _JavascripEngine3    = CreateJavascriptFactory("Three");
     _WebSessionLogger    = Substitute.For <IWebSessionLogger>();
 }
 public DoubleBrowserNavigator(IWebViewLifeCycleManager lifecycler, IUrlSolver urlSolver, 
                                 IJavascriptFrameworkManager javascriptFrameworkManager)
 {
     _webSessionLogger = new BasicLogger();
     _javascriptFrameworkManager = javascriptFrameworkManager;
     _WebViewLifeCycleManager = lifecycler;
     _UrlSolver = urlSolver;
 }
Пример #8
0
 public HTMLViewContext(IWebBrowserWindow webBrowserWindow, IDispatcher uiDispatcher, IJavascriptFrameworkManager javascriptFrameworkManager,
                        IJavascriptChangesObserver javascriptChangesObserver, IWebSessionLogger logger)
 {
     _IWebBrowserWindow          = webBrowserWindow;
     _logger                     = logger;
     UIDispatcher                = uiDispatcher;
     _JavascriptChangesObserver  = javascriptChangesObserver;
     _JavascriptFrameworkManager = javascriptFrameworkManager;
 }
Пример #9
0
 public HTMLViewContext(IWebView webView, IDispatcher uiDispatcher, IJavascriptFrameworkManager javascriptFrameworkManager,
                         IJavascriptChangesObserver javascriptChangesObserver, IWebSessionLogger logger)
 {
     WebView = webView;
     _logger = logger;
     UIDispatcher = uiDispatcher;
     var builder = new BinderBuilder(webView, javascriptChangesObserver);
     _Listener = builder.BuildListener();
     _VmManager = javascriptFrameworkManager.CreateManager(WebView, _Listener, _logger);
     ViewModelUpdater = _VmManager.ViewModelUpdater;
     JavascriptSessionInjector = _VmManager.Injector;
 }
Пример #10
0
        public HTMLViewContext(IWebView webView, IDispatcher uiDispatcher, IJavascriptFrameworkManager javascriptFrameworkManager,
                               IJavascriptChangesObserver javascriptChangesObserver, IWebSessionLogger logger)
        {
            WebView      = webView;
            _logger      = logger;
            UIDispatcher = uiDispatcher;
            var builder = new BinderBuilder(webView, javascriptChangesObserver);

            _Listener                 = builder.BuildListener();
            _VmManager                = javascriptFrameworkManager.CreateManager(WebView, _Listener, _logger);
            ViewModelUpdater          = _VmManager.ViewModelUpdater;
            JavascriptSessionInjector = _VmManager.Injector;
        }
Пример #11
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 override void Init()
        {
            _CSharpMapper          = Substitute.For <ISessionCache>();
            _ObjectChangesListener = new ObjectChangesListener(_ => { }, _ => { }, _ => { }, _ => { });
            _GlueFactory           = new GlueFactory(null, _CSharpMapper, null, _ObjectChangesListener);
            _CSharpMapper.GetCached(Arg.Any <object>()).Returns((IJsCsGlue)null);
            _JavascriptFrameworkManager = Substitute.For <IJavascriptFrameworkManager>();
            _HtmlViewContext            = new HtmlViewContext(WebBrowserWindow, GetTestUIDispacther(), _JavascriptFrameworkManager, _Logger);
            _ConverTOJSO = new CSharpToGlueMapper(_CSharpMapper, _GlueFactory, _Logger);
            _Test        = new TestClass {
                S1 = "string", I1 = 25
            };
            _Tests = new List <TestClass>
            {
                new TestClass()
                {
                    S1 = "string1", I1 = 1
                },
                new TestClass()
                {
                    S1 = "string2", I1 = 2
                }
            };
            _Test2 = new Test2()
            {
                T1 = _Test, T2 = _Test
            };

            _TestsNg = new ArrayList
            {
                _Tests[0],
                _Tests[0]
            };

            _CircularSimple           = new Circular1();
            _CircularSimple.Reference = _CircularSimple;

            _CircularComplex = new Circular2();
            var circularChild = new Circular2
            {
                Reference = _CircularComplex
            };

            _CircularComplex.List.Add(circularChild);
        }
        protected override void Init()
        {
            _ICSharpMapper = Substitute.For <IJavascriptSessionCache>();
            _GlueFactory   = new GlueFactory(null, null);
            _ICSharpMapper.GetCached(Arg.Any <object>()).Returns((IJSCSGlue)null);
            _javascriptFrameworkManager = Substitute.For <IJavascriptFrameworkManager>();
            _HTMLViewContext            = new HTMLViewContext(WebBrowserWindow, GetTestUIDispacther(), _javascriptFrameworkManager, null, _Logger);
            _ConverTOJSO = new CSharpToJavascriptConverter(WebBrowserWindow, _ICSharpMapper, _GlueFactory, _Logger);
            _Test        = new TestClass {
                S1 = "string", I1 = 25
            };
            _Tests = new List <TestClass>
            {
                new TestClass()
                {
                    S1 = "string1", I1 = 1
                },
                new TestClass()
                {
                    S1 = "string2", I1 = 2
                }
            };
            _Test2 = new Test2()
            {
                T1 = _Test, T2 = _Test
            };

            _Tests_NG = new ArrayList();
            _Tests_NG.Add(_Tests[0]);
            _Tests_NG.Add(_Tests[0]);

            _CircularSimple           = new Circular1();
            _CircularSimple.Reference = _CircularSimple;

            _CircularComplex = new Circular2();
            var circularChild = new Circular2
            {
                Reference = _CircularComplex
            };

            _CircularComplex.List.Add(circularChild);
        }
        protected override void Init()
        {
            _ICSharpMapper = Substitute.For<IJavascriptSessionCache>();
            _JSCommandFactory = Substitute.For<IJSCommandFactory>();
            _ICSharpMapper.GetCached(Arg.Any<object>()).Returns((IJSCSGlue)null);
            _javascriptFrameworkManager = Substitute.For<IJavascriptFrameworkManager>();
            _HTMLViewContext = new HTMLViewContext(_WebView, GetTestUIDispacther(), _javascriptFrameworkManager, null, _Logger);         
            _ConverTOJSO = new CSharpToJavascriptConverter(_HTMLViewContext, _ICSharpMapper, _JSCommandFactory, _Logger);
            _Test = new TestClass { S1 = "string", I1 = 25 };
            _Tests = new List<TestClass>
            {
                new TestClass() {  S1 = "string1", I1 = 1 },
                new TestClass() { S1 = "string2", I1 = 2  }
            };
            _Test2 = new Test2() { T1 = _Test, T2 = _Test };

            _Tests_NG = new ArrayList();
            _Tests_NG.Add(_Tests[0]);
            _Tests_NG.Add(_Tests[0]);
        }
Пример #15
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 RegisterJavaScriptFrameworkAsDefault(IJavascriptFrameworkManager javascriptFrameworkManager) 
 {
     RegisterJavaScriptFramework(javascriptFrameworkManager);
     _DefaultJavascriptFrameworkManager = javascriptFrameworkManager;
 }
 public void RegisterJavaScriptFramework(IJavascriptFrameworkManager javascriptFrameworkManager)
 {
     _JavascriptFrameworks[javascriptFrameworkManager.Name]= javascriptFrameworkManager;
 }
Пример #18
0
 public HtmlViewEngine(IWebBrowserWindowProvider htmlWindowProvider, IJavascriptFrameworkManager frameworkManager, IWebSessionLogger logger)
 {
     _HtmlWindowProvider = htmlWindowProvider;
     _FrameworkManager   = frameworkManager;
     _Logger             = logger;
 }
Пример #19
0
 private static string GetPath(IJavascriptFrameworkManager javascriptFrameworkManager, WindowInformation windowInfo)
 {
     return($"{javascriptFrameworkManager.GetType().Assembly.GetPath()}\\{windowInfo.RelativePath}");
 }
Пример #20
0
 public void RegisterJavaScriptFrameworkAsDefault(IJavascriptFrameworkManager javascriptFrameworkManager)
 {
     RegisterJavaScriptFramework(javascriptFrameworkManager);
     _DefaultJavascriptFrameworkManager = javascriptFrameworkManager;
 }
Пример #21
0
 public void RegisterJavaScriptFramework(IJavascriptFrameworkManager javascriptFrameworkManager)
 {
     _JavascriptFrameworks[javascriptFrameworkManager.Name] = javascriptFrameworkManager;
 }
        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;
        }
Пример #23
0
 public HTMLViewEngine(IWebBrowserWindowProvider hTMLWindowProvider, IJavascriptFrameworkManager frameworkManager, IWebSessionLogger logger)
 {
     _HTMLWindowProvider = hTMLWindowProvider;
     _frameworkManager   = frameworkManager;
     Logger = logger;
 }