Пример #1
0
        public void refresh()
        {
            Program.AssertOnEventThread();

            SR   selectedSr = SR;
            bool selected   = false;

            srListBox.BeginUpdate();
            try
            {
                srListBox.ClearAllNodes();

                foreach (SR sr in connection.Cache.SRs)
                {
                    SrPickerItem item = itemFactory.PickerItem(sr, usage, affinity, GetRequiredDiskSizeForSR(sr), existingVDIs);
                    if (item.Show)
                    {
                        srListBox.AddNode(item);
                    }
                    foreach (PBD pbd in sr.Connection.ResolveAll(sr.PBDs))
                    {
                        if (pbd != null)
                        {
                            pbd.PropertyChanged -= Server_PropertyChanged;
                            pbd.PropertyChanged += Server_PropertyChanged;
                        }
                    }
                    sr.PropertyChanged -= Server_PropertyChanged;
                    sr.PropertyChanged += Server_PropertyChanged;
                }
            }
            finally
            {
                srListBox.EndUpdate();
            }

            if (selectedSr != null)
            {
                foreach (SrPickerItem node in srListBox.Items)
                {
                    if (node.TheSR != null && node.TheSR.uuid == selectedSr.uuid)
                    {
                        srListBox.SelectedItem = node;
                        onItemSelect();
                        selected = true;
                        break;
                    }
                }
            }

            if (!selected && srListBox.Items.Count > 0)
            {// If no selection made, select default SR
                if (!selectDefaultSR())
                {
                    // If no default SR, select first entry in list
                    srListBox.SelectedIndex = 0;
                    onItemSelect();
                }
            }
        }
Пример #2
0
        private void onItemSelect()
        {
            SrPickerItem item = srListBox.SelectedItem as SrPickerItem;

            if (item == null || !item.Enabled)
            {
                if (ItemSelectionNull != null)
                {
                    ItemSelectionNull();
                }
                return;
            }

            if (ItemSelectionNotNull != null)
            {
                ItemSelectionNotNull();
            }

            if (!item.Enabled && LastSelectedItem != null && LastSelectedItem.TheSR.opaque_ref != item.TheSR.opaque_ref)
            {
                srListBox.SelectedItem = LastSelectedItem;
            }
            else if (!item.Enabled && LastSelectedItem != null && LastSelectedItem.TheSR.opaque_ref == item.TheSR.opaque_ref)
            {
                SrPickerItem first = srListBox.Items[0] as SrPickerItem;
                if (first != null && first.Enabled)
                {
                    srListBox.SelectedItem = first;
                }
                else
                {
                    srListBox.SelectedItem = null;
                }
            }
            else
            {
                LastSelectedItem = item;
            }
        }
Пример #3
0
        private void onItemSelect()
        {
            SrPickerItem item = SelectedItem as SrPickerItem;

            if (item == null || !item.Enabled)
            {
                if (SrSelectionChanged != null)
                {
                    SrSelectionChanged(null);
                }
                return;
            }

            if (SrSelectionChanged != null)
            {
                SrSelectionChanged(item);
            }

            if (!item.Enabled && LastSelectedItem != null && LastSelectedItem.TheSR.opaque_ref != item.TheSR.opaque_ref)
            {
                SelectedItem = LastSelectedItem;
            }
            else if (!item.Enabled && LastSelectedItem != null && LastSelectedItem.TheSR.opaque_ref == item.TheSR.opaque_ref)
            {
                SrPickerItem first = Items[0] as SrPickerItem;
                if (first != null && first.Enabled)
                {
                    SelectedItem = first;
                }
                else
                {
                    SelectedItem = null;
                }
            }
            else
            {
                LastSelectedItem = item;
            }
        }