void DownloadThreadProc(List <ListViewItem> items) { try { foreach (ListViewItem item in items) { ListItemTag tag = (ListItemTag)item.Tag; if (tag.m_type == FileType.LuaScript) { this.Invoke(new MethodInvoker(delegate() { item.SubItems[2].Text = "Downloading..."; })); bool result = DownloadLuaFile(tag.m_name); if (!result) { break; } } this.Invoke(new MethodInvoker(delegate() { if (pendingFileListView.Items.Contains(item)) { pendingFileListView.Items.Remove(item); } })); } } finally { this.Invoke(new MethodInvoker(delegate() { SetDownloadInProgress(false); })); } }
private void threadListView_ItemActivate(object sender, EventArgs e) { if (threadListView.SelectedItems.Count == 1 && mDebugger.CurrentStackFrame != null) { ListItemTag tag = threadListView.SelectedItems[0].Tag as ListItemTag; mDebugger.CurrentThread = tag.m_details.Thread; } }
private void UpdateStates() { foreach (ListViewItem item in threadListView.Items) { ListItemTag tag = item.Tag as ListItemTag; if (tag.m_details.Thread.Equals(mDebugger.CurrentThread)) item.ImageIndex = 0; else item.ImageIndex = -1; if (tag.m_details.Thread.Equals(m_breakedThread)) item.StateImageIndex = 1; else item.StateImageIndex = -1; } }
public int Compare(object x, object y) { ListViewItem lhsItem = x as ListViewItem; ListViewItem rhsItem = y as ListViewItem; ListItemTag lhsTag = lhsItem.Tag as ListItemTag; ListItemTag rhsTag = rhsItem.Tag as ListItemTag; ThreadDetails lhs = lhsTag.m_details; ThreadDetails rhs = rhsTag.m_details; switch (m_sortColumn) { case 0: return m_sortOrder * String.Compare(lhs.Name, rhs.Name); case 1: return m_sortOrder * ((int)lhs.ID - (int)rhs.ID); case 2: return m_sortOrder * String.Compare(lhs.Location, rhs.Location); case 3: return m_sortOrder * ((int)lhs.State - (int)rhs.State); case 4: return m_sortOrder * Math.Sign(lhs.PeakTime - rhs.PeakTime); case 5: return m_sortOrder * Math.Sign(lhs.AverageTime - rhs.AverageTime); case 6: return m_sortOrder * (lhs.StackSize - rhs.StackSize); case 7: return m_sortOrder * (lhs.StackUsed - rhs.StackUsed); default: return 0; } }