Exemple #1
0
        void SetFinds()
        {
            _finds.Clear();
            if (!Service.Project.IsProjectOpened)
            {
                return;
            }
            if (_mainForm.MdiChildren.Length <= 0)
            {
                return;
            }
            try
            {
                switch (FindOptions.Singler.FindScope)
                {
                case FindScope.CurrentForm:
                    IMarkPosition currentDocMark = _mainForm.ActiveMdiChild as IMarkPosition;
                    _currentFind = currentDocMark.Search;
                    _finds.Add(currentDocMark.Search);
                    break;

                //case FindScope.CurrentSelection:
                //    foreach (IMarkPosition markPosition in _mainForm.MdiChildren)
                //    {
                //        if (markPosition != null && markPosition.SelectedPositions != null)
                //        {
                //            _finds.Add(markPosition.Search);
                //        }
                //    }
                //    _currentFind = ((IMarkPosition)_mainForm.ActiveMdiChild).Search;
                //    break;
                case FindScope.AllOpenForm:
                    foreach (IMarkPosition allOpenMark in _mainForm.MdiChildren)
                    {
                        if (allOpenMark != null)
                        {
                            _finds.Add(allOpenMark.Search);
                        }
                    }
                    _currentFind = ((IMarkPosition)_mainForm.ActiveMdiChild).Search;
                    break;

                case FindScope.WholeChannels:
                    break;

                default:
                    break;
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
        }
Exemple #2
0
        /// <summary>
        /// 获得当前的Position
        /// </summary>
        public void GetPosition()
        {
            _searchDocuments.Clear();
            KeyValuePair <ISearch, IMarkPosition> kv = new KeyValuePair <ISearch, IMarkPosition>();

            if (GetFormDocument((BaseViewForm)_mainFindForm.ActiveMdiChild, out kv))
            {
                _currentForm     = kv.Value;
                _currentDocument = kv.Key;
                _searchDocuments.Add(kv.Key);
                Position position = _currentForm.CurrentPosition;
            }
        }
Exemple #3
0
        /// <summary>
        /// 设置需要搜索的文件集
        /// </summary>
        private void GetSearchDocuments()
        {
            _searchDocuments.Clear();
            KeyValuePair <ISearch, IMarkPosition> kv = new KeyValuePair <ISearch, IMarkPosition>();

            switch (FindOptions.Singler.FindScope)
            {
            case FindScope.CurrentForm:    //当前窗口
                #region
            {
                if (GetFormDocument((BaseViewForm)_mainFindForm.ActiveMdiChild, out kv))
                {
                    _currentForm     = kv.Value;
                    _currentDocument = kv.Key;
                    _searchDocuments.Add(kv.Key);
                }
                break;
            }

                #endregion
            case FindScope.AllOpenForm:    //所有打开的窗体
                #region
            {
                if (GetFormDocument((BaseViewForm)_mainFindForm.ActiveMdiChild, out kv))
                {
                    _currentForm     = kv.Value;
                    _currentDocument = kv.Key;
                    _searchDocuments.Add(kv.Key);
                }
                foreach (BaseViewForm form in _mainFindForm.MdiChildren)
                {
                    if (form == _mainFindForm.ActiveMdiChild)
                    {
                        continue;
                    }
                    if (GetFormDocument(form, out kv))
                    {
                        _searchDocuments.Add(kv.Key);
                    }
                }
                break;
            }

                #endregion
            case FindScope.WholeChannels:    //所有的频道
                #region
            {
                if (GetFormDocument((BaseViewForm)_mainFindForm.ActiveMdiChild, out kv))
                {
                    _currentForm     = kv.Value;
                    _currentDocument = kv.Key;
                }
                // string[] tmpltIds = Service.Sdsite.CurrentDocument.GetAllTmpltId();
                string[] pageIds = Service.Sdsite.CurrentDocument.GetAllPageId();
                //foreach (string tmpletId in tmpltIds)
                //{
                //    TmpltXmlDocument tmpltDoc = Service.Sdsite.CurrentDocument.GetTmpltDocumentById(tmpletId);
                //    if ((tmpltDoc as ISearch) == kv.Key)
                //    {
                //        continue;
                //    }
                //    if (tmpltDoc != null)
                //    {
                //        _searchDocuments.Add(tmpltDoc);
                //    }

                //}
                foreach (string pageId in pageIds)
                {
                    PageXmlDocument pageDoc = Service.Sdsite.CurrentDocument.GetPageDocumentById(pageId);
                    if ((pageDoc as ISearch) == kv.Key)
                    {
                        continue;
                    }
                    if (pageDoc != null)
                    {
                        _searchDocuments.Add(pageDoc);
                    }
                }
                break;
            }

                #endregion
            default:
                break;
            }
        }