/// <summary> /// 初始化模板的信息 /// </summary> private void InitTmpltInfo() { XmlElement ele = TmpltDoc.DocumentElement; if (Utility.Convert.StringToBool(ele.GetAttribute("hasBackImg"))) { int w = Convert.ToInt32(TmpltDoc.Width); int h = Convert.ToInt32(TmpltDoc.Height); Bitmap _backBmp = new Bitmap(w, h); AnyXmlElement imgEle = (AnyXmlElement)ele.SelectSingleNode("backImage"); _drawPanelBack = Utility.Convert.Base64ToImage(imgEle.CDataValue); Graphics g = Graphics.FromImage(_backBmp); int _w = _drawPanelBack.Width <= w ? _drawPanelBack.Width : w; int _h = _drawPanelBack.Height <= h ? _drawPanelBack.Height : h; g.DrawImageUnscaledAndClipped(_drawPanelBack, new Rectangle(0, 0, _w, _h)); Image _backImg = _backBmp; Graphics gImg = Graphics.FromImage(_backImg); gImg.FillRectangle(new SolidBrush(Color.FromArgb(70, Color.White)), new Rectangle(0, 0, w, h)); TmpltDesign = new TmpltDesignerPanel(w, h, _backImg, TmpltDoc); } else { TmpltDesign = new TmpltDesignerPanel( Utility.Convert.PxStringToInt(ele.GetAttribute("width")), Utility.Convert.PxStringToInt(ele.GetAttribute("height")), null, TmpltDoc); } TmpltDesign.DrawPanel.ChangDrawTypeEvent += new Jeelu.SimplusD.Client.Win.DrawPanel.ChangDrawTypeEventHandler(DrawPanel_ChangDrawTypeEvent); TmpltDesign.DrawPanel.SelectingRectEvent += new EventHandler(DrawPanel_SelectingRectEvent); }
public override string GetResourceAbsolutePath(string picId) { SdsiteXmlDocument sdDoc = Service.Sdsite.CurrentDocument; AnyXmlElement anyEle = sdDoc.GetElementById(picId); FileSimpleExXmlElement fileEle = anyEle as FileSimpleExXmlElement; return(fileEle.AbsoluteFilePath); }
/// <summary> /// /// </summary> public TmpltBaseTreeNode(AnyXmlElement element) { Element = element; /// 调用Jeelu.ResourcesReader管理控件所使用的资源 ResourcesReader.SetObjectResourcesHelper(this); this.SetImageList(); this._imageList.ColorDepth = ColorDepth.Depth32Bit; this.SetImage(); }
/// <summary> /// 判断SDsite上是否存在该节点,避免发生错误请求 /// </summary> static public bool IsContentElement(string EleId) { AnyXmlElement xmlEle = ToHtmlSdsiteService.SdsiteXmlDocument.GetElementById(EleId); if (xmlEle == null) { return(false); } else { return(true); } }
/// <summary> /// 获取当前矩形的底面图片 /// </summary> /// <param name="snipRect"></param> /// <returns></returns> private string GetCurBackImg(Rect rect) { Bitmap bmp = new Bitmap(rect.Width, rect.Height); Graphics g = Graphics.FromImage(bmp); Image _drawPanelBack = BackImage; XmlElement ele = TmpltDoc.DocumentElement; if (Utility.Convert.StringToBool(ele.GetAttribute("hasBackImg"))) { AnyXmlElement imgEle = (AnyXmlElement)ele.SelectSingleNode("backImage"); _drawPanelBack = Utility.Convert.Base64ToImage(imgEle.CDataValue); } g.DrawImage(_drawPanelBack, 0, 0, new Rectangle(rect.X, rect.Y, rect.Width, rect.Height), GraphicsUnit.Pixel); return(@"url(${srs_" + Service.Sdsite.CurrentDocument.Resources.ImageSaveAsResources(bmp, rect.SnipID) + "})"); }
private void CreatTreeNode(AnyXmlElement channelEle, TreeNode treeNode) { foreach (AnyXmlElement simEle in channelEle.ChildNodes) { if (simEle.NodeType != XmlNodeType.Element) { break; } TreeNode subTreeNode = null; if (simEle.Name == "channel") //一定要是频道 { PageSimpleExXmlElement currEle = (PageSimpleExXmlElement)simEle; // ChannelSimpleExXmlElement currEle = (ChannelSimpleExXmlElement)simEle; if (currEle.IsDeleted) { break; } subTreeNode = new TreeNode(); int m = (int)currEle.PageType; // int m = (int)currEle.ChannelType; int n = (int)this._pageType; bool typeBool = (m == n); if (!typeBool) { subTreeNode.ForeColor = System.Drawing.Color.Silver; subTreeNode.Tag = false; } subTreeNode.Name = currEle.Id; subTreeNode.Text = currEle.Title; subTreeNode.Tag = true; if (currEle.HasChildNodes) { CreatTreeNode(currEle, subTreeNode);//递归 } } if (subTreeNode != null) { treeNode.Nodes.Add(subTreeNode); } } }
public virtual void AddElementNode(AnyXmlElement Element, TmpltTreeNodeType NodeFilterType) { TmpltBaseTreeNode tmpltBase = null; if (Element is SnipXmlElement) { tmpltBase = new SnipElementNode(Element as SnipXmlElement); if ((NodeFilterType != TmpltTreeNodeType.none) && NodeFilterType != tmpltBase.CurrentNodeType) { return; } } else if (Element is SnipPartXmlElement) { tmpltBase = new PartElementNode(Element as SnipPartXmlElement); } AddChildNode(tmpltBase); tmpltBase.LoadData(NodeFilterType); }
private void SetTmpltTree(AnyXmlElement anyXmlElement, TreeNode treenode) { ToHtmlXmlElement ele = (ToHtmlXmlElement)anyXmlElement; i++; TreeNode newNode = new TreeNode(ele.LocalName); treenode.Nodes.Add(newNode); if (ele.SaveXhtml(this._htmlHelper)) { SnipXmlElement snip = (SnipXmlElement)anyXmlElement; StreamReader sr = new StreamReader(snip.HtmlFile); string content = sr.ReadToEnd().Replace(">", ">\r\n"); sr.Close(); sr.Dispose(); newNode.ToolTipText = content; } else { newNode.ToolTipText = "Don't must be creat file!"; } foreach (XmlNode node in ele.ChildNodes) { if (node.NodeType != XmlNodeType.Element) { continue; } if (!(node is ToHtmlXmlElement)) { continue; } SetTmpltTree((AnyXmlElement)node, newNode); } }
/// <summary> /// 重新加载树上单个节点数据 /// </summary> /// <param name="treeNode"></param> /// <param name="anyXmlElement"></param> private void RepeatLoadSingleNodeData(TmpltBaseTreeNode treeNode, AnyXmlElement anyXmlElement) {//模板和页面片的单个节点刷新 即保存时调用,保存是才通知模板树 }