Example #1
0
        private void ParseNodeBodyTabView(XmlNode node, Collection <FanLayoutTabView> tabViews)
        {
            XmlNodeList tabViewNodeList = XmlLoader.GetChildNodesByName(node, "tabView");

            if (tabViewNodeList == null || tabViewNodeList.Count == 0)
            {
                return;
            }

            foreach (XmlNode tabViewNode in tabViewNodeList)
            {
                string           title   = XmlLoader.ReadAttrValue(tabViewNode, "title");
                string           name    = XmlLoader.ReadAttrValue(tabViewNode, "name");
                string           index   = XmlLoader.ReadAttrValue(tabViewNode, "index");
                FanLayoutTabView tabView = new FanLayoutTabView();
                tabView.Title = title;
                tabView.Name  = name;

                int indexInt = 0;
                if (int.TryParse(index, out indexInt))
                {
                    tabView.Index = indexInt;
                }
            }
        }
Example #2
0
        /// <summary>
        /// 解析子panel
        /// </summary>
        /// <param name="node"></param>
        /// <param name="childPanelItems"></param>
        private void ParseNodeBodyChildPanel(XmlNode node, Collection <FanLayoutPanel> childPanelItems)
        {
            XmlNodeList childPanelNodeList = XmlLoader.GetChildNodesByName(node, "subPanel");

            if (childPanelNodeList == null || childPanelNodeList.Count == 0)
            {
                return;
            }
            foreach (XmlNode childPanelNode in childPanelNodeList)
            {
                FanLayoutPanel panel = new FanLayoutPanel();
                panel.Guid          = XmlLoader.ReadAttrValue(childPanelNode, "guid");
                panel.Title         = XmlLoader.ReadAttrValue(childPanelNode, "title");
                panel.Name          = XmlLoader.ReadAttrValue(childPanelNode, "name");
                panel.Width         = XmlLoader.ReadAttrIntValue(childPanelNode, "width", 200);
                panel.Height        = XmlLoader.ReadAttrIntValue(childPanelNode, "height", 300);
                panel.DockPosistion = FanLayoutDockPositionEnumHelper.Parse(XmlLoader.ReadAttrValue(childPanelNode, "position"));
                panel.TabView       = ("true" == XmlLoader.ReadAttrValue(childPanelNode, "tabView"));
                panel.Type          = FanLayoutPanelTypeEnumHelper.Parse(XmlLoader.ReadAttrValue(childPanelNode, "type"));
                panel.Assembly      = XmlLoader.ReadAttrValue(childPanelNode, "assembly");
                panel.AssemblyType  = XmlLoader.ReadAttrValue(childPanelNode, "assembly-type");

                childPanelItems.Add(panel);

                //读取uiView
                //ParseNodeUiView(childPanelNode, ref panel.UiViewControl);
            }
        }
Example #3
0
        /// <summary>
        /// 解析每个Ribbon的控件
        /// </summary>
        /// <param name="node"></param>
        /// <param name="pageGroup"></param>
        private void ParseNodeRibbonItem(XmlNode node, FanLayoutRibbonPageGroup pageGroup)
        {
            XmlNodeList itemNodeList = XmlLoader.GetChildNodesByName(node, "item");

            if (itemNodeList == null || itemNodeList.Count == 0)
            {
                return;
            }
            foreach (XmlNode barItemNode in itemNodeList)
            {
                pageGroup.Items.Add(new FanLayoutRibbonItem()
                {
                    Title              = XmlLoader.ReadAttrValue(barItemNode, "title"),
                    Type               = XmlLoader.ReadAttrValue(barItemNode, "type"),
                    Name               = XmlLoader.ReadAttrValue(barItemNode, "name"),
                    Tip                = XmlLoader.ReadAttrValue(barItemNode, "tip"),
                    ImageIndex         = XmlLoader.ReadAttrValue(barItemNode, "image-index"),
                    Image16            = XmlLoader.ReadAttrValue(barItemNode, "image16"),
                    Image32            = XmlLoader.ReadAttrValue(barItemNode, "image32"),
                    Assembly           = XmlLoader.ReadAttrValue(barItemNode, "assembly"),
                    AssemblyType       = XmlLoader.ReadAttrValue(barItemNode, "assembly-type"),
                    Event_OnClick      = XmlLoader.ReadAttrValue(barItemNode, "onClick"),
                    Event_OnMouseClick = XmlLoader.ReadAttrValue(barItemNode, "onMouseClick"),
                    Event_OnChange     = XmlLoader.ReadAttrValue(barItemNode, "onChange"),
                    Checked            = ("true" == XmlLoader.ReadAttrValue(barItemNode, "checked")),
                    Enabled            = !("false" == XmlLoader.ReadAttrValue(barItemNode, "enabled")),
                });
            }
        }
Example #4
0
        /// <summary>
        /// 解析每个Ribbon Page
        /// </summary>
        /// <param name="node"></param>
        private void ParseNodeRibbonPage(XmlNode node)
        {
            XmlNodeList pageNodeList = XmlLoader.GetChildNodesByName(node, "page");

            if (pageNodeList == null || pageNodeList.Count == 0)
            {
                return;
            }
            if (layoutObj is FanLayoutRibbon)
            {
                var layoutRibbonObj = (FanLayoutRibbon)layoutObj;
                foreach (XmlNode pageNode in pageNodeList)
                {
                    string title             = XmlLoader.ReadAttrValue(pageNode, "title"); //Group的标题
                    FanLayoutRibbonPage page = new FanLayoutRibbonPage()
                    {
                        Title = title
                    };

                    ParseNodeRibbonPageGroup(pageNode, page);

                    layoutRibbonObj.Pages.Add(page);
                }
            }
            else if (layoutObj is FanLayoutToolbar)
            {
                foreach (var page in pageNodeList)
                {
                }
            }
        }
Example #5
0
        private void ParseNodeRibbonPageGroup(XmlNode node, FanLayoutRibbonPage page)
        {
            XmlNodeList pageGroupNodeList = XmlLoader.GetChildNodesByName(node, "pageGroup");

            if (pageGroupNodeList == null || pageGroupNodeList.Count == 0)
            {
                return;
            }
            foreach (XmlNode pageGroupNode in pageGroupNodeList)
            {
                string title = XmlLoader.ReadAttrValue(pageGroupNode, "title");
                FanLayoutRibbonPageGroup pageGroup = new FanLayoutRibbonPageGroup();
                pageGroup.Title = title;
                //解析每个Group中的控件
                ParseNodeRibbonItem(pageGroupNode, pageGroup);

                page.PageGroups.Add(pageGroup);
            }
        }
Example #6
0
        /// <summary>
        /// 解析Panel
        /// </summary>
        /// <param name="node"></param>
        /// <param name="layoutBody"></param>
        private void ParseNodeBodyPanel(XmlNode node, FanLayoutBody layoutBody)
        {
            XmlNodeList panelNodeList = XmlLoader.GetChildNodesByName(node, "panel");

            if (panelNodeList == null || panelNodeList.Count == 0)
            {
                return;
            }
            foreach (XmlNode panelNode in panelNodeList)
            {
                if (layoutBody is FanLayoutDock)
                {
                    FanLayoutDock bodyDock = (FanLayoutDock)layoutBody;

                    FanLayoutPanel panel = new FanLayoutPanel();
                    panel.Guid          = XmlLoader.ReadAttrValue(panelNode, "guid");
                    panel.Title         = XmlLoader.ReadAttrValue(panelNode, "title");
                    panel.Name          = XmlLoader.ReadAttrValue(panelNode, "name");
                    panel.Width         = XmlLoader.ReadAttrIntValue(panelNode, "width", 200);
                    panel.Height        = XmlLoader.ReadAttrIntValue(panelNode, "height", 300);
                    panel.DockPosistion = FanLayoutDockPositionEnumHelper.Parse(XmlLoader.ReadAttrValue(panelNode, "position"));
                    panel.TabView       = ("true" == XmlLoader.ReadAttrValue(panelNode, "tabView"));
                    panel.Type          = FanLayoutPanelTypeEnumHelper.Parse(XmlLoader.ReadAttrValue(panelNode, "type"));
                    panel.Assembly      = XmlLoader.ReadAttrValue(panelNode, "assembly");
                    panel.AssemblyType  = XmlLoader.ReadAttrValue(panelNode, "assembly-type");

                    //子Panel
                    ParseNodeBodyChildPanel(panelNode, panel.ChildPanelItems);

                    bodyDock.Panels.Add(panel);

                    //读取uiView
                    //ParseNodeUiView(panelNode, ref panel.UiViewControl);
                }
            }
        }