示例#1
0
        private void LoadAllProps()
        {
            ItemPanel1.BeginUpdate();

            // Clear list
            ItemPanel1.Items.Clear();

            // Add Props
            foreach (DisplaylistProps props in propsList)
            {
                ItemPanel1.Items.Add(GetItem(props));
            }

            // Add 'New' Button
            var btnNew = new ButtonItem()
            {
                Text        = "New",
                Image       = My.Resources.Resources.Add_16px,
                ButtonStyle = eButtonStyle.ImageAndText
            };

            btnNew.Click += (_, __) => AddNewProps();
            ItemPanel1.Items.Add(btnNew);
            ItemPanel1.EndUpdate();
        }
示例#2
0
        private void AddNewProps()
        {
            ItemPanel1.BeginUpdate();

            // Find new ID
            int  id   = 0;
            bool ende = false;

            while (!ende)
            {
                ende = true;
                foreach (DisplaylistProps props2 in propsList.OrderBy(n => n.ID))
                {
                    if (props2.ID == id)
                    {
                        id   = props2.ID + 1;
                        ende = false;
                    }
                }
            }

            // Create Props & Items
            var props = new DisplaylistProps(id);
            var item  = GetItem(props);

            propsList.Add(props);
            ItemPanel1.Items.Insert(ItemPanel1.Items.Count - 1, item);
            ItemPanel1.EndUpdate();
        }
示例#3
0
        private void RemoveProps(CustomDisplaylistEntryEditor editor)
        {
            ItemPanel1.BeginUpdate();

            // Remove Item
            BaseItem itemToRemove = null;

            foreach (BaseItem item in ItemPanel1.Items)
            {
                if (itemToRemove is null && item is ControlContainerItem && ((ControlContainerItem)item).Control == editor)
                {
                    itemToRemove = item;
                }
            }

            ItemPanel1.Items.Remove(itemToRemove);

            // Remove Props
            propsList.Remove(editor.Props);
            ItemPanel1.EndUpdate();
        }