Exemplo n.º 1
0
        private void SendMessage(FoldingStates state, FoldingPositionInfo folding)
        {
            var areaBeforeFolding = new TextRange();
            var areaAfterFolding  = new TextRange();

            if (state == FoldingStates.FOLDED)
            {
                areaBeforeFolding.StartPosition = folding.Position;
                areaBeforeFolding.EndPosition   = foldingPositions.First(pair => Equals(pair.Key, folding)).Value.Position;
                areaAfterFolding.StartPosition  = folding.Position;
                areaAfterFolding.EndPosition    = new TextPosition(column: folding.Position.Column + FoldingAlgorithm.GetCollapsibleRepresentation().Length, line: folding.Position.Line);
            }
            else
            {
                areaAfterFolding.StartPosition  = folding.Position;
                areaAfterFolding.EndPosition    = foldingPositions.First(pair => Equals(pair.Key, folding)).Value.Position;
                areaBeforeFolding.StartPosition = folding.Position;
                areaBeforeFolding.EndPosition   = new TextPosition(column: folding.Position.Column + FoldingAlgorithm.GetCollapsibleRepresentation().Length, line: folding.Position.Line);
            }

            Postbox.Put(new FoldClickedMessage {
                AreaBeforeFolding = areaBeforeFolding,
                AreaAfterFolding  = areaAfterFolding,
                ClosingTag        = FoldingAlgorithm.GetClosingTag(),
                OpeningTag        = FoldingAlgorithm.GetOpeningTag(),
                State             = state
            });
        }
 private FoldClickedMessage GetFoldClickedMessage(int startingCol, int startingLine, int endingCol, int endingLine, FoldingStates state) {
     return new FoldClickedMessage {
         State = state,
         AreaBeforeFolding = new TextRange {
             StartPosition = new TextPosition(startingCol, startingLine),
             EndPosition = new TextPosition(endingCol, endingLine)
         },
         OpeningTag = "{",
         ClosingTag = "}"
     };
 }
        public void DrawFolding(FoldingStates state, int top) {
            var symbol = state == FoldingStates.EXPANDED ? "-" : "+";
            var runProperties = TextConfiguration.GetGlobalTextRunProperties();
            var formattedText = GetFormattedText(symbol, runProperties);
            var textLocation = new Point(5, top);

            using (var drawingContext = RenderOpen()) {
                drawingContext.DrawRectangle(Brushes.Transparent, new Pen(Brushes.Black, 1), new Rect(4, top + 2, 10, 9));
                drawingContext.DrawText(formattedText, textLocation);
            }
        }
Exemplo n.º 4
0
        public void DrawFolding(FoldingStates state, int top)
        {
            var symbol        = state == FoldingStates.EXPANDED ? "-" : "+";
            var runProperties = TextConfiguration.GetGlobalTextRunProperties();
            var formattedText = GetFormattedText(symbol, runProperties);
            var textLocation  = new Point(5, top);

            using (var drawingContext = RenderOpen()) {
                drawingContext.DrawRectangle(Brushes.Transparent, new Pen(Brushes.Black, 1), new Rect(4, top + 2, 10, 9));
                drawingContext.DrawText(formattedText, textLocation);
            }
        }
 private FoldClickedMessage GetFoldClickedMessage(int startingCol, int startingLine, int endingCol, int endingLine, FoldingStates state)
 {
     return(new FoldClickedMessage {
         State = state,
         AreaBeforeFolding = new TextRange {
             StartPosition = new TextPosition(startingCol, startingLine),
             EndPosition = new TextPosition(endingCol, endingLine)
         },
         OpeningTag = "{",
         ClosingTag = "}"
     });
 }
Exemplo n.º 6
0
 public static bool Has(this FoldingStates enu, FoldingStates flag) => (enu & flag) == flag;
        public void DrawLine(TextRunProperties runProperties, FoldingStates state, int top, int lineSpan) {

        }
Exemplo n.º 8
0
 public void DrawLine(TextRunProperties runProperties, FoldingStates state, int top, int lineSpan)
 {
 }
Exemplo n.º 9
0
        private void SendMessage(FoldingStates state, FoldingPositionInfo folding) {
            var areaBeforeFolding = new TextRange();
            var areaAfterFolding = new TextRange();

            if (state == FoldingStates.FOLDED) {
                areaBeforeFolding.StartPosition = folding.Position;
                areaBeforeFolding.EndPosition = foldingPositions.First(pair => Equals(pair.Key, folding)).Value.Position;
                areaAfterFolding.StartPosition = folding.Position;
                areaAfterFolding.EndPosition = new TextPosition(column: folding.Position.Column + FoldingAlgorithm.GetCollapsibleRepresentation().Length, line: folding.Position.Line);
            } else {
                areaAfterFolding.StartPosition = folding.Position;
                areaAfterFolding.EndPosition = foldingPositions.First(pair => Equals(pair.Key, folding)).Value.Position;
                areaBeforeFolding.StartPosition = folding.Position;
                areaBeforeFolding.EndPosition = new TextPosition(column: folding.Position.Column + FoldingAlgorithm.GetCollapsibleRepresentation().Length, line: folding.Position.Line);
            }

            Postbox.Put(new FoldClickedMessage {
                AreaBeforeFolding = areaBeforeFolding,
                AreaAfterFolding = areaAfterFolding,
                ClosingTag = FoldingAlgorithm.GetClosingTag(),
                OpeningTag = FoldingAlgorithm.GetOpeningTag(),
                State = state
            });
        }