The Actipro Blog

All the latest UI control development news from Actipro

SyntaxEditor - XML End Tag Completion

PostBannerSyntaxEditorDevNotes

Let's have a look at a new feature that came to the advanced XML language for SyntaxEditor for WPF (via its Web Languages Add-on) in the latest 2014.2 maintenance release: the ability to auto-complete XML end tags.

Feature Description

The advanced XML language already has auto-end tag insertion features that occur as you type the > character at the end of a start tag.  In that scenario, the end tag is inserted immediately after the caret.  There are other times where you have deleted some text that may include an end tag that you wish to type back in again.

Say that you are editing a block of XML and start to type an end tag.  After typing the < character, the completion list will contain an item for closing the nearest open ancestor element (if any):

SyntaxEditorEndTagAutoComplete1

In the example above, you can see the "/colors" item in the completion list and how selecting it auto-completes the end tag.

End tag auto-completion also works if you put the caret after a </ and press Ctrl+Space, as in this example:

SyntaxEditorEndTagAutoComplete2

In the example above, Ctrl+Space is pressed at the caret's location to auto-complete the "colors>" text.

Summary

The features described above were added in the latest v2014.2 maintenance releases of our WPF Controls and are available for use.

TaskDownload TaskLiveDemo TaskBuyNow

Filed under: Actipro, WPF

SyntaxEditor - Read-Only Regions

PostBannerSyntaxEditorDevNotes

In today's post I'd like to show a new feature that was added to SyntaxEditor (WPF, Silverlight, and WinRT/XAML platforms) in its latest 2014.2 maintenance release: read-only regions.

Feature Description

SyntaxEditor documents have always had the ability to be fully read-only and developers can also can cancel specific text change events for more fine-grained control. That being said, there are many cases where developers want to have an easy way to tell SyntaxEditor that a certain of text should not be editable by the end user.  That's where read-only regions come into play.

SyntaxEditorReadOnlyRegion

Read-only regions are implemented using our powerful tagging mechanism.  There is a new IReadOnlyRegionTag interface (with related ReadOnlyRegionTag implementation class) that can be used to mark read-only regions.  Getting going is as easy as tagging a text range using an instance of that class.

Best of all, the ReadOnlyRegionTag class also implements IClassificationTag, which associates the tag with a classification type for read-only text and gets styled with a silver background.  Of course this is fully customizable if you wish to have a different appearance, or no appearance difference at all.

When the end user attempts to edit anything that would cross within a read-only range, the text change will realize that it intersects a read-only range and will cancel.  The text range protected by the read-only region remains unchanged.

This is a very handy feature for certain scenarios and was highly requested by our customers.

Summary

The read-only region features described above were added in the latest v2014.2 maintenance releases of our WPF, Silverlight, and WinRT/XAML controls and are available for use.

TaskDownload TaskLiveDemo TaskBuyNow

Filed under: Actipro, WPF, Silverlight, WinRT

Actipro Blog 2014 Q4 Posting Summary

BlogSummaryBlogPostBanner

What We Accomplished

In this quarter, we published large maintenance releases for the 2014.2 versions of our WPF, Silverlight, WinRT/XAML, and WinForms controls.  These versions included several new controls and some big feature enhancements for our existing controls.  Check out the release posts for more detail.

What’s Coming Next

We've started work on our 2015.1 versions of our controls.  These will feature some new controls, major improvements to our SyntaxEditor Python Language Add-on, and many other updates.  One thing we're working on is rewriting much of the core of our Docking/MDI for WPF product so that we can support even more advanced features found in the latest IDEs.

Blog Post List

Control Product Development

Tags: