예제 #1
0
        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); }));
            }
        }
예제 #2
0
		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;
			}
		}
예제 #3
0
		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;
			}
		}
예제 #4
0
			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;
				}
			}