示例#1
0
 public void SetPath(string path, IAnalogyOfflineDataSource dataSource)
 {
     DataSource   = dataSource;
     startupDrive = path;
     treeList1.ClearNodes();
     treeList1.DataSource = new object();
 }
示例#2
0
        public async Task <IEnumerable <AnalogyLogMessage> > Process(IAnalogyOfflineDataSource fileDataSource, string filename, CancellationToken token)
        {
            FileName = filename;
            if (string.IsNullOrEmpty(FileName))
            {
                return(new List <AnalogyLogMessage>());
            }
            if (FileProcessingManager.Instance.AlreadyProcessed(FileName) && Settings.EnableFileCaching) //get it from the cache
            {
                var msgs = FileProcessingManager.Instance.GetMessages(FileName);
                DataWindow.AppendMessages(msgs, Utils.GetFileNameAsDataSource(FileName));
                return(msgs);
            }

            if (FileProcessingManager.Instance.IsFileCurrentlyBeingProcessed(FileName))
            {
                while (FileProcessingManager.Instance.IsFileCurrentlyBeingProcessed(FileName))
                {
                    await Task.Delay(1000);
                }
                var msgs = FileProcessingManager.Instance.GetMessages(FileName);
                DataWindow.AppendMessages(msgs, Utils.GetFileNameAsDataSource(FileName));
                return(msgs);
            }
            //otherwise read file:
            FileProcessingManager.Instance.AddProcessingFile(FileName);
            Settings.AddToRecentFiles(fileDataSource.ID, FileName);
            var messages = await fileDataSource.Process(filename, token, DataWindow).ConfigureAwait(false);

            FileProcessingManager.Instance.DoneProcessingFile(messages.ToList(), FileName);
            return(messages);
        }
示例#3
0
 public OfflineUCLogs(IAnalogyOfflineDataSource dataSource, string[] fileNames = null, string initialSelectedPath = null) : this(initialSelectedPath)
 {
     DataSource = dataSource;
     if (fileNames != null)
     {
         extrenalFiles.AddRange(fileNames);
     }
     ucLogs1.SetFileDataSource(dataSource);
 }
示例#4
0
 public void SetFolder(string folder, IAnalogyOfflineDataSource dataSource)
 {
     this.DataSource = dataSource;
     if (string.IsNullOrEmpty(folder) || !Directory.Exists(folder))
     {
         return;
     }
     SelectedPath    = folder;
     txtbFolder.Text = folder;
     xtraUCFileSystem1.SetPath(folder, dataSource);
 }
示例#5
0
        private void OpenOfflineLogs(RibbonPage ribbonPage, string[] filenames, IAnalogyOfflineDataSource dataSource,
                                     string title = null)
        {
            offline++;
            UserControl offlineUC = new OfflineUCLogs(dataSource, filenames);
            XtraTabPage page      = new XtraTabPage();

            page.ShowCloseButton = DevExpress.Utils.DefaultBoolean.True;
            page.Tag             = ribbonPage;
            page.Controls.Add(offlineUC);
            offlineUC.Dock = DockStyle.Fill;
            page.Text      = $"{offlineTitle} #{offline}{(title == null ? "" : $" ({title})")}";
示例#6
0
 private async Task PopulateFolders(string folderText, IAnalogyOfflineDataSource dataSource)
 {
     if (Directory.Exists(folderText))
     {
         xtraUCFileSystem1.SetPath(folderText, dataSource);
         txtbFolder.Text = folderText;
         FolderChanged?.Invoke(this, new FolderSelectionEventArgs(folderText));
     }
     else
     {
         await Task.CompletedTask;
     }
 }
示例#7
0
 public void SetDataSource(IAnalogyOfflineDataSource offlineAnalogy)
 {
     this.offlineAnalogy      = offlineAnalogy;
     fileSystemUC1.DataSource = offlineAnalogy;
 }
示例#8
0
 public SearchForm(IAnalogyOfflineDataSource offlineAnalogy) : this()
 {
     this.offlineAnalogy = offlineAnalogy;
     searchInFilesUC1.SetDataSource(offlineAnalogy);
 }
示例#9
0
 public void SetDataSource(IAnalogyOfflineDataSource analogyOfflineDataSource)
 {
     offlineAnalogy = analogyOfflineDataSource;
     this.fileSystemUC1.DataSource = offlineAnalogy;
 }
示例#10
0
 public FormCombineFiles(IAnalogyOfflineDataSource offlineAnalogy) : this()
 {
     this.offlineAnalogy = offlineAnalogy;
     combineFilesUC1.SetDataSource(offlineAnalogy);
 }
示例#11
0
 public ClientServerUCLog(IAnalogyOfflineDataSource dataSource) : this()
 {
     DataSource = dataSource;
     ucLogs1.SetFileDataSource(DataSource);
 }
示例#12
0
 public FileComparerForm(IAnalogyOfflineDataSource offlineAnalogy) : this()
 {
     this.offlineAnalogy = offlineAnalogy;
     logsComparerUC1.SetDataSource(offlineAnalogy);
 }
示例#13
0
 public void SetDataSource(IAnalogyOfflineDataSource offlineAnalogy)
 {
     OfflineAnalogy = offlineAnalogy;
 }