Inheritance: GoogleCloudExtension.CloudExplorer.SourceRootViewModelBase
Example #1
0
        public GceInstanceViewModel(GceSourceRootViewModel owner, Instance instance)
        {
            _owner   = owner;
            Instance = instance;

            UpdateInstanceState();
        }
        public GceInstanceViewModel(GceSourceRootViewModel owner, Instance instance)
        {
            _owner = owner;
            Instance = instance;

            UpdateInstanceState();
        }
        internal ZoneViewModel(GceSourceRootViewModel owner, Zone zone, IEnumerable <GceInstanceViewModel> instances)
        {
            _owner = owner;
            _zone  = zone;

            Caption = String.Format(Resources.CloudExplorerGceZoneCaption, zone.Name, instances.Count());
            Icon    = s_zoneIcon.Value;

            foreach (var instance in instances)
            {
                Children.Add(instance);
            }

            var menuItems = new List <MenuItem>
            {
                new MenuItem {
                    Header = Resources.CloudExplorerGceNewInstanceMenuHeader, Command = new ProtectedCommand(OnNewInstanceCommand)
                },
                new MenuItem {
                    Header = Resources.UiPropertiesMenuHeader, Command = new ProtectedAsyncCommand(OnPropertiesCommandAsync)
                },
            };

            ContextMenu = new ContextMenu {
                ItemsSource = menuItems
            };
        }
Example #4
0
        public GceInstanceViewModel(GceSourceRootViewModel owner, Instance instance)
        {
            _owner   = owner;
            Instance = instance;

            ErrorHandlerUtils.HandleExceptionsAsync(UpdateInstanceStateAsync);
        }
Example #5
0
        public ZoneViewModel(GceSourceRootViewModel owner, InstancesPerZone instancesPerZone, bool onlyWindowsInstances)
        {
            _owner            = owner;
            _instancesPerZone = instancesPerZone;

            var instancesToShow = instancesPerZone.Instances.Where(x => !onlyWindowsInstances || x.IsWindowsInstance()).ToList();

            Caption = $"{instancesPerZone.Zone.Name} ({instancesToShow.Count})";
            Icon    = s_zoneIcon.Value;

            var viewModels = instancesToShow.Select(x => new GceInstanceViewModel(owner, x));

            foreach (var viewModel in viewModels)
            {
                Children.Add(viewModel);
            }

            var menuItems = new List <MenuItem>
            {
                new MenuItem {
                    Header = Resources.CloudExplorerGceNewInstanceMenuHeader, Command = new WeakCommand(OnNewInstanceCommand)
                },
                new MenuItem {
                    Header = Resources.UiPropertiesMenuHeader, Command = new WeakCommand(OnPropertiesCommand)
                },
            };

            ContextMenu = new ContextMenu {
                ItemsSource = menuItems
            };

            if (Children.Count == 0)
            {
                if (onlyWindowsInstances)
                {
                    Children.Add(s_noWindowsInstancesPlaceholder);
                }
                else
                {
                    Children.Add(s_noInstancesPlaceholder);
                }
            }
        }
        internal ZoneViewModel(GceSourceRootViewModel owner, Zone zone, IEnumerable<GceInstanceViewModel> instances)
        {
            _owner = owner;
            _zone = zone;

            Caption = String.Format(Resources.CloudExplorerGceZoneCaption, zone.Name, instances.Count());
            Icon = s_zoneIcon.Value;

            foreach (var instance in instances)
            {
                Children.Add(instance);
            }

            var menuItems = new List<MenuItem>
            {
                new MenuItem { Header = Resources.CloudExplorerGceNewInstanceMenuHeader, Command = new ProtectedCommand(OnNewInstanceCommand) },
                new MenuItem { Header = Resources.UiPropertiesMenuHeader, Command = new ProtectedCommand(OnPropertiesCommand) },
            };
            ContextMenu = new ContextMenu { ItemsSource = menuItems };
        }