Free cookie consent management tool by TermsFeed Policy Generator

Ignore:
Timestamp:
01/13/12 13:45:51 (12 years ago)
Author:
spimming
Message:

#1680:

  • Methods to add and remove Subscription in CloudManagerClient
  • AddSubscriptionDialog integrated
  • OnContentChanged implemented
File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/HeuristicLab.Hive.Azure/HeuristicLab.Clients.Hive.CloudManager/3.3/Views/CloudResourcesView.cs

    r7317 r7324  
    1616    private int updateInterval = 15000;
    1717    private DateTime dueTime;
     18    private const int subscriptionImageIndex = 0;
     19    private const int serviceImageIndex = 1;
    1820
    1921    public new IItemList<Subscription> Content {
     
    2527      InitializeComponent();
    2628
     29      treeCloudResources.ImageList.Images.Add(HeuristicLab.Common.Resources.VSImageLibrary.NetworkCenterLarge);
     30      treeCloudResources.ImageList.Images.Add(HeuristicLab.Common.Resources.VSImageLibrary.MonitorLarge);
     31
     32      Content = CloudManagerClient.Instance.Subscriptions;
    2733      CloudManagerClient.Instance.Refreshing += new EventHandler(Instance_Refreshing);
    2834      CloudManagerClient.Instance.Refreshed += new EventHandler(Instance_Refreshed);
     
    4248    }
    4349
    44     void Instance_Refreshing(object sender, EventArgs e) {
     50    #region Register Content Events
     51    protected override void DeregisterContentEvents() {
     52      Content.ItemsAdded -= new Collections.CollectionItemsChangedEventHandler<Collections.IndexedItem<Subscription>>(Content_ItemsAdded);
     53      Content.ItemsRemoved -= new Collections.CollectionItemsChangedEventHandler<Collections.IndexedItem<Subscription>>(Content_ItemsRemoved);
     54      base.DeregisterContentEvents();
     55    }
     56    protected override void RegisterContentEvents() {
     57      base.RegisterContentEvents();
     58      Content.ItemsAdded += new Collections.CollectionItemsChangedEventHandler<Collections.IndexedItem<Subscription>>(Content_ItemsAdded);
     59      Content.ItemsRemoved += new Collections.CollectionItemsChangedEventHandler<Collections.IndexedItem<Subscription>>(Content_ItemsRemoved);
     60    }
     61    #endregion
     62
     63    protected override void SetEnabledStateOfControls() {
     64      base.SetEnabledStateOfControls();
     65      if (Content == null || Content.Count == 0) {
     66        btnAddSlaveService.Enabled = false;
     67        btnDelete.Enabled = false;
     68        btnSave.Enabled = false;
     69      } else {
     70        btnAddSlaveService.Enabled = true;
     71        btnDelete.Enabled = true;
     72        btnSave.Enabled = true;
     73      }
     74    }
     75
     76    protected override void OnContentChanged() {
     77      base.OnContentChanged();
     78      SetEnabledStateOfControls();
     79      if (Content == null) {
     80        //slaveView.Content = null;
     81        treeCloudResources.Nodes.Clear();
     82      } else {
     83        treeCloudResources.Nodes.Clear();
     84        foreach (Subscription sub in Content) {
     85          TreeNode tn = new TreeNode();
     86          tn.Tag = sub;
     87          tn.Text = sub.SubscriptionName;
     88          tn.ImageIndex = subscriptionImageIndex;
     89          tn.SelectedImageIndex = tn.ImageIndex;
     90          treeCloudResources.Nodes.Add(tn);
     91        }
     92      }
     93    }
     94
     95    private void Instance_Refreshing(object sender, EventArgs e) {
    4596      Debug.WriteLine("Instance_Refreshing");
    4697    }
    4798
    48     void Instance_Refreshed(object sender, EventArgs e) {
     99    private void Instance_Refreshed(object sender, EventArgs e) {
    49100      Debug.WriteLine("Instance_Refreshed");
     101    }
     102
     103    private void Content_ItemsRemoved(object sender, Collections.CollectionItemsChangedEventArgs<Collections.IndexedItem<Subscription>> e) {
     104      OnContentChanged();
     105    }
     106
     107    private void Content_ItemsAdded(object sender, Collections.CollectionItemsChangedEventArgs<Collections.IndexedItem<Subscription>> e) {
     108      OnContentChanged();
    50109    }
    51110
     
    67126      }
    68127    }
     128
     129    private void btnAddSubscription_Click(object sender, EventArgs e) {
     130      using (var form = new AddSubscriptionDialog()) {
     131        form.ShowDialog();
     132        if (!form.ErrorOccured) {
     133          if (form.Subscription != null) {
     134            Subscription sub = form.Subscription;
     135            CloudManagerClient.Instance.Add(sub);
     136          }
     137        }
     138      }
     139    }
    69140  }
    70141}
Note: See TracChangeset for help on using the changeset viewer.