Example #1
0
        public NewHomePageForm(FolderXmlElement parentEle, PageType pageType)
        {
            InitializeComponent();

            this.Text = "新建索引页面";
            // 初始化树:只加入频道
            _parentEle             = parentEle;
            m_tree                 = new MyTreeView();
            m_tree.TreeMode        = TreeMode.SelectTmplt;
            m_tree.SelectTmpltType = pageType;
            m_tree.LoadTreeData();

            m_tree.HideSelection = false;

            m_tree.Dock = DockStyle.Fill;
            TreePanel.Controls.Add(m_tree);
            if (parentEle == null)
            {
                parentEle = (FolderXmlElement)((ElementNode)m_tree.SelectTreeRootChanNode).Element;
            }

            NameTextBox.Text    = XmlUtilService.CreateIncreasePageTitle(parentEle, PageType.Home);
            OKBtn.Enabled       = false;
            m_tree.AfterSelect += new TreeViewEventHandler(m_tree_AfterSelect);
        }
Example #2
0
        /// <summary>
        /// 实现执行函数
        /// </summary>
        override public void Execute()
        {
            if (NewSnipData == null)
            {
                return;
            }
            TmpltDesignerPanel tDpanel = dPanel as TmpltDesignerPanel;

            tDpanel.SaveRects();
            foreach (Rect rect in PastedSnipRects)
            {
                rect.SnipData = new SnipData(NewSnipData);
                SnipXmlElement newEle = (SnipXmlElement)Doc.ParseElement(rect.SnipData.SnipElementText);
                if (Doc.HasContentSnip && newEle.SnipType == PageSnipType.Content)
                {
                    MessageService.Show("${res:tmpltDesign.tmpltDrawPanel.message.hasContentSnip}");
                    return;
                }
                SnipXmlElement ele = Doc.GetSnipElementById(rect.SnipID);
                ele.SelectSingleNode("parts").RemoveAll();
                ele.SetAttribute("hasSnip", newEle.GetAttribute("hasSnip"));
                ele.SetAttribute("type", newEle.GetAttribute("type"));

                XmlNodeList nodes = newEle.SelectSingleNode("parts").SelectNodes("//part");
                foreach (XmlNode partNode in nodes)
                {
                    (partNode as XmlElement).SetAttribute("partId", XmlUtilService.CreateIncreaseId());
                    ele.SelectSingleNode("parts").AppendChild(partNode);
                }
                rect.HasSnip = true;
            }
            dPanel.Modified = true;
        }
Example #3
0
        /// <summary>
        /// 新建文件夹
        /// </summary>
        /// <param name="m_tree"></param>
        internal void NewFolder()
        {
            string                title      = XmlUtilService.CreateIncreaseFolderTitle(((BaseFolderElementNode)CurrentNode).Element as FolderXmlElement);
            SdsiteXmlDocument     doc        = Service.Sdsite.CurrentDocument;
            BaseFolderElementNode parentNode = (BaseFolderElementNode)CurrentNode;

            doc.CreateFolder(parentNode.Element.Id, title);
        }
Example #4
0
        /// <summary>
        /// 新增频道
        /// </summary>
        /// <param name="m_tree"></param>
        public void NewChannel()
        {
            string title = XmlUtilService.CreateIncreaseChannelTitle(((BaseFolderElementNode)CurrentNode).Element as FolderXmlElement);

            SdsiteXmlDocument     doc        = Service.Sdsite.CurrentDocument;
            BaseFolderElementNode parentNode = (BaseFolderElementNode)this.CurrentNode;

            doc.CreateChannel(parentNode.Element.Id, title);
        }
Example #5
0
        void m_tree_AfterSelect(object sender, TreeViewEventArgs e)
        {
            BaseTreeNode myNode = e.Node as BaseTreeNode;

            if (myNode != null && (myNode.NodeType == TreeNodeType.TmpltFolder || myNode.NodeType == TreeNodeType.TmpltRootFolder))
            {
                OKBtn.Enabled    = true;
                nameTextBox.Text = XmlUtilService.CreateIncreaseTmpltTitle(((ElementNode)m_tree.CurrentNode).Element as FolderXmlElement, TranTmpltType);
            }
            else
            {
                OKBtn.Enabled = false;
            }
        }
Example #6
0
        public NewPageForm(FolderXmlElement parentEle, PageType pageType)
        {
            PageType = pageType;

            InitializeComponent();
            Label label1 = new Label();

            label1.AutoSize = true;
            label1.Location = new Point(24, 6);
            label1.Name     = "label1";
            label1.Size     = new System.Drawing.Size(41, 12);
            label1.TabIndex = 0;

            panel3.Controls.Add(label1);

            // 初始化树:只加入频道
            _parentEle             = parentEle;
            m_tree                 = new MyTreeView();
            m_tree.MultiSelect     = true;
            m_tree.TreeMode        = TreeMode.SelectTmplt;
            m_tree.SelectTmpltType = PageType;
            m_tree.LoadTreeData();

            m_tree.HideSelection = false;

            if (parentEle != null)
            {
                TreeNode parentNode = GetFirstTmpltNode();
                if (parentNode != null && parentNode.Nodes.Count > 0)
                {
                    m_tree.CurrentNode = (BaseTreeNode)parentNode.Nodes[0];
                }
            }
            m_tree.Dock = DockStyle.Fill;
            m_tree.ExpandAll();
            TreePanel.Controls.Add(m_tree);
            label1.Text = "新建一个页面,请选择一个将要关联的模板!!";
            if (parentEle == null)
            {
                parentEle = (FolderXmlElement)((ElementNode)m_tree.SelectTreeRootChanNode).Element;
            }

            NameTextBox.Text             = XmlUtilService.CreateIncreasePageTitle(parentEle, pageType);
            OKBtn.Enabled                = false;
            m_tree.SelectedNodesChanged += new EventHandler(m_tree_SelectedNodesChanged);
        }
Example #7
0
        /// <summary>
        /// 保存矩形
        /// </summary>
        public void SaveRects()
        {
            float x = DrawPanel.CurZoom;

            DrawPanel.CurZoom = 1;
            Dictionary <string, XmlElement> _tempSnips = TmpltDoc.GetAllSnipElementClone();
            XmlElement docEle = (XmlElement)TmpltDoc.DocumentElement.SelectSingleNode("rects");

            docEle.RemoveAll();

            RectLayer boundaryRect = new RectLayer(0, 0, DrawPanel.Width, DrawPanel.Height, TmpltDoc.TmpltCss);

            LineToRect(boundaryRect);


            AddRectToXml(docEle, new RectTreeNode(boundaryRect, null));

            XmlNodeList snipNodes = docEle.SelectNodes(@"//snip");

            foreach (XmlNode snipNode in snipNodes)
            {
                if (snipNode.NodeType == XmlNodeType.Element)
                {
                    SnipXmlElement snipEle = (SnipXmlElement)snipNode;
                    string         id      = snipEle.Id;
                    if (_tempSnips.ContainsKey(id))
                    {
                        CssSection tempCss = CssSection.Parse(snipEle.GetAttribute("css"));
                        XmlUtilService.CopyXmlElement(_tempSnips[id], snipEle);
                        snipEle.Width  = tempCss.Properties["width"];
                        snipEle.Height = tempCss.Properties["height"];
                        snipEle.Css    = tempCss.ToString();
                    }
                }
            }
            DrawPanel.CurZoom = x;

            TmpltDoc.Reseted = true;
        }
Example #8
0
        /// <summary>
        /// 新建文件夹
        /// </summary>
        void NewResourcesFolder()
        {
            SdsiteXmlDocument doc             = Service.Sdsite.CurrentDocument;
            FolderXmlElement  parentFolderEle = filePaths[pathNum] as FolderXmlElement;
            FolderXmlElement  newFolderEle    = doc.CreateFolder(parentFolderEle, XmlUtilService.CreateIncreaseFolderTitle(parentFolderEle));

            Directory.CreateDirectory(newFolderEle.AbsoluteFilePath);

            MyFolderItem mylvi = new MyFolderItem(newFolderEle);

            listView.Items.Add(mylvi);

            KeyValuePair <string, Image> keyImg = GetImageAndKey(mylvi.Element.AbsoluteFilePath);

            if (!listView.SmallImageList.Images.ContainsKey(keyImg.Key))
            {
                listView.SmallImageList.Images.Add(keyImg.Key, keyImg.Value);
            }
            mylvi.ImageKey = keyImg.Key;

            mylvi.Selected = true;
            mylvi.BeginEdit();
        }
Example #9
0
        /// <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();
        }
Example #10
0
        /// <summary>
        /// 新建主页
        /// </summary>
        /// <param name="m_tree"></param>
        internal void NewHome()
        {
            SdsiteXmlDocument             doc        = Service.Sdsite.CurrentDocument;
            BaseFolderElementNode         parentNode = (BaseFolderElementNode)CurrentNode;
            KeyValuePair <string, string> myPair     = doc.CreateHome(parentNode.Element, XmlUtilService.CreateIncreasePageTitle(((BaseFolderElementNode)CurrentNode).Element as FolderXmlElement, PageType.Home));

            Service.Workbench.OpenWorkDocument(WorkDocumentType.TmpltDesigner, myPair.Key);
        }
Example #11
0
        /// <summary>
        /// 简单工厂,创建不同SnipPartType的Part
        /// </summary>
        static public SnipPagePart Create(SnipPageDesigner designer, SnipPartType type)
        {
            SnipPagePart part;

            switch (type)
            {
            case SnipPartType.None:
            case SnipPartType.Static:
            {
                part       = new StaticPart(designer);
                part.Title = StringParserService.Parse("${res:snipDesign.text.staticPartText}");
                break;
            }

            case SnipPartType.Box:
            {
                part       = new SnipPagePart(designer);
                part.Title = StringParserService.Parse("${res:snipDesign.text.box}");
                break;
            }

            case SnipPartType.Navigation:
            {
                part       = new NavigationPart(designer);
                part.Title = StringParserService.Parse("${res:snipDesign.text.navigationPartText}");
                break;
            }

            case SnipPartType.List:
            {
                part       = ListPart.Create(designer);
                part.Title = StringParserService.Parse("${res:snipDesign.text.listPartText}");
                break;
            }

            case SnipPartType.ListBox:
            {
                part       = ListBoxPart.Create(designer);
                part.Title = StringParserService.Parse("${res:snipDesign.text.listBoxPartText}");
                break;
            }

            case SnipPartType.Attribute:
            {
                part       = AttributePart.Create(designer);
                part.Title = StringParserService.Parse("${res:snipDesign.text.attributePartText}");
                break;
            }

            case SnipPartType.Path:
            {
                part       = new PathPart(designer);
                part.Title = StringParserService.Parse("${res:snipDesign.text.pathPartText}");
                break;
            }

            default:
                throw new Exception("开发期异常。未知的SnipPartType:" + type);
            }
            part.PartID   = XmlUtilService.CreateIncreaseId();
            part.PartType = type;
            return(part);
        }