예제 #1
0
        private void RefreshTab(T group)
        {
            ColumnQuiesceSupported.Visible = VMGroup <T> .IsQuiescingSupported(Pool?.Connection);

            _group = group;
            if (Pool != null)
            {
                dataGridView1.Rows.Clear();
                foreach (var vm in Pool.Connection.Cache.VMs)
                {
                    int index = 0;
                    if (vm.is_a_real_vm() && vm.Show(Properties.Settings.Default.ShowHiddenVMs))
                    {
                        bool selected = group != null && VMGroup <T> .GroupToVMs(group).Contains(new XenRef <VM>(vm.opaque_ref));

                        index = dataGridView1.Rows.Add(new VMDataGridViewRow(selected, vm));

                        if (SelectedVMs.Contains(vm))
                        {
                            dataGridView1.Rows[index].Cells[0].Value = true;
                        }
                        else if (selected && !SelectedVMs.Contains(vm))
                        {
                            SelectedVMs.Add(vm);
                        }
                    }
                }

                dataGridView1.Sort(ColumnCheckBox, ListSortDirection.Ascending);
                dataGridView1.AutoResizeColumns();
            }
            UpdateCounterLabelAndButtons();
        }
예제 #2
0
 public VMDataGridViewRow(bool selected, VM vm)
 {
     Vm = vm;
     Cells.Add(_selectedCell);
     Cells.Add(_nameCell);
     Cells.Add(_descriptionCell);
     Cells.Add(_currentGroupCell);
     if (VMGroup <T> .IsQuiescingSupported(vm.Connection))
     {
         _quiesce_supported = new DataGridViewTextBoxCell();
         Cells.Add(_quiesce_supported);
     }
     Refresh(selected);
 }
예제 #3
0
            void Refresh(bool selected)
            {
                _selectedCell.Value    = selected;
                _nameCell.Value        = Vm.Name();
                _descriptionCell.Value = Vm.Description();
                T group = Vm.Connection.Resolve(VMGroup <T> .VmToGroup(Vm));

                _currentGroupCell.Value = group == null ? Messages.NONE : group.Name();
                if (VMGroup <T> .IsQuiescingSupported(Vm.Connection))
                {
                    if (Vm.allowed_operations.Contains((vm_operations.snapshot_with_quiesce)) && !Helpers.FeatureForbidden(Vm, Host.RestrictVss))
                    {
                        _quiesce_supported.Value = Messages.YES;
                    }
                    else
                    {
                        _quiesce_supported.Value = Messages.NO;
                    }
                }
            }