Exemplo n.º 1
0
 private void RefreshTrimButton()
 {
     showTrimButton = connection != null && Helpers.CreedenceOrGreater(connection);
     if (showTrimButton)
     {
         trimButtonContainer.Visible = true;
         if (selectionManager == null)
         {
             selectionManager = new SelectionManager();
         }
         selectionManager.BindTo(trimButton, Program.MainWindow);
     }
     else
     {
         trimButtonContainer.Visible     = false;
         trimButton.SelectionBroadcaster = null;
     }
 }
Exemplo n.º 2
0
        private void LoadVMs()
        {
            Program.AssertOnEventThread();

            if (!Visible)
            {
                return;
            }

            try
            {
                dataGridViewVms.SuspendLayout();

                var previousSelection = GetSelectedVMs();

                UnregisterVmEventHandlers();

                dataGridViewVms.SortCompare += dataGridViewVms_SortCompare;

                dataGridViewVms.Rows.Clear();

                enableSelectionManager.BindTo(enableButton, Program.MainWindow);
                disableSelectionManager.BindTo(disableButton, Program.MainWindow);

                //clear selection
                enableSelectionManager.SetSelection(new SelectedItemCollection());
                disableSelectionManager.SetSelection(new SelectedItemCollection());

                foreach (var vm in Connection.Cache.VMs)
                {
                    // Add all real VMs and templates that begin with __gui__ (because this may be a new VM)
                    var addVm = vm.is_a_real_vm || VmIsJustAdded(vm) || vm.IsBeingCreated;

                    if (!addVm)
                    {
                        continue;
                    }

                    var show = VmShouldBeVisible(vm);

                    dataGridViewVms.Rows.Add(NewVmRow(vm, show));
                }

                SortVmTable();

                if (dataGridViewVms.Rows.Count > 0)
                {
                    dataGridViewVms.SelectionChanged += VmSelectionChanged;

                    UnselectAllVMs(); // Component defaults the first row to selected
                    if (previousSelection.Any())
                    {
                        foreach (var row in dataGridViewVms.Rows.Cast <DataGridViewRow>())
                        {
                            if (previousSelection.Contains((VM)row.Tag))
                            {
                                row.Selected = true;
                            }
                        }
                    }
                    else
                    {
                        dataGridViewVms.Rows[0].Selected = true;
                    }
                }
            }
            finally
            {
                dataGridViewVms.ResumeLayout();
            }
        }
Exemplo n.º 3
0
        private void LoadVMs()
        {
            Program.AssertOnEventThread();

            if (!Visible)
            {
                return;
            }

            try
            {
                dataGridViewVms.SuspendLayout();

                var previousSelection = GetSelectedVMs();

                UnregisterEventHandlers();

                dataGridViewVms.SortCompare += dataGridViewVms_SortCompare;

                dataGridViewVms.Rows.Clear();

                enableSelectionManager.BindTo(enableButton, Program.MainWindow);
                disableSelectionManager.BindTo(disableButton, Program.MainWindow);

                //clear selection
                enableSelectionManager.SetSelection(new SelectedItemCollection());
                disableSelectionManager.SetSelection(new SelectedItemCollection());

                foreach (var vm in Connection.Cache.VMs.Where(vm => vm.is_a_real_vm && vm.Show(Properties.Settings.Default.ShowHiddenVMs)))
                {
                    dataGridViewVms.Rows.Add(NewVmRow(vm));
                }

                if (dataGridViewVms.SortedColumn == null)
                {
                    dataGridViewVms.Sort(vmDefaultSort);
                }
                else
                {
                    var order = dataGridViewVms.SortOrder;
                    ListSortDirection sortDirection = ListSortDirection.Ascending;
                    if (order.Equals(SortOrder.Descending))
                    {
                        sortDirection = ListSortDirection.Descending;
                    }

                    dataGridViewVms.Sort(dataGridViewVms.SortedColumn, sortDirection);
                }

                if (dataGridViewVms.Rows.Count > 0)
                {
                    dataGridViewVms.SelectionChanged += VmSelectionChanged;

                    UnselectAllVMs(); // Component defaults the first row to selected
                    if (previousSelection.Any())
                    {
                        foreach (var row in dataGridViewVms.Rows.Cast <DataGridViewRow>())
                        {
                            if (previousSelection.Contains((VM)row.Tag))
                            {
                                row.Selected = true;
                            }
                        }
                    }
                    else
                    {
                        dataGridViewVms.Rows[0].Selected = true;
                    }
                }
            }
            finally
            {
                dataGridViewVms.ResumeLayout();
            }
        }