コード例 #1
0
 public TagEvent(int index, TagEventType type, MarkdownTag tag)
 {
     Index = index;
     Type  = type;
     Tag   = tag;
 }
コード例 #2
0
        private static void TagHandler(TagEventType eventType, Tag tag)
        {
            switch (eventType)
            {
            case TagEventType.TAG_EVENT_UNDO_OVER_CREATE:
                ObjectMapEntry entry2;
                objectMap.TryGetValue(tag, out entry2);
                if (entry2 != null)
                {
                    objectMap.Remove(tag);
                    entry2.Obj.SetTag(Tag.Null);
                }
                break;

            case TagEventType.TAG_EVENT_NORMAL_DELETE:
                Delete(tag);
                return;

            case TagEventType.TAG_EVENT_UNDO_OVER_DELETE:
            {
                ObjectMapEntry     entry;
                DeletedObjectQueue queue;
                objectMap.TryGetValue(tag, out entry);
                if (entry != null)
                {
                    throw new ApplicationException("Unexpected map entry for: " + tag);
                }
                deletedObjectMap.TryGetValue(tag, out queue);
                if (queue == null)
                {
                    break;
                }
                if (queue.Newest.RemainingUndoOverDelete == 0)
                {
                    objectMap[tag] = queue.Newest;
                    queue.Newest.Obj.SetTag(tag);
                    queue.RemoveNewest();
                    if (queue.Count == 0)
                    {
                        deletedObjectMap.Remove(tag);
                        return;
                    }
                    break;
                }
                ObjectMapEntry newest = queue.Newest;
                newest.RemainingUndoOverDelete--;
                return;
            }

            case TagEventType.TAG_EVENT_UNDO_DELETE_EXPIRED:
                DeletedObjectQueue queue2;
                deletedObjectMap.TryGetValue(tag, out queue2);
                if (queue2 == null)
                {
                    break;
                }
                queue2.RemoveOldest();
                if (queue2.Count != 0)
                {
                    break;
                }
                deletedObjectMap.Remove(tag);
                return;

            case TagEventType.TAG_EVENT_UNDO_CREATE_EXPIRED:
            case TagEventType.TAG_EVENT_BEFORE_REPLACE:
            case TagEventType.TAG_EVENT_AFTER_REPLACE:
                break;

            case TagEventType.TAG_EVENT_UNDO_DELETE_DISCARDED:
                DeletedObjectQueue queue3;
                deletedObjectMap.TryGetValue(tag, out queue3);
                if (queue3 == null)
                {
                    break;
                }
                if (queue3.Newest.RemainingUndoOverDelete != 0)
                {
                    ObjectMapEntry entry3 = queue3.Newest;
                    entry3.RemainingUndoOverDelete--;
                    return;
                }
                queue3.RemoveNewest();
                if (queue3.Count != 0)
                {
                    break;
                }
                deletedObjectMap.Remove(tag);
                return;

            default:
                return;
            }
        }
コード例 #3
0
 /// <summary>
 /// Constructor requiring data for each field.
 /// </summary>
 /// <param name="id">The <typeparamref name="TadId"/>.</param>
 /// <param name="frequency">The signals frequency as a float.</param>
 /// <param name="signalStrength">The signal strength in XXX units as a float.</param>
 /// <param name="antenna">The antenna id or reference that detected the read.</param>
 /// <param name="time">The time the tag was detected. Typically encoded as the
 /// number of milliseconds from a past reference date in time (e.g., 1/1/1990)</param>
 public TagReadEventArgs(TagEventType eventType, TagInfo tagInfo)
 {
     this.EventType = eventType;
     this.TagInfo = tagInfo;
 }
コード例 #4
0
 public DataEventModel(List <Tag> tags, TagEventType eventType)
 {
     Tags      = tags;
     EventType = eventType;
 }
コード例 #5
0
 private TagEvent(TagEventType eventType)
 {
     EventType = eventType;
 }