Changeset 15995 for branches/2839_HiveProjectManagement/HeuristicLab.Clients.Hive.Administrator/3.3/Views/ResourcesView.cs
- Timestamp:
- 07/19/18 13:37:32 (6 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/2839_HiveProjectManagement/HeuristicLab.Clients.Hive.Administrator/3.3/Views/ResourcesView.cs
r15978 r15995 51 51 private readonly Color calculatingColor = Color.FromArgb(255, 58, 114, 35); // #3a7223 52 52 private readonly Color offlineColor = Color.FromArgb(255, 187, 36, 36); // #bb2424 53 private readonly Color grayTextColor = SystemColors.GrayText; 53 54 54 55 … … 301 302 private void treeSlaveGroup_MouseDown(object sender, MouseEventArgs e) { 302 303 var node = treeView.GetNodeAt(e.Location); 303 if(node != null && node != ungroupedGroupNode) ChangeSelectedResourceNode(node); 304 if (node == null || node == ungroupedGroupNode) return; 305 var r = (Resource)node.Tag; 306 if(!HiveAdminClient.Instance.DisabledParentResources.Contains(r)) ChangeSelectedResourceNode(node); 304 307 } 305 308 … … 311 314 if(e.Node == ungroupedGroupNode) { 312 315 e.Cancel = true; 316 } else { 317 var r = (Resource)e.Node.Tag; 318 if(HiveAdminClient.Instance.DisabledParentResources.Contains(r)) { 319 e.Cancel = true; 320 } 313 321 } 314 322 } … … 395 403 if (!resources.Any()) return; 396 404 405 var disabledParentResources = HiveAdminClient.Instance.DisabledParentResources; 397 406 var mainResources = new HashSet<Resource>(resources.OfType<SlaveGroup>() 398 407 .Where(x => x.ParentResourceId == null)); 399 var parentedMainResources = new HashSet<Resource>(resources.OfType<SlaveGroup>() 400 .Where(x => x.ParentResourceId.HasValue && !resources.Select(y => y.Id).Contains(x.ParentResourceId.Value))); 401 mainResources.UnionWith(parentedMainResources); 402 var subResources = new HashSet<Resource>(resources.Except(mainResources).OrderByDescending(x => x.Name)); 408 //var parentedMainResources = new HashSet<Resource>(resources.OfType<SlaveGroup>() 409 // .Where(x => x.ParentResourceId.HasValue && !resources.Select(y => y.Id).Contains(x.ParentResourceId.Value))); 410 //mainResources.UnionWith(parentedMainResources); 411 var mainDisabledParentResources = new HashSet<Resource>(disabledParentResources.Where(x => x.ParentResourceId == null || x.ParentResourceId == Guid.Empty)); 412 mainResources.UnionWith(mainDisabledParentResources); 413 var subResources = new HashSet<Resource>(resources.Union(disabledParentResources).Except(mainResources).OrderByDescending(x => x.Name)); 403 414 404 415 var stack = new Stack<Resource>(mainResources.OrderByDescending(x => x.Name)); … … 414 425 StyleTreeNode(newNode, newResource, resources); 415 426 416 if (selectedResource == null ) {427 if (selectedResource == null && !disabledParentResources.Contains(newResource)) { 417 428 SelectedResource = newResource; 418 429 } 419 if ( newResource.Id == selectedResource.Id && !nodeSelected) {430 if (!nodeSelected && selectedResource != null && newResource.Id == selectedResource.Id) { 420 431 newNode.BackColor = selectedBackColor; 421 432 newNode.ForeColor = selectedForeColor; 422 433 newNode.Text += SELECTED_TAG; 423 434 nodeSelected = true; 435 } 436 437 if(disabledParentResources.Contains(newResource)) { 438 newNode.Checked = false; 439 newNode.ForeColor = grayTextColor; 424 440 } 425 441 … … 505 521 Resource r = (Resource)n.Tag; 506 522 if (n.Nodes.Count > 0) { 507 if (Hive Client.Instance.GetAvailableResourceDescendants(r.Id).OfType<SlaveGroup>().Any()) {523 if (HiveAdminClient.Instance.GetAvailableResourceDescendants(r.Id).OfType<SlaveGroup>().Any()) { 508 524 n.Expand(); 509 525 ExpandResourceNodesOfInterest(n.Nodes); … … 570 586 n.ForeColor = Color.Black; 571 587 572 // not stored (i.e. new), changed 573 if (r.Id == Guid.Empty && n != ungroupedGroupNode /*!r.Name.StartsWith(UNGROUPED_GROUP_NAME)*/) { 588 if(HiveAdminClient.Instance.DisabledParentResources.Select(x => x.Id).Contains(r.Id)) { 589 n.ForeColor = grayTextColor; 590 } else if (r.Id == Guid.Empty && n != ungroupedGroupNode /*!r.Name.StartsWith(UNGROUPED_GROUP_NAME)*/) { 591 // not stored (i.e. new) 574 592 n.Text += NOT_STORED_TAG; 575 593 } else if (r.Modified && n != ungroupedGroupNode /*!r.Name.StartsWith(UNGROUPED_GROUP_NAME)*/) { 594 // changed 576 595 n.Text += CHANGES_NOT_STORED_TAG; 577 596 } … … 682 701 private Dictionary<Guid, HashSet<Resource>> GetResourceDescendants() { 683 702 var resourceDescendants = new Dictionary<Guid, HashSet<Resource>>(); 684 685 foreach (var r in Content) resourceDescendants.Add(r.Id, new HashSet<Resource>()); 686 foreach(var r in Content) { 703 var resources = Content.Union(HiveAdminClient.Instance.DisabledParentResources).ToList(); 704 705 foreach (var r in resources) resourceDescendants.Add(r.Id, new HashSet<Resource>()); 706 foreach(var r in resources) { 687 707 var parentResourceId = r.ParentResourceId; 688 708 while(parentResourceId != null) { 689 var parent = Content.SingleOrDefault(x => x.Id == parentResourceId);709 var parent = resources.SingleOrDefault(x => x.Id == parentResourceId); 690 710 if(parent != null) { 691 711 resourceDescendants[parent.Id].Add(r);
Note: See TracChangeset
for help on using the changeset viewer.