public CloudItemAction(CloudItem cloudItem, string text, Bitmap icon, Func <Task> onClick, CloudItemActionContinuation continuation)
 {
     this.cloudItem    = cloudItem;
     this.continuation = continuation;
     this.text         = text;
     this.icon         = icon;
     this.onClick      = onClick;
 }
Exemple #2
0
 protected static CloudItem GetRootItem(CloudItem ci)
 {
     if (ci.parent == null)
     {
         return(ci);
     }
     else
     {
         return(GetRootItem(ci.parent));
     }
 }
Exemple #3
0
        protected static HashSet <CloudItem> GetNodesWithConnection(CloudItem cloudItem, EntityGuid id)
        {
            HashSet <CloudItem> result = new HashSet <CloudItem>();

            Type thisType = cloudItem.GetType();
            var  fields   = thisType.GetFields(BindingFlags.Instance | BindingFlags.NonPublic);

            foreach (var field in fields)
            {
                if (field.FieldType.Assembly.FullName.StartsWith("CloudFoundry.CloudController", StringComparison.OrdinalIgnoreCase))
                {
                    var value      = field.GetValue(cloudItem);
                    var collection = value as IEnumerable;
                    if (collection != null)
                    {
                        foreach (var obj in collection)
                        {
                            if (ValueIsConnected(obj, id))
                            {
                                result.Add(cloudItem);
                                break;
                            }
                        }
                    }
                    else
                    {
                        if (ValueIsConnected(value, id))
                        {
                            result.Add(cloudItem);
                            break;
                        }
                    }
                }
            }

            foreach (var child in cloudItem.children)
            {
                foreach (var node in GetNodesWithConnection(child, id))
                {
                    result.Add(node);
                }
            }

            return(result);
        }
 public CloudItemAction(CloudItem cloudItem, string text, Bitmap icon, Func <Task> onClick)
     : this(cloudItem, text, icon, onClick, CloudItemActionContinuation.None)
 {
 }
Exemple #5
0
 private void AttachToParent(CloudItem parentItem)
 {
     this.parent = parentItem;
 }