示例#1
0
        public virtual IBrowserWindow GetOrCreateBrowserWindow(IApplication application)
        {
            if (application == null)
            {
                throw new ArgumentNullException("application");
            }

            var applicationId = application.Id;

            if (string.IsNullOrEmpty(applicationId))
            {
                throw new ArgumentNullException("application.Id");
            }

            lock (_lockObject)
            {
                if (!_browserWindows.ContainsKey(applicationId))
                {
                    var model = new BrowserViewModel()
                    {
                        Application = application, Session = Session
                    };

                    _uiHelper.PerformInUiThread(() =>
                    {
                        var browserWindow = _browserWindowsBuilder.CreateBrowserWindow(model);
                        _browserWindows[applicationId] = browserWindow;
                    });
                }

                return(_browserWindows[applicationId]);
            }
        }
示例#2
0
        public void Add(DiffDataSet dataSet)
        {
            var browserItem = new BrowserViewModel(dataSet);

            browserItem.UpdateItemsSource();
            this.ItemsSource.Add(browserItem);
        }
        public MainWindow()
        {
            InitializeComponent();
            var browser = new BrowserViewModel();

            DataContext = browser;
        }
示例#4
0
        private void OpenToolWindow(ToolWindowPane pane, BrowserViewModel vm, Package vsPackage, int toolId = 0)
        {
            try
            {
                if (vsPackage == null)
                {
                    vsPackage = _vsPackage;
                }
                var window = vsPackage.FindToolWindow(pane.GetType(), toolId, true);

                if ((null == window) || (null == window.Frame))
                {
                    throw new NotSupportedException("oops!");
                }

                ((BrowserView)window.Content).Dispatcher.BeginInvoke(
                    (Action) delegate
                {
                    ((BrowserView)window.Content).ViewModel = vm;
                }
                    );

                //for some reason the above code does not properly update URL if it's been updated in the vm we pass in...
                ((BrowserView)window.Content).ViewModel.Url = vm.Url;

                var windowFrame = (IVsWindowFrame)window.Frame;

                ErrorHandler.ThrowOnFailure(windowFrame.Show());
            }
            catch (Exception e)
            {
                _logger.WriteToLog(string.Format("OpenToolWindow catch-all: method: {0}: error: {1}", "OpenToolWindowGeneric", e.Message), LogPriority.HighPriority);
            }
        }
示例#5
0
 public OptionsTabViewModel(Configuration configuration)
 {
     BrowserViewModel      = new BrowserViewModel(configuration.Root.Browser).AddTo(this);
     OperationViewModel    = new OperationViewModel(configuration.Root.Operation).AddTo(this);
     OthersViewModel       = new OthersViewModel(configuration.Root.Others).AddTo(this);
     ExperimentalViewModel = new ExperimentalViewModel(configuration).AddTo(this);
 }
示例#6
0
 public BrowserController(BrowserViewModel bvm, Model model, Node client, ShareInfoService i)
 {
     this.client = client;
     this.model = model;
     this.bvm = bvm;
     shareInfo = i;
     bvm.NoCache = model.AlwaysNoCacheBrowsing;
 }
 public ListCustomersModel(BrowserViewModel BrowserWindow, SelectionMode SelectionMode)
 {
     view                = new ListCustomers(this);
     selectionMode       = SelectionMode;
     contextList         = AppCore.CurrentCustomerList;
     browserWindow       = BrowserWindow;
     browserWindow.width = 300;
 }
示例#8
0
 public BrowserView(string URL)
 {
     browserViewModel = new BrowserViewModel();
     browserViewModel.RefreshCommand = new Command(RefreshPage);
     browserViewModel.URL            = URL;
     InitializeComponent();
     this.BindingContext = browserViewModel;
 }
示例#9
0
 public BrowserController(BrowserViewModel bvm, Model model, Node client, ShareInfoService i)
 {
     this.client = client;
     this.model  = model;
     this.bvm    = bvm;
     shareInfo   = i;
     bvm.NoCache = model.AlwaysNoCacheBrowsing;
 }
 public browser()
 {
     InitializeComponent();
     Loaded += (s, e) => {
         _vm         = new BrowserViewModel();
         DataContext = _vm;
     };
 }
示例#11
0
        public IHttpActionResult GetFiles(string path, string filter)
        {
            // Default values
            filter = filter == null ? "*.*" : filter;
            var root      = HttpContext.Current.Server.MapPath("~\\");
            var model     = new BrowserViewModel();
            var totalSize = 0.00M;

            model.TotalFiles   = 0;
            model.TotalFolders = 0;
            model.Files        = new List <FileViewModel>();

            try
            {
                // Get all folders for the given path
                foreach (var d in Directory.EnumerateDirectories(HttpContext.Current.Server.MapPath(path), filter))
                {
                    var info = new DirectoryInfo(d);
                    model.TotalFolders++;

                    // Add folder to FileViewModel list
                    model.Files.Add(new FileViewModel()
                    {
                        Path         = info.FullName.Replace(root, "~\\"),
                        Name         = info.Name,
                        LastModified = info.LastWriteTime.ToShortDateString(),
                        Type         = "File Folder",
                    });
                }

                // Get all files for the given path
                foreach (var f in Directory.EnumerateFiles(HttpContext.Current.Server.MapPath(path), filter))
                {
                    var info = new FileInfo(f);
                    model.TotalFiles++;
                    totalSize += decimal.Divide(info.Length, 1024);

                    // Add file to FileViewModel list
                    model.Files.Add(new FileViewModel()
                    {
                        Path         = info.FullName.Replace(root, "~\\"),
                        Name         = info.Name,
                        LastModified = info.LastWriteTime.ToShortDateString(),
                        Type         = info.Extension,
                        Size         = decimal.Divide(info.Length, 1024).ToString("#.##")
                    });
                }

                // Format total size decimal
                model.TotalSize = totalSize.ToString("#.##");
                return(Json(new { success = true, model }));
            }
            catch (Exception e)
            {
                return(Json(new { success = false, exception = e.Message }));
            }
        }
示例#12
0
        private void listView2_SelectionChanged(object sender, SelectionChangedEventArgs e)
        {
            BrowserViewModel vm = DataContext as BrowserViewModel;

            if (listView2.SelectedItems != null)
            {
                vm.LastSelectedEntity = listView2.SelectedItems.Cast <BrowsingFile>().ToList();;
            }
        }
示例#13
0
        public void Add(DiffDataSet dataSet)
        {
            var browserItem = new BrowserViewModel(dataSet);

            this.compositionService.SatisfyImportsOnce(browserItem);
            browserItem.UpdateItemsSource();
            this.ItemsSource.Add(browserItem);
            //this.Browsers.ElementAtOrDefault()
        }
示例#14
0
        static async Task Main(string[] args)
        {
            ResourceLocator.RegisterDependencies(AdapterDelegate);
            _viewModel = ResourceLocator.BrowserViewModel;

            //System.Console.WriteLine("Input assembly path you'd like to load:");
            //var path = System.Console.ReadLine();

            _viewModel.PropertyChanged += ViewModelOnPropertyChanged;
            _viewModel.LoadTestAssemblyCommand.Execute(null);

            while (true)
            {
                var resp = System.Console.ReadLine();
                if (resp == "back")
                {
                    if (_backStack.Any())
                    {
                        _viewModel.TreeViewItemSelectedCommand.Execute(_backStack.Pop());
                    }
                    else
                    {
                        WriteNodes(_viewModel.Items);
                    }
                }
                else if (resp == "quit")
                {
                    return;
                }
                else if (int.TryParse(resp, out int number))
                {
                    try
                    {
                        NodeViewModelBase node;
                        if (_backStack.Any())
                        {
                            node = _viewModel.NodeViewModelBase.Children.ElementAt(number);
                        }
                        else
                        {
                            node = _viewModel.Items[number];
                        }

                        if (_viewModel.NodeViewModelBase != null)
                        {
                            _backStack.Push(_viewModel.NodeViewModelBase);
                        }

                        _viewModel.TreeViewItemSelectedCommand.Execute(node);
                    }
                    catch
                    {
                        System.Console.WriteLine("There's no index at such index.");
                    }
                }
            }
        }
示例#15
0
        public MainWindow()
        {
            InitializeComponent();

            var htmlProcessor    = new HtmlProcessor();
            var browserViewModel = new BrowserViewModel(htmlProcessor);

            rootLayout.DataContext = browserViewModel;
        }
 public SearchCommand(BrowserViewModel viewModel, IPackageSourceSelector packageSource, ISearchService search)
 {
     Ensure.NotNull(viewModel, "viewModel");
     Ensure.NotNull(packageSource, "packageSource");
     Ensure.NotNull(search, "search");
     this.viewModel     = viewModel;
     this.packageSource = packageSource;
     this.search        = search;
 }
示例#17
0
        static void Main(string[] args)
        {
            var browser = new BrowserViewModel();

            browser.UploadNameSpaces(@"C:\Users\lenovo\source\repos\MPP-lab2.Faker1\Faker\bin\Debug\netcoreapp3.0");
            if (browser.NameSpaces == null)
            {
                Console.WriteLine("dsda");
            }
        }
示例#18
0
        public async Task <T> Navigate(BrowserViewModel model)
        {
            string requestURL = "/path/{Parameter}";
            var    httpMethod = BaseNetworkAccessEnum.Get;
            var    parameters = new Dictionary <string, ParameterTypedValue>()
            {
                //{"Parameter", model.Property},
            };

            return(await _NetworkInterface(requestURL, parameters, null, httpMethod));
        }
 void ViewModel_PropertyChanged(object sender, System.ComponentModel.PropertyChangedEventArgs e)
 {
     if (sender != null)
     {
         BrowserViewModel vm = sender as BrowserViewModel;
         if (vm != null)
         {
             //vm.Url
         }
     }
 }
示例#20
0
        /// <summary>
        /// Default constructor
        /// </summary>
        public BrowserView(BrowserViewModel viewModel)
        {
            this.ViewModel = viewModel;
            this.ViewModel.PropertyChanged += ViewModel_PropertyChanged;
            InitializeComponent();

            this.Loaded += (o, e) => this.MinHeight = this.TitleBar.ActualHeight;

            webControl.ShowCreatedWebView += webControl_ShowCreatedWebView;
            this.Closed += BrowserView_Closed;

            this.webControl.Source    = this.ViewModel.Source;
            this.beforeCollapseHeight = this.Height;
        }
示例#21
0
 public SpiderBase(BrowserViewModel br)
 {
     Browser  = br;
     CmdScrap = new RelayCommand <object>((p) => {
         FromCommand            = true;
         Browser.SelectedSpider = this;
         if (p is IList <object> items && items.Count > 0)
         {
             Browser.StartBatchedScrapping(
                 items.Cast <MediaItem>().ToList());
         }
         FromCommand = false;
     });
 }
示例#22
0
        /// <summary>
        /// Class constructor
        /// </summary>
        public DialogBaseViewModel(IBrowserViewModel treeBrowser       = null,
                                   IBookmarksViewModel recentLocations = null)
        {
            if (treeBrowser == null)
            {
                TreeBrowser = new BrowserViewModel();
            }
            else
            {
                TreeBrowser = treeBrowser;
            }

            ResetBookmarks(recentLocations);
        }
示例#23
0
        /// <summary>
        /// Class constructor
        /// </summary>
        public DialogBaseViewModel(IMessageBoxService msgBox,
                                   IBrowserViewModel treeBrowser = null,
                                   IBookmarkedLocationsViewModel recentLocations = null)
        {
            if (treeBrowser == null)
            {
                TreeBrowser = new BrowserViewModel(msgBox);
            }
            else
            {
                TreeBrowser = treeBrowser;
            }

            ResetBookmarks(recentLocations);
        }
        private void OnViewModelChanged(BrowserViewModel oldValue, BrowserViewModel newValue)
        {
            if (oldValue != null)
            {
                oldValue.Install.Completed -= RaiseCanExecuteChangedOnCommands;
            }

            MainPanel.DataContext = newValue;

            if (newValue != null)
            {
                newValue.Install.Completed += RaiseCanExecuteChangedOnCommands;
                newValue.Search.Completed  += OnSearchCompleted;
            }
        }
示例#25
0
        public SpiderJavDb(BrowserViewModel browser) : base(browser)
        {
            Name = "JavDB";
            URL  = "https://javdb.com/";

            _xpathDic = new Dictionary <string, string>
            {
                { "title", XPath("//h2[contains(@class, 'title')]/strong/text()") },
                { "cover", XPath("//div[@class='column column-video-cover']/a/@href") },
                { "pid", XPath("//nav[@class='panel video-panel-info']/div[1]/span/text()") },
                { "date", XPath("//nav[@class='panel video-panel-info']/div[2]/span/text()") },
                { "genre", XPath("//nav[@class='panel video-panel-info']/div[7]/span/a/text()") },
                { "actor", XPath("//nav[@class='panel video-panel-info']/div[8]/span//text()") },
            };
        }
 public FolderBrowserControl()
 {
     _viewModel = new BrowserViewModel();
     _viewModel.SelectedFolderChanged += new EventHandler(_viewModel_SelectedFolderChanged);
     InitializeComponent();
     fsw = new FileSystemWatcher();
     fsw.EnableRaisingEvents   = false;
     fsw.IncludeSubdirectories = true;
     fsw.Changed     += new FileSystemEventHandler(fsw_Changed);
     fsw.Created     += new FileSystemEventHandler(fsw_Changed);
     fsw.Deleted     += new FileSystemEventHandler(fsw_Changed);
     fsw.NotifyFilter = NotifyFilters.Attributes | NotifyFilters.CreationTime | NotifyFilters.DirectoryName | NotifyFilters.FileName
                        | NotifyFilters.LastAccess | NotifyFilters.LastWrite | NotifyFilters.Security | NotifyFilters.Size;
     fsw.Renamed += new RenamedEventHandler(fsw_Renamed);
 }
示例#27
0
        private void ButtonSort_Click(object sender, RoutedEventArgs e)
        {
            var button = (Button)sender as Button;

            if (button.Name == "ButtonSortName")
            {
            }
            if (button.Name == "ButtonSortPostCode")
            {
                //test browser
                BrowserViewModel browser = new BrowserViewModel(BrowserViewModel.BrowserSettings.Customers, SelectionMode.Extended);
            }
            if (button.Name == "ButtonSortDeliveryDate")
            {
            }
        }
示例#28
0
        public void LocalViewModel()
        {
            BrowserViewModel viewModel = new BrowserViewModel();

            // test notify
            string updatedProp = null;

            viewModel.PropertyChanged += (s, e) =>
            {
                Log.InfoFormat("PropertyChanged: {0}", e.PropertyName);
                updatedProp = e.PropertyName;
            };
            viewModel.Status = "foobar";
            Assert.AreEqual("Status", updatedProp);

            Assert.IsNotNull(viewModel.Files);
        }
示例#29
0
 public SpiderJavlibrary(BrowserViewModel browser) : base(browser)
 {
     Name      = "Javlibrary";
     URL       = "https://www.javlibrary.com/en/";
     _xpathDic = new Dictionary <string, string>
     {
         { "title", XPath("//*[@id='video_title']/h3/a/text()") },
         { "id", XPath("//*[@id='video_id']//td[2]/text()") },
         { "date", XPath("//*[@id='video_date']//td[2]/text()") },
         { "director", XPath("//*[@id='video_director']//*[@class='director']/a/text()") },
         { "studio", XPath("//*[@id='video_maker']//*[@class='maker']/a/text()") },
         { "cover", XPath("//*[@id='video_jacket_img']/@src") },
         { "rating", XPath("//*[@id='video_review']//*[@class='score']/text()") },
         { "genre", XPath("//*[@id='video_genres']//*[@class='genre']//text()") },
         { "actor", XPath("//*[@id='video_cast']//*[@class='cast']") },
     };
 }
示例#30
0
        /// <summary>
        /// Constructor with an input url
        /// </summary>
        /// <param name="url"></param>
        public BrowserView(BrowserViewModel viewModel, Uri url)
        {
            this.ViewModel = viewModel;
            InitializeComponent();

            // Always handle ShowCreatedWebView. This is fired for
            // links and forms with |target="_blank"| or for JavaScript
            // 'window.open' calls.
            webControl.ShowCreatedWebView += webControl_ShowCreatedWebView;
            // For popups, you usually want to handle WindowClose,
            // fired when the page calls 'window.close'.
            webControl.WindowClose += webControl_WindowClose;
            // Tell the WebControl to load a specified target URL.
            this.webControl.Source = url;

            this.Loaded += (o, e) => this.MinHeight = this.TitleBar.ActualHeight;

            this.beforeCollapseHeight = this.Height;
        }
示例#31
0
 public SpiderR18(BrowserViewModel browser) : base(browser)
 {
     Name      = "R18";
     URL       = "https://www.r18.com/";
     _xpathDic = new Dictionary <string, string>
     {
         { "title", XPath("//meta[@property='og:title']/@content") },
         { "releasedate", XPath("//dt[contains(.,'Release Date:')]/following-sibling::dd[1]/text()") },
         { "runtime", XPath("//dt[contains(.,'Runtime:')]/following-sibling::dd[1]/text()") },
         { "director", XPath("//dt[contains(.,'Director:')]/following-sibling::dd[1]/text()") },
         { "set_url", XPath("//dt[contains(.,'Series:')]/following-sibling::dd[1]/a/@href") },
         { "studio", XPath("//dt[contains(.,'Studio:')]/following-sibling::dd[1]/a/text()") },
         { "label", XPath("//dt[contains(.,'Label:')]/following-sibling::dd[1]/text()") },
         { "actor", XPath("//label[contains(.,'Actress(es):')]/following-sibling::div[1]/span/a/span/text()") },
         { "genre", XPath("//label[contains(.,'Categories:')]/following-sibling::div[1]/a/text()") },
         { "plot", XPath("//h1[contains(., 'Product Description')]/following-sibling::p/text()") },
         { "cover", XPath("//div[contains(@class,'box01')]/img/@src") },
         { "actor_thumb", XPath("//ul[contains(@class,'cmn-list-product03')]//img") },
     };
 }