Ejemplo n.º 1
0
        /// <summary>
        /// Moves the sequence forward.
        /// </summary>
        public void Next()
        {
            if (m_state == DisplayState.ViewUpdates)
            {
                return;
            }

            if (m_state == DisplayState.SelectEventType)
            {
                UpdateFilter();
            }

            SetDisplayState(++m_state);

            if (m_state == DisplayState.SelectEventType)
            {
                BrowseCTRL.Initialize(m_session, Opc.Ua.ObjectTypeIds.BaseEventType,
                                      Opc.Ua.ReferenceTypeIds.HasSubtype);
                BrowseCTRL.SelectNode((m_filter == null || m_filter.EventTypeId == null)
                    ? Opc.Ua.ObjectTypeIds.BaseEventType
                    : m_filter.EventTypeId);
                EventTypeCTRL.ShowType(Opc.Ua.ObjectTypeIds.BaseEventType);
                return;
            }

            if (m_state == DisplayState.SelectEventFields)
            {
                EventFilterCTRL.SetFilter(m_filter);
                return;
            }

            if (m_state == DisplayState.ApplyChanges)
            {
                UpdateItems();
                return;
            }

            if (m_state == DisplayState.ViewUpdates)
            {
                EventsCTRL.SetFilter(m_filter);
                return;
            }
        }