Exemple #1
0
        public int CompareEndpoints(TextPatternRangeEndpoint endpoint, ITextPatternRange targetRange, TextPatternRangeEndpoint targetEndpoint)
        {
            TextRangePattern targetRangePattern = targetRange as TextRangePattern;

            if (targetRangePattern == null)
            {
                throw new ArgumentNullException();
            }

            if (targetRangePattern.accessible != accessible)
            {
                throw new ArgumentException();
            }

            int point = (endpoint == TextPatternRangeEndpoint.End
                                ? endOffset : startOffset);
            int targetPoint = (targetEndpoint ==
                               TextPatternRangeEndpoint.End)
                                ? targetRangePattern.endOffset
                                : targetRangePattern.startOffset;

            if (point < targetPoint)
            {
                return(-1);
            }
            if (point > targetPoint)
            {
                return(1);
            }
            return(0);
        }
Exemple #2
0
 public ITextPatternRange [] GetVisibleRanges()
 {
     // TODO (BNC#551111)
     ITextPatternRange [] range = new ITextPatternRange [1];
     range [0] = DocumentRange;
     return(range);
 }
Exemple #3
0
        public void MoveEndpointByRange(TextPatternRangeEndpoint endpoint, ITextPatternRange targetRange, TextPatternRangeEndpoint targetEndpoint)
        {
            TextRangePattern target = targetRange as TextRangePattern;

            if (target == null || target.accessible != accessible)
            {
                throw new ArgumentException();
            }

            int offset =
                (targetEndpoint == TextPatternRangeEndpoint.Start
                                        ? target.startOffset
                                        : target.endOffset);

            if (endpoint == TextPatternRangeEndpoint.Start)
            {
                startOffset = offset;
                if (endOffset < startOffset)
                {
                    endOffset = startOffset;
                }
            }
            else
            {
                endOffset = offset;
                if (startOffset > endOffset)
                {
                    startOffset = endOffset;
                }
            }
        }
Exemple #4
0
		public ITextPatternRange [] GetVisibleRanges ()
		{
			// TODO (BNC#551111)
			ITextPatternRange [] range = new ITextPatternRange [1];
			range [0] = DocumentRange;
			return range;
		}
Exemple #5
0
        public TextPatternRange FindText(string text, bool backward,
                                         bool ignoreCase)
        {
            ITextPatternRange range = source.FindText(text, backward, ignoreCase);

            if (range == null)
            {
                return(null);
            }
            return(new TextPatternRange(TextPattern, range));
        }
		public bool Compare (ITextPatternRange range)
		{
			UiaDbusTextPatternRange r = range as UiaDbusTextPatternRange;
			if (r == null)
				throw new Exception ("Require a UiaDbusTextPatternRange object");
			try {
				return this.range.Compare (r.path);
			} catch (Exception ex) {
				throw DbusExceptionTranslator.Translate (ex);
			}
		}
Exemple #7
0
        public TextPatternRange FindAttribute(AutomationTextAttribute attribute,
                                              Object @value, bool backward)
        {
            ITextPatternRange range = source.FindAttribute(attribute, value, backward);

            if (range == null)
            {
                return(null);
            }
            return(new TextPatternRange(TextPattern, range));
        }
        public int CompareEndpoints(TextPatternRangeEndpoint endpoint, ITextPatternRange targetRange, TextPatternRangeEndpoint targetEndpoint)
        {
            UiaDbusTextPatternRange r = targetRange as UiaDbusTextPatternRange;

            if (r == null)
            {
                throw new Exception("Require a UiaDbusTextPatternRange object");
            }
            try {
                return(this.range.CompareEndpoints(endpoint, r.path, targetEndpoint));
            } catch (Exception ex) {
                throw DbusExceptionTranslator.Translate(ex);
            }
        }
        public bool Compare(ITextPatternRange range)
        {
            UiaDbusTextPatternRange r = range as UiaDbusTextPatternRange;

            if (r == null)
            {
                throw new Exception("Require a UiaDbusTextPatternRange object");
            }
            try {
                return(this.range.Compare(r.path));
            } catch (Exception ex) {
                throw DbusExceptionTranslator.Translate(ex);
            }
        }
        public void MoveEndpointByRange(TextPatternRangeEndpoint endpoint, ITextPatternRange targetRange, TextPatternRangeEndpoint targetEndpoint)
        {
            UiaDbusTextPatternRange r = targetRange as UiaDbusTextPatternRange;

            if (r == null)
            {
                throw new Exception("Require a UiaDbusTextPatternRange object");
            }
            try {
                range.MoveEndpointByRange(endpoint, r.path, targetEndpoint);
            } catch (Exception ex) {
                throw DbusExceptionTranslator.Translate(ex);
            }
        }
Exemple #11
0
        public bool Compare(ITextPatternRange range)
        {
            TextRangePattern other = range as TextRangePattern;

            if (other == null)
            {
                return(false);
            }
            if (other.accessible != accessible)
            {
                throw new ArgumentException("Comparing ranges from different elements");
            }
            return(other.startOffset == startOffset &&
                   other.endOffset == endOffset);
        }
Exemple #12
0
		public void MoveEndpointByRange (TextPatternRangeEndpoint endpoint, ITextPatternRange targetRange, TextPatternRangeEndpoint targetEndpoint)
		{
			TextRangePattern target = targetRange as TextRangePattern;
			if (target == null || target.accessible != accessible)
				throw new ArgumentException ();

			int offset =
				(targetEndpoint == TextPatternRangeEndpoint.Start
					? target.startOffset
					: target.endOffset);

			if (endpoint == TextPatternRangeEndpoint.Start) {
				startOffset = offset;
				if (endOffset < startOffset)
					endOffset = startOffset;
			} else {
				endOffset = offset;
				if (startOffset > endOffset)
					startOffset = endOffset;
			}
		}
Exemple #13
0
		public int CompareEndpoints (TextPatternRangeEndpoint endpoint, ITextPatternRange targetRange, TextPatternRangeEndpoint targetEndpoint)
		{
			TextRangePattern targetRangePattern = targetRange as TextRangePattern;
			if (targetRangePattern == null)
				throw new ArgumentNullException ();

			if (targetRangePattern.accessible != accessible)
				throw new ArgumentException ();

			int point = (endpoint == TextPatternRangeEndpoint.End
				? endOffset : startOffset);
			int targetPoint = (targetEndpoint ==
				TextPatternRangeEndpoint.End)
				? targetRangePattern.endOffset
				: targetRangePattern.startOffset;

			if (point < targetPoint)
				return -1;
			if (point > targetPoint)
				return 1;
			return 0;
		}
Exemple #14
0
		public bool Compare (ITextPatternRange range)
		{
			TextRangePattern other = range as TextRangePattern;
			if (other == null)
				return false;
			if (other.accessible != accessible)
				throw new ArgumentException ("Comparing ranges from different elements");
			return (other.startOffset == startOffset &&
				other.endOffset == endOffset);
		}
Exemple #15
0
		TextPatternRange [] RangeArray (ITextPatternRange [] source)
		{
			TextPatternRange [] ret = new TextPatternRange [source.Length];
			for (int i = 0; i < source.Length; i++)
				ret [i] = new TextPatternRange (this, source [i]);
			return ret;
		}
		public int CompareEndpoints (TextPatternRangeEndpoint endpoint, ITextPatternRange targetRange, TextPatternRangeEndpoint targetEndpoint)
		{
			UiaDbusTextPatternRange r = targetRange as UiaDbusTextPatternRange;
			if (r == null)
				throw new Exception ("Require a UiaDbusTextPatternRange object");
			try {
				return this.range.CompareEndpoints (endpoint, r.path, targetEndpoint);
			} catch (Exception ex) {
				throw DbusExceptionTranslator.Translate (ex);
			}
		}
Exemple #17
0
		internal TextPatternRange (TextPattern textPattern, ITextPatternRange source)
		{
			TextPattern = textPattern;
			this.source = source;
		}
		public void MoveEndpointByRange (TextPatternRangeEndpoint endpoint, ITextPatternRange targetRange, TextPatternRangeEndpoint targetEndpoint)
		{
			UiaDbusTextPatternRange r = targetRange as UiaDbusTextPatternRange;
			if (r == null)
				throw new Exception ("Require a UiaDbusTextPatternRange object");
			try {
				range.MoveEndpointByRange (endpoint, r.path, targetEndpoint);
			} catch (Exception ex) {
				throw DbusExceptionTranslator.Translate (ex);
			}
		}
Exemple #19
0
 internal TextPatternRange(TextPattern textPattern, ITextPatternRange source)
 {
     TextPattern = textPattern;
     this.source = source;
 }