private void ParseNodeHeader(XmlNode node) { XmlNode headerNode = XmlLoader.GetFirstChildNodeByName(node, "header"); if (headerNode == null) { return; } string style = XmlLoader.ReadAttrValue(headerNode, "style"); if (style == "ribbon") { layoutObj = new FanLayoutRibbon(); layoutObj.Description = XmlLoader.ReadAttrValue(headerNode, "description"); //layoutObj.Title = title; layoutObj.Description = desc; layoutObj.Header = new FanLayoutHeader(); layoutObj.Header.Style = Enums.FanLayoutHeaderStyleEnum.RIBBON; layoutObj.Header.ShowApplicationButton = XmlLoader.ReadAttrBoolValue(headerNode, "showApplicationButton"); //解析Ribbon Page部分 ParseNodeRibbonPages(headerNode); } else if (style == "toolbar") { layoutObj = new FanLayoutToolbar(); layoutObj.Description = XmlLoader.ReadAttrValue(headerNode, "description"); layoutObj.Header = new FanLayoutHeader(); layoutObj.Header.Style = Enums.FanLayoutHeaderStyleEnum.TOOLBAR; //layoutObj.Skin = FanLayoutSkinEnumHelper.Parse(skin); } }
private void ParseNodeBody(XmlNode node) { XmlNode bodyNode = XmlLoader.GetFirstChildNodeByName(node, "body"); if (bodyNode == null) { return; } string style = XmlLoader.ReadAttrValue(bodyNode, "style"); if (style == "dock") { layoutObj.Body = new FanLayoutDock(); layoutObj.Body.Style = FanLayoutBodyStyleEnum.DOCK; ParseNodeBodyPanel(bodyNode, layoutObj.Body); //ParseNodeBodyDocumentContainer(bodyNode, layoutObj.Body); } else if (style == "fixed") { layoutObj.Body = new FanLayoutFixed(); layoutObj.Body.Style = FanLayoutBodyStyleEnum.FIXED; } else { layoutObj.Body = new FanLayoutDefault(); layoutObj.Body.Style = FanLayoutBodyStyleEnum.DEFAULT; } }
/// <summary> /// 解析Ribbon Page部分 /// </summary> /// <param name="node"></param> private void ParseNodeRibbonPages(XmlNode node) { XmlNode pagesNode = XmlLoader.GetFirstChildNodeByName(node, "pages"); if (pagesNode == null) { return; } ParseNodeRibbonPage(pagesNode); }
/// <summary> /// 解析布局 /// </summary> /// <param name="node"></param> private void ParseNodeLayout(XmlNode node) { XmlNode layoutNode = XmlLoader.GetFirstChildNodeByName(node, "layout"); if (layoutNode == null) { return; } //string skin = XmlLoader.ReadAttrValue(layoutNode, "skin"); //title = XmlLoader.ReadAttrValue(layoutNode, "title"); desc = XmlLoader.ReadAttrValue(layoutNode, "description"); //解析Ribbon部分 ParseNodeHeader(layoutNode); //解析主体Body部分 ParseNodeBody(layoutNode); }
//private void ParseNodeUiView(XmlNode node, ref FanLayoutUiView uiView) //{ // XmlNode uiViewNode = XmlLoader.GetFirstChildNodeByName(node, "uiView"); // if (uiViewNode != null) // { // uiView = new FanLayoutUiView(); // uiView.Title = XmlLoader.ReadAttrValue(uiViewNode, "title"); // uiView.Name = XmlLoader.ReadAttrValue(uiViewNode, "name"); // uiView.Type = FanLayoutUiViewTypeEnumHelper.Parse(XmlLoader.ReadAttrValue(uiViewNode, "type")); // uiView.Assembly = XmlLoader.ReadAttrValue(uiViewNode, "assembly"); // uiView.AssemblyType = XmlLoader.ReadAttrValue(uiViewNode, "assembly-type"); // } // else // { // uiView = null; // } //} private void ParseNodeBodyDocumentContainer(XmlNode node, FanLayoutBody layoutBody) { XmlNode documentContainerNode = XmlLoader.GetFirstChildNodeByName(node, "documentContainer"); if (documentContainerNode == null) { return; } string title = XmlLoader.ReadAttrValue(documentContainerNode, "title"); string name = XmlLoader.ReadAttrValue(documentContainerNode, "name"); if (layoutBody is FanLayoutDock) { FanLayoutDock bodyDock = (FanLayoutDock)layoutBody; bodyDock.DocumentContainer = new FanLayoutDocumentContainer(); bodyDock.DocumentContainer.Title = title; bodyDock.DocumentContainer.Name = name; ParseNodeBodyTabView(documentContainerNode, bodyDock.DocumentContainer.TabViews); } }