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; } } }
/// <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); } }
/// <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")), }); } }
/// <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) { } } }
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); } }
/// <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); } } }