コード例 #1
0
        /// <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);
        }
コード例 #2
0
        public override string GetResourceAbsolutePath(string picId)
        {
            SdsiteXmlDocument      sdDoc   = Service.Sdsite.CurrentDocument;
            AnyXmlElement          anyEle  = sdDoc.GetElementById(picId);
            FileSimpleExXmlElement fileEle = anyEle as FileSimpleExXmlElement;

            return(fileEle.AbsoluteFilePath);
        }
コード例 #3
0
        /// <summary>
        ///
        /// </summary>
        public TmpltBaseTreeNode(AnyXmlElement element)
        {
            Element = element;

            /// 调用Jeelu.ResourcesReader管理控件所使用的资源
            ResourcesReader.SetObjectResourcesHelper(this);
            this.SetImageList();
            this._imageList.ColorDepth = ColorDepth.Depth32Bit;
            this.SetImage();
        }
コード例 #4
0
        /// <summary>
        /// 判断SDsite上是否存在该节点,避免发生错误请求
        /// </summary>
        static public bool IsContentElement(string EleId)
        {
            AnyXmlElement xmlEle = ToHtmlSdsiteService.SdsiteXmlDocument.GetElementById(EleId);

            if (xmlEle == null)
            {
                return(false);
            }
            else
            {
                return(true);
            }
        }
コード例 #5
0
        /// <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) + "})");
        }
コード例 #6
0
        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);
                }
            }
        }
コード例 #7
0
        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);
        }
コード例 #8
0
ファイル: Demo.cs プロジェクト: xknife-erian/nknife.jeelusrc
        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);
            }
        }
コード例 #9
0
 /// <summary>
 /// 重新加载树上单个节点数据
 /// </summary>
 /// <param name="treeNode"></param>
 /// <param name="anyXmlElement"></param>
 private void RepeatLoadSingleNodeData(TmpltBaseTreeNode treeNode, AnyXmlElement anyXmlElement)
 {//模板和页面片的单个节点刷新 即保存时调用,保存是才通知模板树
 }