FindTarget.cs
上传用户:hbhltzc
上传日期:2022-06-04
资源大小:1925k
文件大小:2k
源码类别:

xml/soap/webservice

开发平台:

Visual C++

  1. using System;
  2. using System.Collections.Generic;
  3. using System.Text;
  4. using System.Windows.Forms;
  5. using System.Drawing;
  6. using System.Xml;
  7. namespace XmlNotepad {
  8.     public enum FindFlags {
  9.         Normal = 0,
  10.         Regex = 1,
  11.         XPath = 2,
  12.         MatchCase = 4,
  13.         WholeWord = 8,
  14.         Backwards = 16
  15.     }
  16.     public enum SearchFilter { 
  17.         Everything, 
  18.         Names, 
  19.         Text, 
  20.         Comments 
  21.     };
  22.     public enum FindResult {
  23.         None,
  24.         Found,
  25.         NoMore,
  26.     }
  27.     public interface IFindTarget {
  28.         /// <summary>
  29.         /// Finds the next match for the given search arguments.
  30.         /// </summary>
  31.         /// <param name="expression">An expression representing what to find</param>
  32.         /// <param name="flags">Flags detemine what kind of expression it is (normal, regex, xpath)
  33.         /// and whether to search forwards or backwards and whether to match case or a whole word or not.</param>
  34.         /// <param name="filter">What kind of nodes to filter</param>
  35.         /// <returns>True if a match is found.</returns>
  36.         FindResult FindNext(string expression, FindFlags flags, SearchFilter filter);
  37.         /// <summary>
  38.         /// Returns the screen coordinates of the current match.
  39.         /// </summary>
  40.         Rectangle MatchRect { get; }
  41.         /// <summary>
  42.         /// Replaces the current match with the given text.  You must call FindNext before calling this method.
  43.         /// </summary>
  44.         // <param name="replaceWith">The string to replace the matching span with</param>
  45.         /// <returns>True if a match was replaced, or false if there is no current match right now.</returns>
  46.         bool ReplaceCurrent(string replaceWith);
  47.         /// <summary>
  48.         /// Returns an XPath expression for the current selected node.
  49.         /// </summary>
  50.         /// <returns></returns>
  51.         string Location { get; }
  52.         /// <summary>
  53.         /// Returns a namespace manager representing current location, or sets the namespace
  54.         /// manager for the next xpath find operation.
  55.         /// </summary>
  56.         XmlNamespaceManager Namespaces { get; set; }
  57.     }
  58. }