private void InitializeCommands() { BeginAnalysis.Subscribe((v) => { BaseUrl.Value = EnsureUri(v)?.ToString(); Load(); }); ApplyXPath.Subscribe((v) => { SetXPath(v); }); CopyLinkUrl.Subscribe((v) => { Debug.WriteLine(v.Value); var url = EnsureUri(v.Value)?.ToString(); if (url != null) { Clipboard.SetData(DataFormats.Text, url); } }); ExecuteLinkUrl.Subscribe((v) => { Debug.WriteLine(v); var url = EnsureUri(v.Value)?.ToString(); if (url != null) { try { System.Diagnostics.Process.Start(url); } catch (Exception ex) { Debug.WriteLine(ex.ToString()); } } }); AnalizeLinkUrl.Subscribe((v) => { Debug.WriteLine(v); BeginAnalysis.Execute(v.Value); }); AnalizeNewLinkUrl.Subscribe((v) => { Debug.WriteLine(v); var url = EnsureUri(v.Value)?.ToString(); if (url != null) { var aw = new DxxAnalysisWindow(url); aw.Show(); } }); DownloadLinkUrl.Subscribe((v) => { using (var dlg = new CommonSaveFileDialog("Download to file.")) { var uri = EnsureUri(v.Value); if (uri != null) { var ti = new DxxTargetInfo(uri, DxxUrl.GetFileName(uri), ""); dlg.OverwritePrompt = true; dlg.DefaultFileName = DxxUrl.TrimName(ti.Name); dlg.RestoreDirectory = true; if (dlg.ShowDialog(Owner) == CommonFileDialogResult.Ok) { DxxDownloader.Instance.Reserve(ti, dlg.FileName, 0, (f) => { Owner.Dispatcher.InvokeAsync(() => { if (f == DxxDownloadingItem.DownloadStatus.Completed) { DxxFileDispositionDialog.Show(dlg.FileName, Owner); } }); }); } } } }); SelectParent.Subscribe((v) => { var parent = v.Node.ParentNode; if (null != parent) { ApplyXPath.Execute(parent.XPath); } }); SelectThisNode.Subscribe((v) => { //Debug.WriteLine(v); ApplyXPath.Execute(v.Node.XPath); }); CopyAttrName.Subscribe((v) => { Clipboard.SetData(DataFormats.Text, v.Name); }); CopyAttrValue.Subscribe((v) => { Clipboard.SetData(DataFormats.Text, v.Value ?? ""); }); }
public DxxUrl(DxxTargetInfo info, IDxxDriver driver) : base(info.Url, info.Name, info.Description) { Driver = driver; }