Example #1
0
        private static void AddControl(XElement element, ref Form form)
        {
            ControlType controlType;
            Enum.TryParse(element.Name.LocalName, true, out controlType);
            if (controlType != ControlType.None &&
                controlType != ControlType.Menu &&
                controlType != ControlType.MenuItem &&
                controlType != ControlType.SubMenu)
            {
                form.Controls.Add(GetControlFromElement(element, controlType));
            }

            if (controlType == ControlType.Menu)
            {
                ConstructMenu(element, ref form);
            }
        }
Example #2
0
        public SubMenu(Form owner)
            : base(string.Empty)
        {
            this.Owner = owner;
            timer.Elapsed += new ElapsedEventHandler(Timer_Elapsed);

            BackColor = Color.White;
            ForeColor = Color.Black;
            if (owner != null)
            {
                BackColor = owner.BackColor;
                ForeColor = owner.ForeColor;
            }

            keyboard = new KeyboardHelper();
            keyboard.OnKeyPress += Keyboard_OnPress;
            keyboard.OnKeyRelease += Keyboard_OnRelease;
        }
Example #3
0
        public static void GenerateFromMarkup(this FormCollection formCollection, XDocument document)
        {
            //Form collection object
            XElement rootNode = document.Root;

            if (rootNode != null)
            {
                var allMarkedupForms =
                    new List<XElement>(rootNode.Descendants()
                        .Where(x => x.Name.LocalName == "Form"));

                foreach (XElement formElement in allMarkedupForms)
                {
                    var id = GetId(formElement);
                    var title = GetTitle(formElement);
                    var posVector = GetPositionVector2(formElement);
                    var sizeVector = GetSizeVector2(formElement);
                    var borderStyle = GetBorderStyle(formElement);
                    var form = new Form(id, title,sizeVector,posVector,borderStyle);
                    ProcessChildNodes(formElement.Descendants(),ref form);
                    formCollection.Add(form);
                }
            }
        }
Example #4
0
 private static void ConstructMenu(XElement element, ref Form form)
 {
     Menu menu = CreateMenuFromElement(element);
     ProcessMenuItems(element, menu, ref form);
     form.Menu = menu;
 }
Example #5
0
        private static void ProcessMenuItems(XElement element, Control parent, ref Form form)
        {
            foreach (var node in element.Elements())
            {
                var xElement = node as XElement;
                var subMenuParent = (parent as SubMenu);
                var menuParent = (parent as Menu);
                if (xElement != null)
                {
                    ControlType controlType;
                    Enum.TryParse(xElement.Name.LocalName, true, out controlType);
                    if (controlType == ControlType.MenuItem)
                    {
                        if (subMenuParent != null)
                        {
                            //TODO work out if the below custom add call is needed/wanted, seems out of place
                            subMenuParent.Add(CreateMenuItemFromElement(xElement),null);
                        }
                        if (menuParent != null)
                        {
                            menuParent.Items.Add(CreateMenuItemFromElement(xElement));
                        }
                    }
                    if (controlType == ControlType.SubMenu)
                    {
                        if (subMenuParent != null)
                        {
                            var subMenu = CreateSubMenuFromElement(xElement, ref form);
                            subMenuParent.Add(CreateMenuItemFromElement(xElement),subMenu);
                            ProcessMenuItems(xElement, subMenu, ref form);
                        }
                        if (menuParent != null)
                        {
                            var subMenu = CreateSubMenuFromElement(xElement, ref form);
                            menuParent.Add(CreateMenuItemFromElement(xElement), subMenu);
                            ProcessMenuItems(xElement, subMenu, ref form);
                        }

                    }
                }
                else
                {
                    return;
                }

            }
        }
Example #6
0
 private static void ProcessChildNodes(IEnumerable<XElement> elements, ref Form form)
 {
     foreach (var element in elements)
     {
         AddControl(element, ref form);
         if (element.HasElements)
         {
             ProcessChildNodes(element.Descendants(), ref form);
         }
     }
 }
Example #7
0
 private static SubMenu CreateSubMenuFromElement(XElement element, ref Form form)
 {
     string id = GetId(element);
     string name = element.Value;
     return new SubMenu(form);
 }
 public ControlCollection(Form form)
 {
     this.Owner = form;
 }