Free cookie consent management tool by TermsFeed Policy Generator

Ignore:
Timestamp:
06/20/11 14:06:33 (13 years ago)
Author:
ascheibe
Message:

#1233
Admin UI:

  • added subgroups
  • groups can now have calendars
  • calendar bugfixes
File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/HeuristicLab.Hive-3.4/sources/HeuristicLab.Clients.Hive.Administration/3.4/Views/ResourcesView.cs

    r6437 r6451  
    7979        foreach (Resource g in Content) {
    8080          if (g.GetType() == typeof(SlaveGroup)) {
    81             TreeNode tn = new TreeNode();
    82             tn.ImageIndex = treeSlaveGroup.ImageList.Images.Count - 1;
    83             tn.SelectedImageIndex = tn.ImageIndex;
    84 
    85             tn.Tag = g;
    86             tn.Text = g.Name;
    87             foreach (Resource r in Content.Where(s => s.ParentResourceId != null && s.ParentResourceId == g.Id)) {
    88               var stn = new TreeNode(r.Name);
    89               stn.ImageIndex = 0;
    90               stn.SelectedImageIndex = stn.ImageIndex;
    91               stn.Tag = r;
    92               tn.Nodes.Add(stn);
    93             }
    94             treeSlaveGroup.Nodes.Add(tn);
    95 
     81            //root node
     82            if (g.ParentResourceId == null) {
     83              TreeNode tn = new TreeNode();
     84              tn.ImageIndex = treeSlaveGroup.ImageList.Images.Count - 1;
     85              tn.SelectedImageIndex = tn.ImageIndex;
     86
     87              tn.Tag = g;
     88              tn.Text = g.Name;
     89
     90              BuildSlaveGroupTree(g, tn);
     91              treeSlaveGroup.Nodes.Add(tn);
     92            }
    9693          } else if (g.GetType() == typeof(Slave)) {
    9794            if (g.ParentResourceId == null) {
     
    108105    }
    109106
     107    private void BuildSlaveGroupTree(Resource g, TreeNode tn) {
     108      foreach (Resource r in Content.Where(s => s.ParentResourceId != null && s.ParentResourceId == g.Id)) {
     109        TreeNode stn = new TreeNode(r.Name);
     110        if (r is Slave) {
     111          stn.ImageIndex = 0;
     112        } else if (r is SlaveGroup) {
     113          stn.ImageIndex = treeSlaveGroup.ImageList.Images.Count - 1;
     114        }
     115        stn.SelectedImageIndex = stn.ImageIndex;
     116        stn.Tag = r;
     117        tn.Nodes.Add(stn);
     118
     119        BuildSlaveGroupTree(r, stn);
     120      }
     121    }
     122
    110123    protected override void SetEnabledStateOfControls() {
    111124      base.SetEnabledStateOfControls();
     
    119132
    120133      slaveView.Content = (Resource)e.Node.Tag;
    121 
    122       if (e.Node.Tag.GetType() == typeof(Slave)) {
    123         scheduleView.ResourceId = ((Slave)e.Node.Tag).Id;
    124         if (tabSlaveGroup.SelectedIndex == 1) {
    125           UpdateSchedule();
    126         }
    127       } else if (e.Node.Tag is SlaveGroup) {
     134      scheduleView.ResourceId = ((Resource)e.Node.Tag).Id;
     135
     136      if (e.Node.Tag is SlaveGroup) {
    128137        slaveView.Content.PropertyChanged += new System.ComponentModel.PropertyChangedEventHandler(SlaveViewContent_PropertyChanged);
     138      }
     139
     140      if (tabSlaveGroup.SelectedIndex == 1) {
     141        UpdateSchedule();
    129142      }
    130143    }
     
    194207          if (destNode.Tag != null && destNode.Tag is SlaveGroup) {
    195208            sgrp = (SlaveGroup)destNode.Tag;
    196           }
    197           if (destNode.Parent != null && destNode.Parent.Tag is SlaveGroup) {
     209          } else if (destNode.Parent != null && destNode.Parent.Tag is SlaveGroup) {
    198210            sgrp = (SlaveGroup)destNode.Parent.Tag;
    199211          }
    200212
    201           if (sgrp != null) {
    202             if (newNode.Tag != null && newNode.Tag is Slave) {
     213          if (sgrp != null && newNode.Tag != null) {
     214            //save parent group to get an id
     215            if (sgrp.Id == Guid.Empty) {
     216              ServiceLocator.Instance.CallHiveService(service => sgrp.Id = service.AddSlaveGroup(sgrp));
     217            }
     218
     219            if (newNode.Tag is Slave) {
    203220              Slave slave = (Slave)newNode.Tag;
    204 
    205               if (sgrp.Id == Guid.Empty) {
    206                 ServiceLocator.Instance.CallHiveService(service => sgrp.Id = service.AddSlaveGroup(sgrp));
    207               }
    208 
    209221              if (slave.ParentResourceId == null || (slave.ParentResourceId != null && slave.ParentResourceId != sgrp.Id)) {
    210222                slave.ParentResourceId = sgrp.Id;
    211                 OnContentChanged();
    212223              }
    213             }
     224            } else if (newNode.Tag is SlaveGroup) {
     225              SlaveGroup slaveGroup = (SlaveGroup)newNode.Tag;
     226              if (slaveGroup.ParentResourceId == null || (slaveGroup.ParentResourceId != null && slaveGroup.ParentResourceId != sgrp.Id)) {
     227                slaveGroup.ParentResourceId = sgrp.Id;
     228              }
     229            }
     230            OnContentChanged();
    214231          }
    215232        }
Note: See TracChangeset for help on using the changeset viewer.