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); } }
/// <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; } }
/// <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; } }