Ejemplo n.º 1
0
 public DataGridViewModel(
     ICustomerService service,
     IBrowserManager manager)
 {
     Customers = new ObservableCollection <Customer>();
     Customers.AddRange(service.GetAllCustomers().OrderBy(c => c.FirstName));
 }
Ejemplo n.º 2
0
        public ChromiumViewModel(
            ICustomerService service,
            IBrowserManager manager)
        {
            manager.CefInitialize();
            //TODO get the enabled module's default home page to set the address.
            Address = "local://Resource/Modules/Example/Default.html";
            Title   = "This is a module for Super Rocket";

            ShowDevToolsCommand = new DelegateCommand(this.ShowDevTools);
        }
Ejemplo n.º 3
0
        private void SaveUI_Loaded(object sender, RoutedEventArgs e)
        {
            try
            {
                var provider = CoreImpl.applicationServiceProvider;
                var _UO      = provider.GetService(CoreImpl.tyIBrowserManager);
                if (_UO == null)
                {
                    return;
                }
                var browserManager = new IBrowserManager(_UO);

                var contentBrowser = browserManager.ActiveBrowser;
                if (contentBrowser == null)
                {
                    return;
                }

                /*var obj = contentBrowser.DocumentUrl;
                 * MessageBox.Show($"DocumentUrl: {obj}", contentBrowser.DocumentTitle);
                 *
                 * obj = contentBrowser.DocumentPageUrl;
                 * MessageBox.Show($"DocumentPageUrl: {obj}", contentBrowser.DocumentTitle);
                 *
                 * contentBrowser.PrintPreview();*/

                helpBrowse = new IHelpViewerBrowser(contentBrowser._UO);
                var meta = helpBrowse.TopicMetadata;
                this.Title = meta.HelpId;
                var ie = helpBrowse.WebBrowser;

                location.Text = LoaderImpl.SaveLocation;
                if (string.IsNullOrEmpty(location.Text))
                {
                    location.Text = Environment.CurrentDirectory;
                }
                var id    = meta.HelpId;
                var fname = EncodeAsFileName(id);
                location.Text = System.IO.Path.Combine(location.Text, fname + ".html");


                var     doc  = (HTMLDocument)ie.Document;
                dynamic item = doc.getElementsByTagName("html");
                var     html = (string)item[0].outerHTML;
                browser.NavigateToString(html);

                //MessageBox.Show($"DocumentPageUrl: {item[0].outerHTML}", contentBrowser.DocumentTitle);
                int a = 0;
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.ToString());
            }
        }
        public async Task <List <Screenshot> > GenerateScreenshots(
            IBrowserManager browserManager, SchemePublishedEvent @event)
        {
            using (browserManager)
            {
                var results = new List <Screenshot>();
                var config  = this.screenshotsConfig.Value;
                await browserManager.LaunchAsync(this.browserConfig.Value, this.extensionConfig.Value);

                var colorSchemeNameEncoded = WebUtility.UrlEncode(@event.ColorScheme.colorSchemeName);

                foreach (var(url, title) in from url in config.SCREENSHOT_URLS.Split(',', '~', StringSplitOptions.RemoveEmptyEntries)
                         .Select((url, i) => (url, i))
                         join title in config.SCREENSHOT_URL_TITLES.Split(',', '~', StringSplitOptions.RemoveEmptyEntries)
                         .Select((title, i) => (title, i))
                         on url.i equals title.i
                         select(url.url, title.title))
                {
                    var urlWithName = url.Replace($"{{{nameof(ColorScheme.colorSchemeName)}}}", colorSchemeNameEncoded);
                    foreach (var size in config.SCREENSHOT_SIZES.Split(',', '~', StringSplitOptions.RemoveEmptyEntries)
                             .Select(sizeStr => new ScreenshotSize(sizeStr)))
                    {
                        // var urlWithName = url.Replace($"{{{nameof(ColorScheme.colorSchemeName)}}}", colorSchemeNameEncoded + "+" + size.Width.ToString());
                        var baseOutFilePath = Path.Combine(config.SCREENSHOT_OUT_DIR, Guid.NewGuid().ToString());
                        var pngOutFilePath  = baseOutFilePath + ".png";
                        var jpegOutFilePath = baseOutFilePath + ".jpg";
                        await browserManager.ScreenshotAsync(urlWithName, size, pngOutFilePath);

                        this.progressiveImageConverter.ConvertPngToProgressiveJpeg(pngOutFilePath, jpegOutFilePath,
                                                                                   new ProgressiveImageConverterOptions
                        {
                            Resize = true,
                            Width  = size.Width,
                            Height = size.Height
                        });
                        results.Add(new Screenshot
                        {
                            AggregateId = @event.AggregateId,
                            Url         = urlWithName,
                            Title       = title,
                            Size        = size,
                            FilePath    = jpegOutFilePath
                        });
                    }
                }
                return(results);
            }
        }
Ejemplo n.º 5
0
        public bool SaveDirect()
        {
            try
            {
                var provider = CoreImpl.applicationServiceProvider;
                var _UO      = provider.GetService(CoreImpl.tyIBrowserManager);
                if (_UO == null)
                {
                    return(false);
                }
                var browserManager = new IBrowserManager(_UO);

                var contentBrowser = browserManager.ActiveBrowser;
                if (contentBrowser == null)
                {
                    return(false);
                }


                helpBrowse = new IHelpViewerBrowser(contentBrowser._UO);
                var meta = helpBrowse.TopicMetadata;
                this.Title = meta.HelpId;
                var ie = helpBrowse.WebBrowser;

                var location_Text = LoaderImpl.SaveLocation;
                if (string.IsNullOrEmpty(location_Text))
                {
                    location_Text = Environment.CurrentDirectory;
                }
                var id    = meta.HelpId;
                var fname = EncodeAsFileName(id);
                location_Text = System.IO.Path.Combine(location_Text, fname + ".html");


                var     doc  = (HTMLDocument)ie.Document;
                dynamic item = doc.getElementsByTagName("html");
                var     html = (string)item[0].outerHTML;

                System.IO.File.WriteAllText(location_Text, html, Encoding.UTF8);
                return(true);
            }
            catch (Exception ex)
            {
                LoaderImpl.ShowException(ex);
                return(false);
            }
        }
        public async Task WarmUpAsync(IBrowserManager browserManager)
        {
            using (browserManager)
            {
                var results = new List <Screenshot>();
                var config  = this.screenshotsConfig.Value;
                await browserManager.LaunchAsync(this.browserConfig.Value, this.extensionConfig.Value);

                foreach (var url in config.SCREENSHOT_URLS.Split(',', '~', StringSplitOptions.RemoveEmptyEntries))
                {
                    foreach (var size in config.SCREENSHOT_SIZES.Split(',', '~', StringSplitOptions.RemoveEmptyEntries)
                             .Select(sizeStr => new ScreenshotSize(sizeStr)))
                    {
                        await browserManager.WarmUpAsync(url, size);
                    }
                }
            }
        }
Ejemplo n.º 7
0
        /// <summary>
        /// Констуктор класса Presenter, инициализирует интерфейсные поля, получает информацию о поставщиках и запускает создание кнопок на форме
        /// </summary>
        /// <param name="browserManager">Менеджер управления браузером</param>
        /// <param name="mainForm">Главная форма, взаимодействующая с пользователем</param>
        /// <param name="managersAndSups">Класс, формирующий информацию о менеджерах и поставщиках</param>
        /// <param name="messageManager">Менеджер вывода сообщений пользователю</param>
        public Presenter(IBrowserManager browserManager, IMainForm mainForm, IManagerAndSups managersAndSups, IMessageManager messageManager)
        {
            this.browserManager  = browserManager ?? throw new ArgumentNullException(nameof(browserManager));
            this.mainForm        = mainForm ?? throw new ArgumentNullException(nameof(mainForm));
            this.managersAndSups = managersAndSups ?? throw new ArgumentNullException(nameof(managersAndSups));
            this.messageManager  = messageManager ?? throw new ArgumentNullException(nameof(messageManager));

            mainForm.BeforeClosingProgram += MainForm_BeforeClosingProgram;
            mainForm.IsMinimizeNeed        = true;
            mainForm.RunButtonClick       += MainForm_RunButtonClick;

            try
            {
                CreateControls();
            }
            catch (Exception ex)
            {
                messageManager.ErrorShow(ex.Message);
            }
        }
Ejemplo n.º 8
0
        public void Navigate(string source)
        {
            try
            {
                var provider = CoreImpl.applicationServiceProvider;
                var _UO      = provider.GetService(CoreImpl.tyIBrowserManager);
                if (_UO == null)
                {
                    return;
                }
                var browserManager = new IBrowserManager(_UO);

                var contentBrowser = browserManager.ActiveBrowser;
                if (contentBrowser == null)
                {
                    return;
                }

                var pi = contentBrowser._TY.GetField("webBrowserKeyDownHandler", BindingFlags.Instance | BindingFlags.NonPublic);
                if (pi != null)
                {
                    var webBrowserKeyDownHandler = pi.GetValue(contentBrowser._UO);
                    if (webBrowserKeyDownHandler != null)
                    {
                        ((IDisposable)webBrowserKeyDownHandler).Dispose();
                    }
                }

                var helpBrowser = new IHelpViewerBrowser(contentBrowser._UO);
                var brower      = helpBrowser.WebBrowser;
                if (brower != null)
                {
                }

                contentBrowser.Navigate(source);
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.ToString());
            }
        }
Ejemplo n.º 9
0
        public DeepLinkCollectionViewModel(
            IConfigurationCollection configurationCollection,
            IClipboardManager clipboardManager,
            IDeepLinkManager deepLinkManager,
            IMapper mapper,
            IEventAggregator eventAggregator,
            IBrowserManager browserManager)
        {
            this.clipboardManager        = clipboardManager;
            this.configurationCollection = configurationCollection;
            this.deepLinkManager         = deepLinkManager;
            this.mapper          = mapper;
            this.eventAggregator = eventAggregator;
            this.browserManager  = browserManager;

            this.clipboardManager.ClipboardTextUpdateReceived += this.OnClipboardTextUpdateReceived;
            this.eventAggregator.Subscribe(this);

            // this.currentMatchName = "-";
            this.HierarchicalLinks = new BindingList <HierarchyLevelOne>();
        }
Ejemplo n.º 10
0
        private void ManageUI_Loaded(object sender, RoutedEventArgs e)
        {
            try
            {
                var loc = LoaderImpl.SaveLocation;
                if (string.IsNullOrEmpty(loc) || !System.IO.Directory.Exists(loc))
                {
                    Button_Click(dir, e);
                }
                else
                {
                    location.Text = loc;
                }

                loc = location.Text;

                if (!string.IsNullOrEmpty(loc) && System.IO.Directory.Exists(loc))
                {
                    LoadRootDirectory();
                }

                return;

                var provider = CoreImpl.applicationServiceProvider;
                var _UO      = provider.GetService(CoreImpl.tyIBrowserManager);
                if (_UO == null)
                {
                    return;
                }
                var browserManager = new IBrowserManager(_UO);

                var contentBrowser = browserManager.ActiveBrowser;
                if (contentBrowser == null)
                {
                    return;
                }

                /*var obj = contentBrowser.DocumentUrl;
                 * MessageBox.Show($"DocumentUrl: {obj}", contentBrowser.DocumentTitle);
                 *
                 * obj = contentBrowser.DocumentPageUrl;
                 * MessageBox.Show($"DocumentPageUrl: {obj}", contentBrowser.DocumentTitle);
                 *
                 * contentBrowser.PrintPreview();*/

                var helpBrowse = new IHelpViewerBrowser(contentBrowser._UO);
                var meta       = helpBrowse.TopicMetadata;
                this.Title = meta.HelpId;
                var ie = helpBrowse.WebBrowser;

                var     doc  = (HTMLDocument)ie.Document;
                dynamic item = doc.getElementsByTagName("html");
                var     html = (string)item[0].outerHTML;

                //MessageBox.Show($"DocumentPageUrl: {item[0].outerHTML}", contentBrowser.DocumentTitle);
                int a = 0;
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.ToString());
            }
        }