void DesignWebBrowser_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e) { SdsiteXmlDocument sdDoc = Service.Sdsite.CurrentDocument; PageXmlDocument pageDoc = sdDoc.GetPageDocumentById(PageId); this.DesignWebBrowser.Document.Body.InnerHtml = pageDoc.PageText; }
/// <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(); }
/// <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); }
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(); }
/// <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); }
public override string GetResourceAbsolutePath(string picId) { SdsiteXmlDocument sdDoc = Service.Sdsite.CurrentDocument; AnyXmlElement anyEle = sdDoc.GetElementById(picId); FileSimpleExXmlElement fileEle = anyEle as FileSimpleExXmlElement; return(fileEle.AbsoluteFilePath); }
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); } } }
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); //} }
/// <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); } }
/// <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(); }
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(); }
/// <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(); }
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)); } } }
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); } }
/// <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); }
/// <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); } } }