Exemple #1
0
        /// <summary>
        /// Displays info about any previous incarnations of the feature
        /// currently selected for update.
        /// </summary>
        internal void Predecessors()
        {
            // Return if there is no predecessor.
            LineFeature prevLine = GetPredecessor(m_SelectedFeature);

            if (prevLine == null)
            {
                return;
            }

            // Get a list of all the predecessor lines
            List <LineFeature> prev = new List <LineFeature>();

            while (prevLine != null)
            {
                prev.Add(prevLine);
                prevLine = prevLine.GetPredecessor();
            }

            // Display list of the edits
            using (PickPredecessorForm dial = new PickPredecessorForm(prev.ToArray(), true))
            {
                if (dial.ShowDialog() == DialogResult.OK)
                {
                    Run(dial.SelectedLine);
                }
            }
        }
Exemple #2
0
        /// <summary>
        /// Returns the first predecessor (if any) for a specific feature.
        /// </summary>
        /// <param name="feat"></param>
        /// <returns>The predecessor (must be a line). Null if none.</returns>
        internal static LineFeature GetPredecessor(Feature feat)
        {
            LineFeature line = (feat as LineFeature);

            if (line == null)
            {
                return(null);
            }
            else
            {
                return(line.GetPredecessor());
            }
        }