예제 #1
0
        /// <summary>
        ///     Finishes processing of a nested model group.
        /// </summary>
        /// <returns>The current depth of the group nesting, or -1 if there are no more groups to pop.</returns>
        public int PopGroup() {
            if (m_currentDepth == 0) {
                return -1;
            }

            m_currentDepth--;
            m_model.Parent.AddGroup(m_model);
            m_model = m_model.Parent;
            return m_currentDepth;
        }
예제 #2
0
 /// <summary>
 ///     Adds a new child model group to the end of the group's members.
 /// </summary>
 /// <param name="g">The model group to add.</param>
 public void AddGroup(Group g) {
     Members.Add(g);
 }
예제 #3
0
 /// <summary>
 ///     Initialises a new Content Model Group.
 /// </summary>
 /// <param name="parent">The parent model group.</param>
 public Group(Group parent) {
     m_parent = parent;
     Members = new ArrayList();
     m_groupType = GroupType.None;
     m_occurrence = Occurrence.Required;
 }
 /// <summary>
 ///   Begins processing of a nested model group.
 /// </summary>
 public void PushGroup() {
     m_model = new Group(m_model);
     m_currentDepth++;
 }
 /// <summary>
 ///   Initialises a new instance of the <see cref = "ContentModel" /> class.
 /// </summary>
 public ContentModel() {
     m_model = new Group(null);
 }