示例#1
0
        public void ClearHistory()
        {
            HistoryNextLines.Clear();
            HistoryPreviousLines.Clear();

            OnHistoryChanged();
        }
示例#2
0
        public void MoveHistoryPreviousLine()
        {
            if (CanMoveHistoryPreviousLine)
            {
                PoemLine curLine = this.CurrentLine;
                PoemLine line    = HistoryPreviousLines[0];

                selectedLines.Clear();
                selectedLines.Add(line);

                HistoryPreviousLines.RemoveAt(0);

                if (curLine != null)
                {
                    HistoryNextLines.Insert(0, curLine);
                }

                OnHistoryChanged();
                OnCurrentLineChanged();
            }
        }
示例#3
0
        public void MoveHistoryNextLineByIndex(int itemIndex)
        {
            if (CanMoveHistoryNextLine)
            {
                PoemLine curLine = this.CurrentLine;

                if (curLine != null)
                {
                    HistoryPreviousLines.Insert(0, curLine);
                }

                for (int index = 0; index < itemIndex; index++)
                {
                    HistoryPreviousLines.Insert(0, HistoryNextLines[index]);
                }

                for (int i = 0; i < itemIndex; i++)
                {
                    HistoryNextLines.RemoveAt(0);
                }

                while (HistoryPreviousLines.Count > maxHistoryElement)
                {
                    HistoryPreviousLines.RemoveAt(HistoryPreviousLines.Count - 1);
                }

                PoemLine line = HistoryNextLines[0];

                selectedLines.Clear();
                selectedLines.Add(line);

                HistoryNextLines.RemoveAt(0);

                OnHistoryChanged();
                OnCurrentLineChanged();
            }
        }
示例#4
0
        public void GoLinePrevious()
        {
            PoemLine curLine = null;

            if (selectedLines.Count > 0)
            {
                curLine = selectedLines[0];
                selectedLines.RemoveAt(selectedLines.Count - 1);
            }

            if (systemAccumulation != null)
            {
                if (curLine == null)
                {
                    curLine = systemAccumulation.GetLastLine();
                }
                else
                {
                    curLine = this.mySAIterator.GetNextLine(curLine, false);
                }
            }

            if (curLine != null)
            {
                selectedLines.Insert(0, curLine);
            }

            HistoryNextLines.Clear();

            while (selectedLines.Count > selectedLinesCount)
            {
                selectedLines.RemoveAt(selectedLines.Count - 1);
            }

            OnCurrentLineChanged();
        }