/// <summary> /// 新建模板 /// </summary> /// <param name="m_tree"></param> /// <param name="myType"></param> public void NewTmplt(FolderXmlElement parentEle, TmpltType myType) { //获得父频道节点,父模板文件夹节点 //((BaseFolderElementNode)CurrentNode).Element, NewTmpltSetupForm tmpltForm = new NewTmpltSetupForm(parentEle, myType); if (tmpltForm.ShowDialog() == DialogResult.OK) { TmpltSimpleExXmlElement tmpltEle = Service.Sdsite.CurrentDocument.CreateTmplt(parentEle, myType, tmpltForm.TmpltTitle, false, tmpltForm.TmpltWidth, tmpltForm.TmpltHeight, tmpltForm.BackImage); Service.Workbench.OpenWorkDocument(WorkDocumentType.TmpltDesigner, tmpltEle.Id); } }
/// <summary> /// 构造页面片 /// </summary> /// <param name="tmpltID">当前模板ID</param> /// <param name="rect">当前矩形(区域)</param> /// <param name="parentHasContentSnip">当前模板是否已有正文型页面片</param> public NewSnipSetupForm(XmlDocument doc, SnipRect rect, bool parentHasContentSnip) { InitializeComponent(); _doc = doc; TmpltType _type = (TmpltType)Enum.Parse(typeof(TmpltType), doc.DocumentElement.GetAttribute("type")); if (_type == TmpltType.Home) { groupBoxDoWhat.Visible = false; this.Height = 94; } _snipRect = rect; _parentHasContentSnip = parentHasContentSnip; _initSnipWidth = rect.Width.ToString() + "px"; Init(rect); }
protected override void LoadChildNodes() { foreach (var node in Element.ChildNodes) { if (node is TmpltSimpleExXmlElement) { TmpltNode tnode = (TmpltNode)AddElementNode((SimpleExIndexXmlElement)node); if (tnode == null) { continue; } ///如果树是选择模板模式,则设置其Enabled状态 if (TreeView.TreeMode == TreeMode.SelectTmplt) { TmpltType tmpltType = (TmpltType)(int)TreeView.SelectTmpltType; ///TmpltType.None的时候,可以选择所有模板,创建页面的类型根据选择的模板类型决定 if (tmpltType != TmpltType.None) { if (tnode.Element.TmpltType == tmpltType) { tnode.Enabled = true; } else { tnode.Enabled = false; } } } } else if (node is FolderXmlElement) { AddElementNode((SimpleExIndexXmlElement)node); } } }
/// <summary> /// 构造函数 /// </summary> public NewTmpltSetupForm(FolderXmlElement parentFolder, TmpltType type) { this._parentFolder = parentFolder; InitializeComponent(); PenSize = 1; PenColor = Color.Black; TmpltType = type; _imageScale = (float)panelGraghics.Width / (float)panelGraghics.Height; if (_backImage != null) { textBoxWidth.Text = _backImage.Width.ToString(); textBoxHeight.Text = _backImage.Height.ToString(); } _defaultHeight = panelGraghics.Height; _defaultWidth = panelGraghics.Width; _pen = new Pen(PenColor, PenSize); _pen.DashStyle = System.Drawing.Drawing2D.DashStyle.Dot; textBoxTitle.Text = XmlUtilService.CreateIncreaseTmpltTitle(_parentFolder, type); string _newTmpltIsUseImg = Service.DesignData.GetValue("NewTmpltIsUseImg"); if (_newTmpltIsUseImg == null) { checkBoxChooseImage.Checked = true; Service.DesignData.SetValue("NewTmpltIsUseImg", true.ToString()); } else { checkBoxChooseImage.Checked = Utility.Convert.StringToBool(_newTmpltIsUseImg); } InitEvent(); Resetimage(); }
static private string CreateIncreaseTitleCore(FolderXmlElement parentFolder, DataType dataType, TmpltType tmpltType, PageType pageType) { ///取默认Title string defaultTitle = ""; switch (dataType) { case DataType.Channel: defaultTitle = ResourceService.GetResourceText("Tree.MyTreeMenu.newChannel"); break; case DataType.Tmplt: { switch (tmpltType) { case TmpltType.General: defaultTitle = ResourceService.GetResourceText("Tree.MyTreeMenu.newTmplt"); break; case TmpltType.Product: defaultTitle = ResourceService.GetResourceText("Tree.MyTreeMenu.productTmplt"); break; case TmpltType.Project: defaultTitle = ResourceService.GetResourceText("Tree.MyTreeMenu.projectTmplt"); break; case TmpltType.InviteBidding: defaultTitle = ResourceService.GetResourceText("Tree.MyTreeMenu.inviteBiddingTmplt"); break; case TmpltType.Knowledge: defaultTitle = ResourceService.GetResourceText("Tree.MyTreeMenu.knowledgeTmplt"); break; case TmpltType.Hr: defaultTitle = ResourceService.GetResourceText("Tree.MyTreeMenu.HRTmplt"); break; case TmpltType.Home: defaultTitle = ResourceService.GetResourceText("Tree.MyTreeMenu.homeTmplt"); break; default: Debug.Fail("未处理的TmpltType:" + tmpltType); break; } break; } case DataType.Page: { switch (pageType) { case PageType.None: defaultTitle = "页面"; break; case PageType.General: defaultTitle = ResourceService.GetResourceText("Tree.MyTreeMenu.newPage"); break; case PageType.Product: defaultTitle = ResourceService.GetResourceText("Tree.MyTreeMenu.productPage"); break; case PageType.Project: defaultTitle = ResourceService.GetResourceText("Tree.MyTreeMenu.projectPage"); break; case PageType.InviteBidding: defaultTitle = ResourceService.GetResourceText("Tree.MyTreeMenu.inviteBiddingPage"); break; case PageType.Knowledge: defaultTitle = ResourceService.GetResourceText("Tree.MyTreeMenu.knowledgePage"); break; case PageType.Hr: defaultTitle = ResourceService.GetResourceText("Tree.MyTreeMenu.HRPage"); break; case PageType.Home: defaultTitle = ResourceService.GetResourceText("Tree.MyTreeMenu.homePage"); break; default: Debug.Fail("未处理的PageType:" + pageType); break; } break; } case DataType.Folder: defaultTitle = ResourceService.GetResourceText("Tree.MyTreeMenu.addFolder"); break; default: Debug.Fail("未知的DataType:" + dataType); break; } ///遍历以生成一个不重名的Title for (int i = 1; i < int.MaxValue; i++) { string newTitle = defaultTitle + i; if (!ExistsSameTitle(parentFolder, dataType, newTitle)) { return(newTitle); } } return(defaultTitle + Utility.Guid.NewGuid()); }
static public string CreateIncreaseTmpltTitle(FolderXmlElement parentFolder, TmpltType tmpltType) { return(CreateIncreaseTitleCore(parentFolder, DataType.Tmplt, tmpltType, PageType.None)); }