コード例 #1
0
        void DesignWebBrowser_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
        {
            SdsiteXmlDocument sdDoc   = Service.Sdsite.CurrentDocument;
            PageXmlDocument   pageDoc = sdDoc.GetPageDocumentById(PageId);

            this.DesignWebBrowser.Document.Body.InnerHtml = pageDoc.PageText;
        }
コード例 #2
0
        /// <summary>
        /// 初始化树数据
        /// </summary>
        public void LoadTreeData()
        {
            this.BeginUpdate();

            ///只有右侧树才会加载_dicNodeIndexs
            if (TreeMode == TreeMode.General)
            {
                _dicNodeIndexs.Clear();
            }

            SdsiteXmlDocument sdsiteDoc = Service.Sdsite.CurrentDocument;

            ///添加TreeView的根节点:SiteManagerNode
            if (this.TreeMode == TreeMode.General)
            {
                SiteManagerNode = new SiteManagerNode(Path.GetDirectoryName(SdsiteFilePath));
                AddRootNodeToTree(SiteManagerNode);
                SiteManagerNode.LoadData();
                SiteManagerNode.Expand();

                this.ContextMenuStrip = TreeContextMenuStrip.CreateForTreeView(this);
            }
            else
            {
                SelectTreeRootChanNode = new RootChannelNode(Service.Sdsite.CurrentDocument.RootChannel);
                this.Nodes.Clear();
                this.Nodes.Add(SelectTreeRootChanNode);
                SelectTreeRootChanNode.LoadData();
            }
            this.EndUpdate();
        }
コード例 #3
0
        /// <summary>
        /// 重命名
        /// </summary>
        protected override void OnAfterLabelEdit(NodeLabelEditEventArgs e)
        {
            if (string.IsNullOrEmpty(e.Label))
            {
                e.CancelEdit = true;
                return;
            }

            e.Node.Text = e.Label.Replace(" ", "");
            SdsiteXmlDocument sdsiteDoc = Service.Sdsite.CurrentDocument;

            if (((ElementNode)e.Node).Element.CanNewFileName(e.Label))
            {
                sdsiteDoc.ChangeTitle(((ElementNode)e.Node).Element.Id, e.Label);
            }
            else
            {
                e.CancelEdit = true;
                MessageService.Show("文件名重复或不合法!", MessageBoxButtons.OK, MessageBoxIcon.Error);
                RenameNode();
                return;
            }

            base.OnAfterLabelEdit(e);
        }
コード例 #4
0
        private void OKBtn_Click(object sender, EventArgs e)
        {
            SdsiteXmlDocument doc = Service.Sdsite.CurrentDocument;

            ///不创建模板
            if (!newTmpltCheckBox.Checked)
            {
                if ((m_tree.CurrentNode is DataNode) && ((DataNode)m_tree.CurrentNode).NodeType == TreeNodeType.Tmplt)
                {
                    if (_parentEle == null)//如果传入的父元素为空,则父频道为网站根节点
                    {
                        _parentEle = ((ElementNode)m_tree.SelectTreeRootChanNode).Element as FolderXmlElement;
                    }

                    PageSimpleExXmlElement pageEle = doc.CreatePage(_parentEle, PageType.Home, NameTextBox.Text, ((TmpltNode)m_tree.CurrentNode).Element.Id);
                    NewPageId = pageEle.Id;
                }
                else
                {
                    MessageService.Show("请选择模板!");
                    return;
                }
            }
            ///创建页面同时创建模板
            else
            {
                KeyValuePair <string, string> keyvalue = doc.CreateHome(_parentEle, NameTextBox.Text);
                NewPageId = keyvalue.Value;
            }

            this.DialogResult = DialogResult.OK;
            Close();
        }
コード例 #5
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);
        }
コード例 #6
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);
        }
コード例 #7
0
        public void CutNode()
        {
            SdsiteXmlDocument doc = Service.Sdsite.CurrentDocument;

            if (CanInto(CNode, CurrentNode))
            {
                if (CNode is ElementNode)
                {
                    doc.CutNode(((ElementNode)CNode).Element.Id, ((ElementNode)CurrentNode).Element.Id);
                }
            }
        }
コード例 #8
0
        private void SdsiteXmlDocument_SdsiteOpened(object sender, EventArgs e)
        {
            ///右侧树才需要监听这些事件
            //{
            SdsiteXmlDocument sdsite = Service.Sdsite.CurrentDocument;

            sdsite.ElementAdded        += new EventHandler <EventArgs <SimpleExIndexXmlElement> >(sdsite_ElementAdded);
            sdsite.ElementDeleted      += new EventHandler <EventArgs <SimpleExIndexXmlElement> >(sdsite_ElementDeleted);
            sdsite.ElementTitleChanged += new EventHandler <ChangeTitleEventArgs>(sdsite_ElementTitleChanged);
            sdsite.ElementMoved        += new EventHandler <EventArgs <SimpleExIndexXmlElement> >(sdsite_ElementMoved);
            //}
        }
コード例 #9
0
        /// <summary>
        /// 处理网站的主方法
        /// </summary>
        /// <param name="sdPath">.sdsite的文件夹路径如zha\zhangling\projectname</param>
        /// <param name="projName">.sdsite的名projName</param>
        public bool ExecuteSdsite(string partPath, string projName)
        {
            try
            {
                string sdPath = AnyFilePath.GetTempFolderAbsolutePath(partPath) + projName + ".sdsite";
                //打开网站
                SdsiteDocument = new SdsiteXmlDocument(sdPath);
                SdsiteDocument.Load();

                _dealwithFileOrFolder             = new DealWithFileOrFolder();
                _dealwithFileOrFolder.SdsitesPath = partPath;

                #region  add by zhangling on 2008年6月23日
                //得到项目的创建时间
                string   _createTime = SdsiteDocument.DocumentElement.GetAttribute("createTime");
                DateTime dt;
                if (DateTime.TryParse(_createTime, out dt))
                {
                    _projCreateTime = DateTime.Parse(_createTime);
                }
                _projCreateTime = dt;
                //得到项目的发布时间
                string   _pubTime = SdsiteDocument.DocumentElement.GetAttribute("pubTime");
                DateTime _publishDt;
                if (DateTime.TryParse(_pubTime, out _publishDt))
                {
                    _publishTime = DateTime.Parse(_pubTime);
                }
                _publishTime = _publishDt;
                #endregion

                FolderXmlElement channelRootEle = SdsiteDocument.RootChannel;

                //做相应处理
                SearchAndProcess(channelRootEle);

                ///移动.sdsite
                ///modified by zhangling on 2008年6月12日
                string sourceFilePath = AnyFilePath.GetTempFolderAbsolutePath(partPath) + projName + ".sdsite";
                string targetFilePath = AnyFilePath.GetSdsitesFolderAbsolutePath(partPath) + projName + ".sdsite";
                FileService.FileMove(sourceFilePath, targetFilePath);

                //删除时出错
                FolderService.FolderDelete(AnyFilePath.GetTempFolderAbsolutePath(partPath));

                return(true);
            }
            catch (Exception ex)
            {
                ExceptionService.WriteExceptionLog(ex);
                return(false);
            }
        }
コード例 #10
0
        /// <summary>
        /// 移出收藏夹
        /// </summary>
        /// <param name="addTreeNodeAdvs">待移出的节点</param>
        public void RemoveFromFavorite()
        {
            this.BeginUpdate();
            SdsiteXmlDocument doc          = Service.Sdsite.CurrentDocument;
            BaseTreeNode      favoriteNode = SiteManagerNode.FavoriteRootNode;//收藏夹根节点

            BaseTreeNode[] arrSelectedNode = this.SelectedNodes.ToArray();
            foreach (BaseTreeNode node in arrSelectedNode)
            {
                doc.RemoveFavorite(((ElementNode)node).Element.Id);
            }
            this.EndUpdate();
        }
コード例 #11
0
        void titleToolStripTextBox_Validated(object sender, EventArgs e)
        {
            SdsiteXmlDocument      doc = Service.Sdsite.CurrentDocument;
            PageSimpleExXmlElement ele = doc.GetPageElementById(_htmlDesigner.PageId);

            ele.Title = titleToolStripTextBox.Text;
            doc.Save();

            PageXmlDocument pageDoc = doc.GetPageDocumentById(_htmlDesigner.PageId);

            pageDoc.Title = titleToolStripTextBox.Text;
            pageDoc.Save();
        }
コード例 #12
0
        /// <summary>
        /// 加入收藏夹
        /// </summary>
        /// <param name="m_tree"></param>
        public void AddToFavorite()
        {
            this.BeginUpdate();
            SdsiteXmlDocument doc = Service.Sdsite.CurrentDocument;

            foreach (BaseTreeNode node in SelectedNodes)
            {
                if (!IsInFavorite(node))
                {
                    ElementNode dataNode = node as ElementNode;
                    doc.AddFavorite(dataNode.Element.Id);
                }
            }
            this.EndUpdate();
        }
コード例 #13
0
        public void IncludeItem()
        {
            SdsiteXmlDocument doc = Service.Sdsite.CurrentDocument;

            foreach (BaseTreeNode node in SelectedNodes)
            {
                if (node is FileOutsideNode)
                {
                    doc.IncludeItem(Utility.File.GetXmlDocumentId(((OutsideNode)node).FilePath));
                }
                else if (node is FolderOutsideNode)
                {
                    doc.IncludeItem(Utility.File.GetXmlDocumentId(((OutsideNode)node).FilePath));
                }
            }
        }
コード例 #14
0
 void SdsiteXmlDocument_SdsiteOpened(object sender, EventArgs e)
 {
     ///右侧树才需要监听这些事件
     if (TreeMode == TreeMode.General)
     {
         SdsiteXmlDocument sdsite = Service.Sdsite.CurrentDocument;
         sdsite.ElementAdded           += new EventHandler <EventArgs <SimpleExIndexXmlElement> >(sdsite_ElementAdded);
         sdsite.ElementDeleted         += new EventHandler <EventArgs <SimpleExIndexXmlElement> >(sdsite_ElementDeleted);
         sdsite.ElementAddedFavorite   += new EventHandler <EventArgs <SimpleExIndexXmlElement> >(sdsite_ElementAddedFavorite);
         sdsite.ElementRemovedFavorite += new EventHandler <EventArgs <SimpleExIndexXmlElement> >(sdsite_ElementRemovedFavorite);
         sdsite.ElementTitleChanged    += new EventHandler <ChangeTitleEventArgs>(sdsite_ElementTitleChanged);
         sdsite.ElementMoved           += new EventHandler <EventArgs <SimpleExIndexXmlElement> >(sdsite_ElementMoved);
         sdsite.ElementExclude         += new EventHandler <EventArgs <SimpleExIndexXmlElement> >(sdsite_ElementExclude);
         sdsite.ElementInclude         += new EventHandler <EventArgs <SimpleExIndexXmlElement> >(sdsite_ElementInclude);
     }
 }
コード例 #15
0
            /// <summary>
            /// 打开Sdsite网站
            /// </summary>
            /// <param name="sdsiteFilePath">.sdsite的路径</param>
            static public void OpenSdsite(string sdsiteFilePath, string userName)
            {
                if (!CanOpenProject(sdsiteFilePath, userName))
                {
                    return;
                }
                string folder         = Path.GetDirectoryName(sdsiteFilePath);
                string sdsiteName     = Path.GetFileNameWithoutExtension(sdsiteFilePath);
                string designDataFile = Path.Combine(folder, sdsiteName + ".layout");

                ///打开sdsite
                try
                {
                    SdsiteXmlDocument sdsiteDoc = new SdsiteXmlDocument(sdsiteFilePath);
                    sdsiteDoc.Load();

                    CurrentDocument = sdsiteDoc;
                }
                catch (System.Exception)
                {
                    Service.Sdsite.CurrentDocument = null;
                    MessageService.Show(string.Format("载入{0}失败!", Path.GetFileName(sdsiteFilePath)), MessageBoxButtons.OK, MessageBoxIcon.Error);
                    return;
                }

                ///打开DesignData
                if (File.Exists(designDataFile))
                {
                    DesignDataDocument = new DesignDataXmlDocument(designDataFile);
                    DesignDataDocument.Load();
                }
                else
                {
                    DesignDataDocument = new DesignDataXmlDocument(designDataFile);
                    DesignDataDocument.LoadXml(@"<?xml version=""1.0"" encoding=""utf-8""?>
<layout>
  <tree>
  </tree>
  <documents>
  </documents>
<productPropertyGroup></productPropertyGroup>
<treeOpenItems></treeOpenItems>
</layout>");
                }

                OnSdsiteOpened(EventArgs.Empty);
            }
コード例 #16
0
        /// <summary>
        /// 导入资源文件
        /// </summary>
        public void ImportResource()
        {
            SdsiteXmlDocument  doc      = Service.Sdsite.CurrentDocument;
            FormOpenFileDialog OpenFile = new FormOpenFileDialog();

            OpenFile.OpenDialog.Multiselect = true;
            OpenFile.OpenDialog.Filter      = "PIC files (*.jpg,*.png,*.gif)|*.jpg;*.png;*.gif;|Flash files (.swf)|*.swf|Media files (*.rmvb,*.rm,*.avi,*.wmv)|*.rmvb;*.rm;*.avi;*.wmv|Audio files (*.mp3,*.mdi,*.wma,*.wav)|*.mp3;*.mid;*.wma;*.wav";

            BaseFolderElementNode pathNode = CurrentNode as BaseFolderElementNode;
            string parentFolderID          = ((ElementNode)CurrentNode).Element.Id;

            if (OpenFile.ShowDialog(this) == DialogResult.OK)
            {
                string[] fileNames = OpenFile.OpenDialog.FileNames;
                foreach (string srcFilePath in fileNames)
                {
                    FileSimpleExXmlElement fileEle = doc.CreateFileElement(parentFolderID, srcFilePath);
                }
            }
        }