示例#1
0
        private void EditButton_Click(object sender, EventArgs e)
        {
            ElementListItem listItem = (ElementListItem)((Control)sender).Parent.Parent;
            bool            accepted = elements.Editor.ButtonEditor.EditButton((IWheelButton)listItem.Element, elements);

            if (accepted)
            {
                UpdateButtonList();
            }
        }
        private void ActOnElement <T>(object child, Func <T, IWheelElements, bool> action)
        {
            ElementListItem item   = (ElementListItem)((Button)child).Parent.Parent;
            bool            reload = action((T)item.Element, elements);

            if (reload)
            {
                UpdateWheelsList();
            }
        }
示例#3
0
        private void DeleteButton_Click(object sender, EventArgs e)
        {
            ElementListItem listItem = (ElementListItem)((Control)sender).Parent.Parent;
            IWheelButton    button   = (IWheelButton)listItem.Element;
            var             dialog   = new ComfirmationDialog($"Are you sure you wish to delete button '{button.Label}'?");

            if (dialog.ShowDialog() == DialogResult.OK)
            {
                Buttons.Remove(button);
                UpdateButtonList();
            }
        }
示例#4
0
        public static ElementListItem[] ToElementList(ElementTypeRef[] src)
        {
            if (src == null)
            {
                return new ElementListItem[] {}
            }
            ;

            ElementListItem[] ret = new ElementListItem[src.Length];
            int n = 0;

            foreach (ElementTypeRef sr in src)
            {
                ret[n++] = new ElementListItem(sr.Name, sr.IsRequired, sr.IsChoice);
            }

            return(ret);
        }
 private void UpdateWheelsList()
 {
     wheelsLayoutPanel.SuspendDrawing();
     wheelsLayoutPanel.Controls.Clear();
     for (int i = 0; i < elements.Wheels.Count; i++)
     {
         var    item   = new ElementListItem(elements.Wheels[i]);
         string prefix = elements.Wheels[i] == elements.StartupWheel ? "[Main] " : "";
         item.label1.Text         = prefix + elements.Wheels[i].Label;
         item.deleteButton.Click += DeleteWheel_Click;
         item.editButton.Click   += EditWheel_Click;
         item.BackColor           = Color.LightGray;
         item.UpClick            += Item_UpClick;
         item.DownClick          += Item_DownClick;
         wheelsLayoutPanel.Controls.Add(item);
         AdjustWidth(item);
     }
     wheelsLayoutPanel.ResumeDrawing();
 }
示例#6
0
        public static ElementListItem[] ToElementList(ElementType[] src)
        {
            if (src == null)
            {
                return new ElementListItem[] {}
            }
            ;

            ElementListItem[] ret = new ElementListItem[src.Length];
            int n = 0;

            foreach (ElementType et in src)
            {
                ret[n++] = new ElementListItem(et.Name, false);
            }

            return(ret);
        }
    }
示例#7
0
        private void UpdateButtonList()
        {
            buttonsLayoutPanel.SuspendDrawing();

            buttonsLayoutPanel.Controls.Clear();

            foreach (IWheelButton button in Buttons)
            {
                var control = new ElementListItem(button);
                control.label1.Text         = button.Label;
                control.deleteButton.Click += DeleteButton_Click;
                control.editButton.Click   += EditButton_Click;
                control.UpClick            += Control_UpClick;
                control.DownClick          += Control_DownClick;

                buttonsLayoutPanel.Controls.Add(control);

                control.Width = control.Parent.Width - 20;
            }

            buttonsLayoutPanel.ResumeDrawing();
        }