public virtual void SaveLayout(EngineNS.IO.XmlNode node, EngineNS.IO.XmlHolder holder) { if (this.WindowState == WindowState.Minimized) { return; } var screen = System.Windows.Forms.Screen.FromHandle(new System.Windows.Interop.WindowInteropHelper(this).Handle); node.AddAttrib("Type", this.GetType().Assembly.FullName + "|" + this.GetType().FullName); node.AddAttrib("WinState", this.WindowState.ToString()); node.AddAttrib("LeftRate", ((float)(this.Left - screen.WorkingArea.Left) / (float)screen.WorkingArea.Width).ToString()); node.AddAttrib("TopRate", ((float)(this.Top - screen.WorkingArea.Top) / (float)screen.WorkingArea.Height).ToString()); node.AddAttrib("WidthRate", ((float)this.Width / (float)screen.WorkingArea.Width).ToString()); node.AddAttrib("HeightRate", ((float)this.Height / (float)screen.WorkingArea.Height).ToString()); for (int i = 0; i < System.Windows.Forms.Screen.AllScreens.Length; ++i) { if (screen.Equals(System.Windows.Forms.Screen.AllScreens[i])) { node.AddAttrib("ScreenIndex", i.ToString()); break; } } var contentNode = node.AddNode("WinContent", "", holder); SaveElement(this.Content as FrameworkElement, contentNode, holder); }
private EngineNS.IO.XmlNode GetPlatform(string name, EngineNS.IO.XmlHolder xml) { var node = xml.RootNode.FindNode("Platform"); if (node == null) { return(null); } return(node.FindNode(name)); }
public override void Save(EngineNS.IO.XmlNode xmlNode, bool newGuid, EngineNS.IO.XmlHolder holder) { RefreshValueFromTemplateClass2PropertyInfoList(); if (mCustomPropertyInfos.Count > 0) { var node = xmlNode.AddNode("DefaultParamValue", "", holder); foreach (var proInfo in mCustomPropertyInfos) { if (!CodeGenerateSystem.Base.PropertyClassGenerator.IsPropertyInfoValid(proInfo)) { continue; } var cNode = node.AddNode(proInfo.PropertyName, "", holder); CSUtility.Support.IConfigurator.SaveValue(cNode, proInfo.PropertyType, proInfo.CurrentValue, holder); } } base.Save(xmlNode, newGuid, holder); }
public void SaveElement(EngineNS.IO.XmlNode node, EngineNS.IO.XmlHolder holder) { if (PluginObject != null) { var uiElement = PluginObject as System.Windows.FrameworkElement; if (uiElement == null) { return; } node.AddAttrib("Type", uiElement.GetType().Assembly.FullName + "|" + uiElement.GetType().FullName); node.AddAttrib("GridRow", Grid.GetRow(uiElement).ToString()); node.AddAttrib("GridColumn", Grid.GetColumn(uiElement).ToString()); node.AddAttrib("HorizontalAlignment", uiElement.HorizontalAlignment.ToString()); node.AddAttrib("VerticalAlignment", uiElement.VerticalAlignment.ToString()); var atts = PluginObject.GetType().GetCustomAttributes(typeof(System.Runtime.InteropServices.GuidAttribute), false); if (atts.Length > 0) { var guidAtt = (System.Runtime.InteropServices.GuidAttribute)atts[0]; node.AddAttrib("Id", guidAtt.Value); } } }
public void SaveElement(EngineNS.IO.XmlNode node, EngineNS.IO.XmlHolder holder) { }
public override void Save(EngineNS.IO.XmlNode xmlNode, bool newGuid, EngineNS.IO.XmlHolder holder) { StrParams = UnionNodeNameText; var listParam = new List <string>(); var listResult = new List <string>(); var listIn = new List <string>(); var listOut = new List <string>(); foreach (var childNode in GetChildNodes()) { foreach (var linkObj in childNode.LinkObjList.Values) { var param = childNode.GetLinkObjParamInfo(linkObj); if (childNode is MethodInvokeParameterUnionControl) { listParam.Add(param); } else if (childNode is MethodInvokeResultUnionControl) { listResult.Add(param); } else if (childNode is MethodInUnionControl) { listIn.Add(param); } else if (childNode is MethodOutUnionControl) { listOut.Add(param); } else { // 不可能 } } } StrParams += ";"; foreach (var str in listParam) { StrParams += str + "/"; } // 删除最后一个"/" if (listParam.Count != 0) { StrParams = StrParams.Remove(StrParams.Length - 1); } StrParams += "^"; foreach (var str in listResult) { StrParams += str + "/"; } // 删除最后一个"/" if (listResult.Count != 0) { StrParams = StrParams.Remove(StrParams.Length - 1); } StrParams += "^"; foreach (var str in listIn) { StrParams += str + "/"; } // 删除最后一个"/" if (listIn.Count != 0) { StrParams = StrParams.Remove(StrParams.Length - 1); } StrParams += "^"; foreach (var str in listOut) { StrParams += str + "/"; } // 删除最后一个"/" if (listOut.Count != 0) { StrParams = StrParams.Remove(StrParams.Length - 1); } var combinationNodes = xmlNode.AddNode("combinationNodes", "", holder); foreach (var node in PackageNodeList) { EngineNS.IO.XmlNode childXml = combinationNodes.AddNode(node.GetType().Name, node.GetType().FullName, holder); node.Save(childXml, newGuid, holder); node.SaveLinks(childXml, false, holder); } base.Save(xmlNode, newGuid, holder); }
protected virtual void SaveElement(FrameworkElement element, EngineNS.IO.XmlNode node, EngineNS.IO.XmlHolder holder) { if (element == null) { return; } node.AddAttrib("Type", element.GetType().Assembly.FullName + "|" + element.GetType().FullName); node.AddAttrib("GridRow", Grid.GetRow(element).ToString()); node.AddAttrib("GridColumn", Grid.GetColumn(element).ToString()); node.AddAttrib("HorizontalAlignment", element.HorizontalAlignment.ToString()); node.AddAttrib("VerticalAlignment", element.VerticalAlignment.ToString()); if (element is Grid) { var grid = element as Grid; foreach (var column in grid.ColumnDefinitions) { var columnDefNode = node.AddNode("ColumnDefinition", "", holder); columnDefNode.AddAttrib("GridUnitType", column.Width.GridUnitType.ToString()); columnDefNode.AddAttrib("Value", column.Width.Value.ToString()); } foreach (var row in grid.RowDefinitions) { var rowDefNode = node.AddNode("RowDefinition", "", holder); rowDefNode.AddAttrib("GridUnitType", row.Height.GridUnitType.ToString()); rowDefNode.AddAttrib("Value", row.Height.Value.ToString()); } foreach (FrameworkElement child in grid.Children) { var elementNode = node.AddNode("Element", "", holder); SaveElement(child, elementNode, holder); } } else if (element is DockAbleContainerControl) { var dacCtrl = element as DockAbleContainerControl; var elementNode = node.AddNode("Element", "", holder); SaveElement(dacCtrl.Content as FrameworkElement, elementNode, holder); } else if (element is DockAbleTabControl) { var dockAbleTabControl = element as DockAbleTabControl; // node.AddAttrib("SelectedIndex", dockAbleTabControl.SelectedIndex.ToString()); foreach (FrameworkElement item in dockAbleTabControl.Items) { var elementNode = node.AddNode("Element", "", holder); SaveElement(item, elementNode, holder); } } else if (element is DockAbleTabItem) { var datItem = element as DockAbleTabItem; node.AddAttrib("Header", datItem.Header.ToString()); var elementNode = node.AddNode("Element", "", holder); SaveElement(datItem.Content as FrameworkElement, elementNode, holder); } else if (element is IDockAbleControl) { var daCtrl = element as IDockAbleControl; node.AddAttrib("KeyValue", daCtrl.KeyValue); var elementNode = node.AddNode("Element", "", holder); daCtrl.SaveElement(elementNode, holder); } else if (element is GridSplitter) { //var gsp = element as GridSplitter; //var color = ((SolidColorBrush)(gsp.Background)).Color; //var str = color.A + "|" + color.R + "|" + color.G + "|" + color.B; //node.AddAttrib("Background", str); } }