Beispiel #1
0
        internal CursorState(Cursor cursor)
        {
            if (cursor == null)
                throw new ArgumentNullException("cursor");

            Cursor = cursor;
        }
Beispiel #2
0
        public void DeclareCursor(CursorInfo cursorInfo)
        {
            if (cursorInfo == null)
                throw new ArgumentNullException("cursorInfo");

            lock (this) {
                var cursorName = cursorInfo.CursorName;
                if (cursors.Any(x => x.CursorInfo.CursorName.Equals(cursorName, StringComparison.OrdinalIgnoreCase)))
                    throw new ArgumentException(String.Format("Cursor '{0}' was already declared.", cursorName));

                var cursor = new Cursor(cursorInfo);
                cursors.Add(cursor);
            }
        }
Beispiel #3
0
 internal void DisposeCursor(Cursor cursor)
 {
     var name = cursor.CursorInfo.CursorName;
     for (int i = cursors.Count - 1; i >= 0; i--) {
         var cursorName = cursors[i].CursorInfo.CursorName;
         if (cursorName.Equals(name, StringComparison.OrdinalIgnoreCase))
             cursors.RemoveAt(i);
     }
 }