private void RemoveFromListView(ClientProcessItem target) { Log <WorkGroupTreeNode> .Logger.DebugFormat("=================================================", new object[0]); Log <WorkGroupTreeNode> .Logger.DebugFormat("RemoveFromListView", new object[0]); if (target.Process == null) { Log <WorkGroupTreeNode> .Logger.DebugFormat("Target [{0}]", "NULL"); } else { Log <WorkGroupTreeNode> .Logger.DebugFormat("Target [{0}]", target.Process.Description); } Log <WorkGroupTreeNode> .Logger.DebugFormat("Start Remove in ListView", new object[0]); ClientProcessItem item = WorkGroup.Sort.ShowListView.Items[target.Name] as ClientProcessItem; if (item != null) { if (--item.ShowCount == 0) { item.Selected = false; WorkGroup.Sort.ShowListView.Items.RemoveAt(item.Index); } } else { Log <WorkGroupTreeNode> .Logger.DebugFormat("item is null", new object[0]); } Log <WorkGroupTreeNode> .Logger.DebugFormat("End Remove in ListView", new object[0]); Log <WorkGroupTreeNode> .Logger.DebugFormat("=================================================", new object[0]); }
public void SelectNodeFromListView() { this.View.BeginUpdate(); HashSet <WorkGroupTreeNode> hashSet = new HashSet <WorkGroupTreeNode>(); foreach (object obj in WorkGroup.Sort.ShowListView.Items) { ClientProcessItem clientProcessItem = (ClientProcessItem)obj; WorkGroupTreeNode workGroupTreeNode = this[this.GetConditionKey(clientProcessItem.Client, clientProcessItem.Process)]; if (workGroupTreeNode != null && !hashSet.Contains(workGroupTreeNode)) { hashSet.Add(workGroupTreeNode); } } foreach (object obj2 in this.View.Nodes) { WorkGroupTreeNode workGroupTreeNode2 = (WorkGroupTreeNode)obj2; workGroupTreeNode2.ChangeCheckState(CheckState.Unchecked, hashSet.Count == 0, false); } foreach (WorkGroupTreeNode workGroupTreeNode3 in hashSet) { workGroupTreeNode3.ChangeCheckState(CheckState.Checked, true, false); } this.View.EndUpdate(); }
public void AddClientProcessItem(string key, ClientProcessItem target) { Log <WorkGroupTreeNode> .Logger.DebugFormat("=================================================", new object[0]); Log <WorkGroupTreeNode> .Logger.DebugFormat("AddClientProcessItem", new object[0]); if (target.Process == null) { Log <WorkGroupTreeNode> .Logger.DebugFormat("Key [{0}], Target [{1}]", key, "NULL"); } else { Log <WorkGroupTreeNode> .Logger.DebugFormat("Key [{0}], Target [{1}]", key, target.Process.Description); } this.naConditions.Remove(key); this.items.Add(target); if (this.showing || target.ShowCount > 0) { this.AddToListView(target); } else { Log <WorkGroupTreeNode> .Logger.DebugFormat("\"showing\" is false and \"target.ShowCount\" <= 0.", new object[0]); } Log <WorkGroupTreeNode> .Logger.DebugFormat("=================================================", new object[0]); }
public static ClientProcessItem GetShowItem(RCClient client, RCProcess process) { ClientProcessItem key = new ClientProcessItem(client, process); if (ClientProcessItem.ShowItem.ContainsKey(key)) { return(ClientProcessItem.ShowItem[key]); } return(null); }
public int CompareTo(object obj) { ClientProcessItem clientProcessItem = (ClientProcessItem)obj; int num = this.Client.Name.CompareTo(clientProcessItem.Client.Name); if (num != 0) { return(num); } return(this.Process.Description.CompareTo(clientProcessItem.Process.Description)); }
public void RemoveFromWorkGroup(RCClient client, RCProcess process) { string conditionKey = this.GetConditionKey(client, process); WorkGroupTreeNode workGroupTreeNode = this[conditionKey]; if (workGroupTreeNode != null) { ClientProcessItem showItem = ClientProcessItem.GetShowItem(client, process); if (showItem != null) { ClientProcessItem.ShowItem.Remove(showItem); workGroupTreeNode.RemoveClientProcessItem(conditionKey, showItem); } } }
public static ClientProcessItem CreateListItem(RCClient client, RCProcess process) { ClientProcessItem clientProcessItem = new ClientProcessItem(client, process); clientProcessItem.SubItems.AddRange(new string[] { process.Description, client.Name, process.State.ToString(), "", client.ClientIP }); clientProcessItem.Name = ClientProcessItem.MakeKey(client.Name, process.Name); clientProcessItem.Client = client; clientProcessItem.Process = process; clientProcessItem.ShowCount = 0; clientProcessItem.RefreshState(); return(clientProcessItem); }
public void RemoveClientProcessItem(string key, ClientProcessItem target) { Log <WorkGroupTreeNode> .Logger.DebugFormat("=================================================", new object[0]); Log <WorkGroupTreeNode> .Logger.DebugFormat("RemoveClientProcessItem", new object[0]); if (target.Process == null) { Log <WorkGroupTreeNode> .Logger.DebugFormat("Key [{0}], Target [{1}]", key, "NULL"); } else { Log <WorkGroupTreeNode> .Logger.DebugFormat("Key [{0}], Target [{1}]", key, target.Process.Description); } this.naConditions.Add(key); this.items.Remove(target); this.RemoveFromListView(target); Log <WorkGroupTreeNode> .Logger.DebugFormat("=================================================", new object[0]); }
public int Compare(object x, object y) { ClientProcessItem clientProcessItem = x as ClientProcessItem; ClientProcessItem clientProcessItem2 = y as ClientProcessItem; if (clientProcessItem != null) { if (clientProcessItem2 == null) { return(1); } string conditionKey = this.workGroup.GetConditionKey(clientProcessItem.Client, clientProcessItem.Process); WorkGroupTreeNode workGroupTreeNode = this.workGroup[conditionKey]; conditionKey = this.workGroup.GetConditionKey(clientProcessItem2.Client, clientProcessItem2.Process); WorkGroupTreeNode workGroupTreeNode2 = this.workGroup[conditionKey]; if (workGroupTreeNode != null) { int num = workGroupTreeNode.CompareTo(workGroupTreeNode2); if (num != 0) { return(num); } return(clientProcessItem.CompareTo(clientProcessItem2)); } else { if (workGroupTreeNode2 != null) { return(-1); } return(0); } } else { if (clientProcessItem2 != null) { return(-1); } return(0); } }
public void AddToWorkGroup(RCClient client, RCProcess process) { string conditionKey = this.GetConditionKey(client, process); WorkGroupTreeNode workGroupTreeNode = this[conditionKey]; if (workGroupTreeNode != null) { ClientProcessItem key = new ClientProcessItem(client, process); ClientProcessItem.CreateListItem(client, process); ClientProcessItem clientProcessItem; if (!ClientProcessItem.ShowItem.ContainsKey(key)) { clientProcessItem = ClientProcessItem.CreateListItem(client, process); ClientProcessItem.ShowItem[key] = clientProcessItem; } else { clientProcessItem = ClientProcessItem.ShowItem[key]; } workGroupTreeNode.AddClientProcessItem(conditionKey, clientProcessItem); } }
private void AddToListView(ClientProcessItem target) { Log <WorkGroupTreeNode> .Logger.DebugFormat("=================================================", new object[0]); Log <WorkGroupTreeNode> .Logger.DebugFormat("AddToListView", new object[0]); if (target.Process == null) { Log <WorkGroupTreeNode> .Logger.DebugFormat("Target [{0}]", "NULL"); } else { Log <WorkGroupTreeNode> .Logger.DebugFormat("Target [{0}]", target.Process.Description); } Log <WorkGroupTreeNode> .Logger.DebugFormat("Start Add in ListView", new object[0]); if (target == null) { Log <WorkGroupTreeNode> .Logger.DebugFormat("Target is null.", new object[0]); return; } IComparer comparer = WorkGroup.Sort.ShowListView.ListViewItemSorter; int top = 0; int bottom = WorkGroup.Sort.ShowListView.Items.Count; int order = (WorkGroup.Sort.ShowListView.Sorting == SortOrder.Ascending) ? 1 : -1; while (top < bottom) { int middle = (top + bottom) / 2; ListViewItem item = WorkGroup.Sort.ShowListView.Items[middle]; int result = comparer.Compare(target, item) * order; if (result > 0) { top = middle + 1; } else { if (result >= 0) { Log <WorkGroupTreeNode> .Logger.DebugFormat("!!! Target is already exist.", new object[0]); Log <WorkGroupTreeNode> .Logger.DebugFormat("End Add in ListView", new object[0]); Log <WorkGroupTreeNode> .Logger.DebugFormat("=================================================", new object[0]); return; } bottom = middle; } } if (target.Process != null) { if (target.Process.DefaultSelect) { target.Selected = true; } } else { Log <WorkGroupTreeNode> .Logger.DebugFormat("Target.Process is NULL!!!!!!!!!!!!!!", new object[0]); } target.ShowCount = 1; WorkGroup.Sort.ShowListView.Items.Insert(top, target); Log <WorkGroupTreeNode> .Logger.DebugFormat("End Add in ListView", new object[0]); Log <WorkGroupTreeNode> .Logger.DebugFormat("=================================================", new object[0]); }