Esempio n. 1
0
        private void OKBtn_Click(object sender, EventArgs e)
        {
            if ((m_tree.CurrentNode is DataNode) && ((DataNode)m_tree.CurrentNode).NodeType == TreeNodeType.Tmplt)
            {
                this.TmpltId = ((TmpltNode)m_tree.CurrentNode).Element.Id;

                //如果传入的父元素为空,则父频道为网站根节点
                if (_parentEle == null)
                {
                    _parentEle = ((ElementNode)m_tree.SelectTreeRootChanNode).Element as FolderXmlElement;
                    PageType   = (PageType)((int)((TmpltNode)m_tree.CurrentNode).Element.TmpltType);
                }

                ///检查是否有重名
                //if (File.Exists(Path.Combine(_parentEle.AbsoluteFilePath, NameTextBox.Text + Utility.Const.PageFileExt)))
                //{
                //    MessageService.Show("此文件已存在,请重新命名。");
                //    NameTextBox.SelectAll();
                //    NameTextBox.Focus();
                //    return;
                //}

                SdsiteXmlDocument      doc     = Service.Sdsite.CurrentDocument;
                PageSimpleExXmlElement pageEle = doc.CreatePage(_parentEle.Id, PageType, NameTextBox.Text, TmpltId);

                this.NewPageId    = pageEle.Id;
                this.DialogResult = DialogResult.OK;
                Close();
            }
            else
            {
                MessageService.Show("请选择模板!");
            }
        }
Esempio n. 2
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);
        }
Esempio n. 3
0
        private void SearchAndProcess(FolderXmlElement channelRootEle)
        {
            foreach (AnyXmlElement anyXmlEle in channelRootEle)
            {
                SimpleExIndexXmlElement simpleEle = anyXmlEle as SimpleExIndexXmlElement;

                switch (simpleEle.DataType)
                {
                case DataType.Resources:
                    //直接将资源文件移动与此; 还不够妥当todo:
                    if (simpleEle.IsModified)
                    {
                        DirectoryInfo dic = new DirectoryInfo(resStartPath);
                        dic.MoveTo(resToPath);
                    }
                    break;

                case DataType.TmpltFolder:
                case DataType.Folder:
                case DataType.Channel:
                    SearchAndProcess((FolderXmlElement)simpleEle);
                    break;

                case DataType.Tmplt:
                    buildFile.BuildTmpltFile(simpleEle);
                    break;

                case DataType.Page:
                    buildFile.BuildPageFile(simpleEle);
                    break;
                }
            }
        }//private
Esempio n. 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();
        }
Esempio n. 5
0
 /// <summary>
 /// 新建页面
 /// </summary>
 /// <param name="m_tree"></param>
 /// <param name="myType"></param>
 public void NewPage(FolderXmlElement parentEle, PageType myType)
 {
     if (myType != PageType.Home)
     {
         NewPageForm newPage = new NewPageForm(parentEle, myType);
         if (newPage.ShowDialog() == DialogResult.OK)
         {
             ///建完页面后打开页面
             WorkDocumentType workDocumentType = WorkDocumentType.None;
             if (myType == PageType.General)
             {
                 workDocumentType = WorkDocumentType.HtmlDesigner;
             }
             else
             {
                 workDocumentType = WorkDocumentType.Edit;
             }
             Service.Workbench.OpenWorkDocument(workDocumentType, newPage.NewPageId);
         }
     }
     else
     {
         NewHomePageForm newPage = new NewHomePageForm(parentEle, myType);
         if (newPage.ShowDialog() == DialogResult.OK)
         {
             ///建完页面后打开页面
             Service.Workbench.OpenWorkDocument(WorkDocumentType.HomePage, newPage.NewPageId);
         }
     }
 }
Esempio n. 6
0
 public MyListFolderItem(FolderXmlElement element, MyListItem parantFolder)
     : base(element)
 {
     _element     = element;
     this.Text    = _element.Title;
     ListShowView = View.LargeIcon;
     _myItemParnt = parantFolder;
     BreviaryMap  = true; //缩略图
 }
Esempio n. 7
0
        public static string GetIndexPath(string channleGuid)
        {
            FolderXmlElement       channleEle = ToHtmlSdsiteService.SdsiteXmlDocument.GetFolderElementById(channleGuid);
            PageSimpleExXmlElement pageEle    = ToHtmlSdsiteService.SdsiteXmlDocument.GetPageElementById(channleEle.DefaultPageId);

            if (pageEle != null)
            {
                return(pageEle.OwnerFolderElement.RelativeUrl + pageEle.FileName + Utility.Const.ShtmlFileExt);
            }
            return(string.Empty);
        }
Esempio n. 8
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);
            }
        }
Esempio n. 9
0
        /// <summary>
        /// 新建模板
        /// </summary>
        /// <param name="m_tree"></param>
        /// <param name="myType"></param>
        public void NewTmplt(FolderXmlElement parentEle, TmpltType myType)
        {
            //获得父频道节点,父模板文件夹节点
            //((BaseFolderElementNode)CurrentNode).Element,
            NewTmpltSetupForm tmpltForm = new NewTmpltSetupForm(parentEle, myType);

            if (tmpltForm.ShowDialog() == DialogResult.OK)
            {
                TmpltSimpleExXmlElement tmpltEle = Service.Sdsite.CurrentDocument.CreateTmplt(parentEle, myType, tmpltForm.TmpltTitle,
                                                                                              false, tmpltForm.TmpltWidth, tmpltForm.TmpltHeight, tmpltForm.BackImage);
                Service.Workbench.OpenWorkDocument(WorkDocumentType.TmpltDesigner, tmpltEle.Id);
            }
        }
Esempio n. 10
0
        public void ShowResult()
        {
            PageTypeList = new List <PageType>();
            PageList     = new List <PageSimpleExXmlElement>();
            if (this.conGeneral.Checked)
            {
                PageTypeList.Add(PageType.General);
            }
            if (this.conHr.Checked)
            {
                PageTypeList.Add(PageType.Hr);
            }
            if (this.conInviteBidding.Checked)
            {
                PageTypeList.Add(PageType.InviteBidding);
            }
            if (this.conKnowledge.Checked)
            {
                PageTypeList.Add(PageType.Knowledge);
            }
            if (this.conProduct.Checked)
            {
                PageTypeList.Add(PageType.Product);
            }
            if (this.conProject.Checked)
            {
                PageTypeList.Add(PageType.Project);
            }

            string channelID = string.Empty;

            if (((ElementNode)chanTree.CurrentNode).Element.DataType == DataType.Channel)
            {
                channelID = ((BaseFolderElementNode)this.chanTree.CurrentNode).Element.Id;
                FolderXmlElement folderEle = Service.Sdsite.CurrentDocument.GetFolderElementById(channelID);
                foreach (PageSimpleExXmlElement pageEle in folderEle.SelectNodes("//channel[@id='" + channelID + "']//page"))
                {
                    foreach (PageType pagetype in PageTypeList)
                    {
                        if (pagetype == pageEle.PageType)
                        {
                            PageList.Add(pageEle);
                            break;
                        }
                    }
                }
            }
            State.ChannelId       = channelID;
            State.PageTypeListAll = PageTypeList;
        }
Esempio n. 11
0
 private void TreeNodeSelected()
 {
     ClearCheackValue();
     if (chanTree.CurrentNode != null)
     {
         if (((ElementNode)chanTree.CurrentNode).Element.DataType == DataType.Channel)
         {
             FolderXmlElement ele = ((BaseFolderElementNode)chanTree.CurrentNode).Element;
             foreach (PageSimpleExXmlElement pageEle in ele.SelectNodes("child::page"))
             {
                 IsChecked(pageEle);
             }
         }
     }
 }
Esempio n. 12
0
 /// <summary>
 /// 当发送频道请求情况下,产生该频道下的列表(文件夹,频道,页面)
 /// </summary>
 internal static string GetChannelContent(string channelGuid)
 {
     try
     {
         XmlDocument xmlDoc = new XmlDocument();
         xmlDoc.LoadXml("<body></body>");
         FolderXmlElement channeEle = ToHtmlSdsiteService.SdsiteXmlDocument.GetFolderElementById(channelGuid);
         if (string.IsNullOrEmpty(channeEle.DefaultPageId))
         {
             foreach (AnyXmlElement anyEle in channeEle.ChildNodes)
             {
                 if (anyEle.Name != "siteShowItem")
                 {
                     SimpleExIndexXmlElement pageEle = anyEle as SimpleExIndexXmlElement;
                     if (pageEle.Name != "resources" && pageEle.Name != "tmpltRootFolder" && pageEle.IsDeleted == false)
                     {
                         //如果包含主页,则跳转到主页
                         XmlElement xmlEle  = xmlDoc.CreateElement("div");
                         XmlElement linkEle = xmlDoc.CreateElement("a");
                         if (pageEle.Name == "channel" || pageEle.Name == "folder")
                         {
                             linkEle.SetAttribute("href", pageEle.OwnerFolderElement.RelativeUrl);
                         }
                         else
                         {
                             linkEle.SetAttribute("href", pageEle.RelativeUrl);
                         }
                         linkEle.InnerXml += pageEle.FileName;
                         xmlEle.AppendChild(linkEle);
                         xmlDoc.DocumentElement.AppendChild(xmlEle);
                         return(string.Format(ConstService.HTMLUTF8Head, channeEle.Title) + xmlDoc.InnerXml + ConstService.HTMLUTF8END);
                     }
                 }
             }
         }
         else
         {
             return("<html><head>" + ConstService.UTF8 + "<meta http-equiv=\"refresh\" content=\"0;URL=http://127.0.0.1:" + Perviewer.Port + channeEle.RelativeUrl + "index.shtml\"></head></html>");
         }
     }
     catch (Exception e)
     {
         ExceptionService.CreateException(e);
         return(ConstService.BAD);
     }
     return("该频道(文件夹)下无内容显示!");
 }
Esempio n. 13
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);
        }
Esempio n. 14
0
        /// <summary>
        /// 加载文件夹
        /// </summary>
        private void LoadChildFolderNode()
        {
            foreach (XmlNode node in Element.ChildNodes)
            {
                if (node is FolderXmlElement)
                {
                    FolderXmlElement folderEle = (FolderXmlElement)node;

                    ///若是频道或模板文件夹,则跳过
                    if (folderEle is ChannelSimpleExXmlElement)
                    {
                        continue;
                    }

                    AddElementNode(folderEle);
                }
            }
        }
Esempio n. 15
0
        private void ProcessSelectFolder(TreeNode BaseFolderElementNode)
        {
            foreach (TreeNode node in BaseFolderElementNode.Nodes)
            {
                if (node is BaseFolderElementNode)
                {
                    FolderXmlElement ele = ((BaseFolderElementNode)node).Element;

                    foreach (string id in SelectesChannelIDList)
                    {
                        if (id == ele.Id)
                        {
                            //node.ForeColor = Color.Green;
                            folderList.Add(node as BaseFolderElementNode);
                        }
                    }
                    ProcessSelectFolder(node);
                }
            }
        }
Esempio n. 16
0
 //显示所有包括子节点
 private void ShowPageForAll()
 {
     if (this.conShowChildNode.Checked)
     {
         ClearCheackValue();
         string channelID = string.Empty;
         if ((ElementNode)chanTree.CurrentNode == null)
         {
             return;
         }
         if (((ElementNode)chanTree.CurrentNode).Element.DataType == DataType.Channel)
         {
             channelID = ((BaseFolderElementNode)this.chanTree.CurrentNode).Element.Id;
             FolderXmlElement folderEle = Service.Sdsite.CurrentDocument.GetFolderElementById(channelID);
             foreach (PageSimpleExXmlElement pageEle in folderEle.SelectNodes("//channel[@id='" + channelID + "']//page"))
             {
                 IsChecked(pageEle);
             }
         }
     }
 }
Esempio n. 17
0
        /// <summary>
        /// 设为首页
        /// </summary>
        /// <param name="myTree"></param>
        internal void SetAsIndexPage()
        {
            ///先将之前的默认页的Node的字体恢复普通
            PageNode defaultPageNode = ((ChannelFolderNode)this.CurrentNode.Parent).GetDefaultPageNode();

            if (defaultPageNode != null)
            {
                defaultPageNode.NodeFont = null;
            }

            ///将当前选择的页面的Node加粗
            CurrentNode.BoldFont();

            ///设置默认页
            SdsiteXmlDocument doc       = Service.Sdsite.CurrentDocument;
            FolderXmlElement  folderEle = ((BaseFolderElementNode)CurrentNode.Parent).Element;
            string            pageID    = ((PageNode)CurrentNode).Element.Id;

            folderEle.DefaultPageId = pageID;
            doc.Save();
        }
Esempio n. 18
0
        /// <summary>
        /// 通过频道的url返回频道的GUID,没有则返回空
        /// </summary>
        internal static string GetChannelRequestGuid(string index, ToHtmlHelper thh)
        {
            //如果为空返回根节点的Guid
            if (string.IsNullOrEmpty(index) || index == "//")
            {
                return("00000000");
            }

            try
            {
                FolderXmlElement folderXmlEle = (FolderXmlElement)thh.SdsiteXmlDocument.GetElementById("00000000");
                //url = DelFirstPath(url.Substring(1));
                index = index.Substring(0, index.Length - 1);
                string channelName = GetLastPath(index);
                string url         = DelLastPathName(index);
                //遍历所有要得到频道的父频道,找到其真实的父频道
                while (!string.IsNullOrEmpty(url))
                {
                    string folder = GetFirstPath(url);
                    folderXmlEle = (FolderXmlElement)folderXmlEle.SelectSingleNode(string.Format("child::*[@fileName='{0}']", folder));
                    url          = DelFirstPath(url);
                }
                //通过父频道返回所求频道的id
                SimpleExIndexXmlElement xmlEle = (SimpleExIndexXmlElement)folderXmlEle.SelectSingleNode(string.Format("child::channel[@fileName='{0}']|child::folder[@fileName='{0}']", channelName));
                if (xmlEle != null)
                {
                    return(xmlEle.Id);
                }
                else
                {
                    return(null);
                }
            }
            catch (Exception e)
            {
                ExceptionService.CreateException(e);
                return(null);
            }
        }
Esempio n. 19
0
 private void AddTmpltFolder(FolderXmlElement Folder)
 {
     foreach (var node in Folder.ChildNodes)
     {
         if (node is FolderXmlElement)
         {
             //有可能要加其ID  如果该文件夹有模板,并且删除该文件夹,要根据这个删模板树的内容
             FolderElementNode FolderNode = new FolderElementNode(node as FolderXmlElement);
             SetElementNode(FolderNode);
             AddTmpltFolder(node as FolderXmlElement);
         }
         else if (node is TmpltSimpleExXmlElement)
         {
             TmpltElementNode tmpltNode = new TmpltElementNode(node as TmpltSimpleExXmlElement);
             if ((TmpltFilter == TmpltTreeNodeType.none) || TmpltFilter == tmpltNode.CurrentNodeType)
             {
                 SetElementNode(tmpltNode);
                 AddRootNodeToTree(tmpltNode);
             }
         }
     }
 }
Esempio n. 20
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();
        }
Esempio n. 21
0
        //SdsiteXmlDocument sdsiteDocument;

        /// <summary>
        /// 开始生成网站
        /// </summary>
        /// <returns></returns>
        public bool StartBuild(string partPath, string projName)
        {
            string sdPath    = AnyFilePath.GetSdsitesFolderAbsolutePath(partPath);
            string buildPath = AnyFilePath.GetWebAbsolutePath(partPath);

            toHtmlHelperObj = new ToHtmlHelper(sdPath, buildPath);

            resStartPath = sdPath + @"Root\" + @"Resource";
            resToPath    = buildPath + @"\Resource";

            buildFile = new BuildFile();
            buildFile.SdsiteDocument  = toHtmlHelperObj.SdsiteXmlDocument;
            buildFile.ToHtmlHelperObj = toHtmlHelperObj;

            FolderXmlElement channelRootEle = toHtmlHelperObj.SdsiteXmlDocument.RootChannel;

            //string sdPath = AnyFilePath.GetSdsitesFolderAbsolutePath(partPath) + projName + ".sdsite";
            ////打开网站
            //this.sdsiteDocument = new SdsiteXmlDocument(sdPath);
            //this.sdsiteDocument.Load();
            //buildFile = new BuildFile();
            //buildFile.SdsiteDocument = this.sdsiteDocument;
            //buildFile.BuildFilePath = partPath;
            //FolderXmlElement channelRootEle = this.sdsiteDocument.RootChannel;

            try
            {
                SearchAndProcess(channelRootEle);

                return(true);
            }
            catch (Exception Ex)
            {
                ExceptionService.WriteExceptionLog(Ex);
                return(false);
            }
        }
Esempio n. 22
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();
        }
Esempio n. 23
0
 public FolderElementNode(FolderXmlElement element)
     : base(element)
 {
 }
Esempio n. 24
0
 public TmpltFolderNode(FolderXmlElement element)
     : base(element)
 {
 }
Esempio n. 25
0
        // add by zhangling on 2008年6月23日 2008年6月26日 加上了判断条件以统计相应的个数
        private void SearchAndProcess(FolderXmlElement folderEle)
        {
            foreach (AnyXmlElement anyXmlEle in folderEle.ChildNodes)
            {
                SimpleExIndexXmlElement simpleEle = anyXmlEle as SimpleExIndexXmlElement;
                if (simpleEle != null)
                {
                    switch (simpleEle.DataType)
                    {
                    case DataType.Channel:
                        if (!simpleEle.IsDeleted)
                        {
                            _channelAmount     = _channelAmount + 1;
                            _includeFileAmount = _includeFileAmount + 1;
                        }
                        SearchAndProcess(simpleEle as FolderXmlElement);
                        break;

                    case DataType.Folder:
                        if (simpleEle.FileName == "System" || !simpleEle.IsDeleted)
                        {
                            _includeFileAmount = _includeFileAmount + 1;
                        }
                        SearchAndProcess(simpleEle as FolderXmlElement);
                        break;

                    case DataType.TmpltFolder:
                    case DataType.Resources:
                        _includeFileAmount = _includeFileAmount + 1;
                        SearchAndProcess(simpleEle as FolderXmlElement);
                        break;

                    case DataType.Tmplt:
                        if (!simpleEle.IsDeleted)
                        {
                            _templetAmount     = _templetAmount + 1;
                            _includeFileAmount = _includeFileAmount + 1;
                        }
                        _dealwithFileOrFolder.DealWithFile(simpleEle);
                        break;

                    case DataType.Page:
                        if (!simpleEle.IsDeleted)
                        {
                            _pageAmount        = _pageAmount + 1;
                            _includeFileAmount = _includeFileAmount + 1;
                        }
                        _dealwithFileOrFolder.DealWithFile(simpleEle);
                        break;

                    case DataType.File:
                        if (!simpleEle.IsDeleted)
                        {
                            _resourceFileAmount = _resourceFileAmount + 1;
                            _includeFileAmount  = _includeFileAmount + 1;
                        }
                        _dealwithFileOrFolder.DealWithFile(simpleEle);
                        break;

                    default:
                        break;
                    }
                }
            }
        }
Esempio n. 26
0
 public ChannelFolderNode(FolderXmlElement element)
     : base(element)
 {
 }
Esempio n. 27
0
 public ResourceFolderNode(FolderXmlElement element)
     : base(element)
 {
 }
Esempio n. 28
0
        /// <summary>
        /// 加载项目
        /// </summary>
        /// <param name="initPath"></param>
        void InitListView(SimpleExIndexXmlElement folderEle)
        {
            listView.Items.Clear();
            SdsiteXmlDocument doc = Service.Sdsite.CurrentDocument;

            //加载子文件夹
            foreach (XmlNode node in folderEle.ChildNodes)
            {
                if (node is FolderXmlElement)
                {
                    FolderXmlElement folder = (FolderXmlElement)node;
                    if (folder.IsDeleted)
                    {
                        continue;
                    }

                    MyFolderItem mylvi      = new MyFolderItem(folder);
                    string       folderPath = folder.AbsoluteFilePath.Substring(0, folder.AbsoluteFilePath.Length - 1);
                    mylvi.Text = Path.GetFileName(folderPath);
                    mylvi.Text = folder.Title;
                    listView.Items.Add(mylvi);
                }
            }
            //加载子文件
            foreach (XmlNode node in folderEle.ChildNodes)
            {
                if (node is FileSimpleExXmlElement)
                {
                    FileSimpleExXmlElement fileEle    = (FileSimpleExXmlElement)node;
                    MyFileItem             myFileItem = new MyFileItem(fileEle);
                    if (fileEle.IsDeleted)
                    {
                        continue;
                    }

                    myFileItem.Element = fileEle;
                    myFileItem.Text    = Path.GetFileName(fileEle.AbsoluteFilePath);
                    myFileItem.Text    = fileEle.Title;

                    string exfile = Path.GetExtension(fileEle.AbsoluteFilePath).ToLower();
                    switch (FileType)
                    {
                    case MediaFileType.Pic:
                    {
                        if (exfile == ".jpg" || exfile == ".jpeg" /*|| exfile == ".png"*/ || exfile == ".gif")
                        {
                            myFileItem.ItemMediaType = MediaFileType.Pic;
                            string valuestr = "";
                            if (!picFilter.TryGetValue(FilterComboBox.Text, out valuestr) || valuestr == "all")
                            {
                                listView.Items.Add(myFileItem);
                            }
                            else
                            {
                                if (exfile == valuestr)
                                {
                                    listView.Items.Add(myFileItem);
                                }
                            }
                        }
                        break;
                    }

                    case MediaFileType.Flash:
                    {
                        if (exfile == ".swf")
                        {
                            myFileItem.ItemMediaType = MediaFileType.Flash;
                            listView.Items.Add(myFileItem);
                        }
                        break;
                    }

                    case MediaFileType.Audio:
                    {
                        if (exfile == ".mp3" || exfile == ".mdi" || exfile == ".wma" || exfile == "*.wav")
                        {
                            myFileItem.ItemMediaType = MediaFileType.Audio;
                            string valuestr = "";
                            if (!audioFilter.TryGetValue(FilterComboBox.Text, out valuestr) || valuestr == "all")
                            {
                                listView.Items.Add(myFileItem);
                            }
                            else
                            {
                                if (exfile == valuestr)
                                {
                                    listView.Items.Add(myFileItem);
                                }
                            }
                        }
                        break;
                    }

                    case MediaFileType.Video:
                    {
                        if (exfile == ".rmvb" || exfile == ".rm" || exfile == ".avi" || exfile == ".wmv")
                        {
                            myFileItem.ItemMediaType = MediaFileType.Video;
                            string valuestr = "";
                            if (!mediaFilter.TryGetValue(FilterComboBox.Text, out valuestr) || valuestr == "all")
                            {
                                listView.Items.Add(myFileItem);
                            }
                            else
                            {
                                if (exfile == valuestr)
                                {
                                    listView.Items.Add(myFileItem);
                                }
                            }
                        }
                        break;
                    }
                    }
                }
            }

            //加载图标
            foreach (MyItem lvitem in listView.Items)
            {
                string fullPath = lvitem.Element.AbsoluteFilePath;
                KeyValuePair <string, Image> keyImg = GetImageAndKey(fullPath);
                if (!listView.SmallImageList.Images.ContainsKey(keyImg.Key))
                {
                    listView.SmallImageList.Images.Add(keyImg.Key, keyImg.Value);
                }
                lvitem.ImageKey = keyImg.Key;
            }
        }
Esempio n. 29
0
 public MyFolderItem(FolderXmlElement element)
     : base(element)
 {
     _element  = element;
     this.Text = _element.Title;
 }
Esempio n. 30
0
        /// <summary>
        /// 加载项目
        /// </summary>
        /// <param name="initPath"></param>
        private void InitListView(MyListItem folderEle, ListViewEx listView, string FilterType)
        {
            listView.Items.Clear();

            // listView.FolderName = folderEle.Element.AbsoluteFilePath;

            CreateHeader(listView); //列表头
            //加载子文件夹
            foreach (XmlNode node in folderEle._element.ChildNodes)
            {
                if (node is FolderXmlElement && !(node is TmpltFolderXmlElement) && !(node is ResourcesXmlElement))
                {
                    FolderXmlElement folder = (FolderXmlElement)node;
                    if (folder.IsDeleted)
                    {
                        continue;
                    }

                    MyListFolderItem mylvi = new MyListFolderItem(folder, folderEle);
                    if (mainTabControl.SelectedIndex != 0)
                    {
                        mylvi.BreviaryMap = false;
                    }
                    string folderPath = folder.AbsoluteFilePath.Substring(0, folder.AbsoluteFilePath.Length - 1);
                    mylvi.Text = Path.GetFileName(folderPath);
                    mylvi.Text = folder.Title;

                    listView.Items.Add(mylvi);
                }
            }
            //加载子文件
            InitListViewSubFile(folderEle._element.ChildNodes, listView, FilterType);


            if (folderEle.BreviaryMap && folderEle.ListShowView == View.LargeIcon)
            {//缩略图
                listView.LargeImageList.Images.Clear();
                listView.LargeImageList.ImageSize = new Size(96, 96);
                foreach (MyListItem lvitem in listView.Items)
                {
                    // if (lvitem is MyFileItem1)
                    {
                        string fullPath = lvitem.Element.AbsoluteFilePath;
                        lvitem.ImageIndex = listView.LargeImageList.Images.Add(listView.GetThumbNail(fullPath), Color.Transparent);
                    }
                }
            }
            else
            {
                listView.LargeImageList.ImageSize = new Size(32, 32);
                //加载图标
                foreach (MyListItem lvitem in listView.Items)
                {
                    string fullPath = lvitem.Element.AbsoluteFilePath;
                    KeyValuePair <string, Image> keyImg = GetImageAndKey(fullPath, GetSystemIconType.ExtensionSmall);
                    if (!listView.SmallImageList.Images.ContainsKey(keyImg.Key))
                    {
                        listView.SmallImageList.Images.Add(keyImg.Key, keyImg.Value);
                    }
                    KeyValuePair <string, Image> keyLargeImg = GetImageAndKey(fullPath, GetSystemIconType.ExtensionLarge);
                    if (!listView.LargeImageList.Images.ContainsKey(keyLargeImg.Key))
                    {
                        listView.LargeImageList.Images.Add(keyLargeImg.Key, keyLargeImg.Value);
                    }
                    lvitem.ImageKey = keyImg.Key;
                }
            }

            if (folderEle is MyListFolderItem)
            {
                listView.View = folderEle.ListShowView;
            }
        }