public void Run() { LoadReturn loadReturn = new LoadReturn(); loadReturn.TREFile = null; loadReturn.TreeNode = null; loadReturn.Containers = null; loadReturn.FileTypes = null; this.m_form.Invoke(this.m_form.delegateSetCaption, new Object[] { "Loading " + this.m_filename.Substring(this.m_filename.LastIndexOf("\\") + 1) }); this.m_form.Invoke(this.m_form.delegateSetProgress, new Object[] { new Int32[] { -1 } }); this.m_form.Invoke(this.m_form.delegateSetLabel, new Object[] { "Reading " + this.m_filename.Substring(this.m_filename.LastIndexOf(".") + 1).ToUpper() + "…" }); m_TREFile = new TREFile(this.m_filename); if (m_TREFile.DataTable.Rows.Count > 0) { if (!this.m_Cancelled) { this.m_form.Invoke(this.m_form.delegateSetLabel, new Object[] { "Creating Folder Tree…" }); TreeNode treeNode = CreateTreeNodes(m_TREFile.DataTable); if (!this.m_Cancelled) { this.m_form.Invoke(this.m_form.delegateSetLabel, new Object[] { "Generating Filter Lists…" }); String[][] filters = CreateFilterLists(m_TREFile.DataTable); AddFolders(treeNode); if (!this.m_Cancelled) { loadReturn.TREFile = this.m_TREFile; loadReturn.TreeNode = treeNode; loadReturn.Containers = filters[0]; loadReturn.FileTypes = filters[1]; } } } this.m_form.Invoke(this.m_form.delegateLoadThreadFinished, new Object[] { loadReturn }); } else { this.m_form.Invoke(this.m_form.delegateLoadThreadFinished, new Object[] { loadReturn }); } }
private void LoadThreadFinished(LoadReturn loadReturn) { this.m_FormProgress.Hide(); if (loadReturn.TREFile != null) { this.SuspendLayout(); this.m_TREFile = loadReturn.TREFile; this.m_DataViewListView = new DataView(this.m_TREFile.DataTable); this.treeView.SuspendLayout(); this.treeView.Nodes.Clear(); this.treeView.Nodes.Add(loadReturn.TreeNode); this.treeView.ResumeLayout(false); PopulateFilters(loadReturn.Containers, loadReturn.FileTypes); this.treeView.CollapseAll(); this.treeView.Nodes[0].Expand(); this.treeView.SelectedNode = this.treeView.Nodes[0]; this.toolStripMenuItemNavigationPane.Checked = true; this.toolStripMenuItemPreviewPane.Checked = true; this.toolStripMenuItemDetailsPane.Checked = true; this.ResumeLayout(false); this.Focus(); } else { this.Text = "TRE Explorer " + System.Reflection.Assembly.GetExecutingAssembly().GetName().Version; this.toolStripMenuItemNavigationPane.Checked = false; this.toolStripMenuItemPreviewPane.Checked = false; this.toolStripMenuItemDetailsPane.Checked = false; } m_ManualResetEvent_StopThread.Reset(); m_ManualResetEvent_ThreadStopped.Reset(); }