SyntaxEditor - Bookmark Indicators

by Avatar Bill Henning (Actipro) - 2 comments
Thursday, March 7, 2013 at 1:40pm


One of the feature areas we're adding to WPF and Silverlight SyntaxEditor controls is the ability to create indicators, which are special "tagged" regions of text that optionally display a glyph in the indicator margin or highlight the text range with special styles.

Several built-in indicator types will come with SyntaxEditor, one of them being bookmarks.

Bookmark Indicators

Bookmarks are line-based indicators, meaning they associate themselves with a single line of text.  Even as the line gets edited, they remain associated with a single full line.  They move around with the same logic found in Visual Studio's code editor.

Let's see what they look like:


In this screenshot, we show three bookmarks rendered in the indicator margin on the left.  Our default implementation of bookmarks only renders glyphs in the margin, and doesn't highlight the marked line in the text area in any way (but you could optionally do this too if you wanted).

The toggle bookmark button checks to see if a bookmark is already on the caret's line.  If there is one, it removes it.  If there isn't one, it adds a new bookmark.  Clear all bookmarks removes them all from the document.

The previous and next bookmark buttons use our indicator search API to find another indicator based on an initial line.  In this case, we pass in the line that contains the caret and find the previous/next indicator.  If one is found, we move the caret to that line.


These features will be in the 2013.1 versions of the WPF and Silverlight SyntaxEditor controls.

We are still working on the design and implementation of indicators.  If you have any feature suggestions, now is the time to contact us!  Please comment here or e-mail us with your ideas and questions.

TaskDownload TaskLiveDemo TaskBuyNow

Announcing Our Upcoming Charts Products

by Avatar Bill Henning (Actipro) - 4 comments
Wednesday, March 6, 2013 at 12:08pm


As we finally draw near the release of the 2013.1 versions of our WPF, Silverlight, and WinRT/XAML controls, I'd like to take this opportunity to announce a new product being added to all three platforms:  full size charts!

The platforms mentioned above already have our Micro Charts product, which is ideal for visualizing data in small sizes, such as in grids or dashboards.  Customers have asked for complementary large charts that have multiple-axis support, grid lines, etc.  And we have delivered.  The 2013.1 versions will be receiving full size charts, and as usual, the API will be the same among the three platforms, allowing you to easily port code around.

First Look

Let's take a first look at a Surface device running the WinRT version of a Charts demo:


In this Baseball Stats sample, we compare the statistics of two fictional baseball players and visualize important data through the use of charts.


We are currently finishing up the 2013.1 versions for the platforms and hope to have them (and the new Charts products) out in the next couple weeks or so.  Keep watching our blog for more details.

Silverlight Controls Moving to Silverlight 5 in v2013.1

by Avatar Bill Henning (Actipro)
Friday, February 22, 2013 at 12:42pm


We're currently hard at work on finishing up the 2013.1 versions of our products.  We should have more details soon on what's new.

One change we're making to our Silverlight controls is that they will be moving to the Silverlight 5 framework instead of Silverlight 4, as in previous versions.  Silverlight 5 was released well over a year ago and is plenty stable at this point.

Text Rendering Improvements in SyntaxEditor

A main reason for this change is so that we can support TextFormattingMode options in SyntaxEditor.  In the past, if you changed your Silverlight 5 app's root visual to use TextOptions.TextFormattingMode="Display" then hit testing and some rendering in SyntaxEditor would be incorrect unless you set it back to "Ideal" on the SyntaxEditor instance.

Along with the general switch for our control projects to be compiled targeting Silverlight 5, we went through all the text rendering code in SyntaxEditor and updated it to adhere to the current TextFormattingMode setting.

In this new version, regardless of which setting your app uses, it will render properly.  Let's see a comparison:


This screen shows a SyntaxEditor with a completion list and description tip display.  The left side uses the default "Ideal" mode and the right side uses the new "Display" mode option.  You can see the text clarity is a bit better with the new "Display" mode.


These enhancements will be in the 2013.1 version of the Silverlight controls, due in the next several weeks.

TaskDownload TaskLiveDemo TaskBuyNow

WPF Controls Getting New Metro Dark Theme

by Avatar Bill Henning (Actipro) - 2 comments
Tuesday, February 5, 2013 at 11:03am


In the 2012.2 version of our WPF Controls, we added two Metro themes.  The Metro Light theme renders similar to VS 2012's gray window, and the Metro White theme renders similar to an Office 2013 window.

We've had several requests for a dark theme, and we've delivered one for the upcoming 2013.1 version of our WPF Controls!

Sample Screenshots


Here is the main SyntaxEditor demo with the Metro Dark theme active.  We updated the Sample Browser to show off use of dark SyntaxEditor highlighting styles for some common languages when the Metro Dark theme is activated. 


In this screen, we show a mail app using the dark theme.  Just like in the prior screen, it is a regular WPF Window but we've applied our WindowChrome on it to enable the full Metro appearance.


All of the Actipro and native controls support the new theme.  Here we see a Wizard with various text, links, and buttons all fully themed.

Easily Theme Your Entire App

Actipro has a very robust theming system that allows you to fully theme your entire WPF application with several lines of code.  We include over 10 built-in themes and they can optionally apply themed styles to native WPF controls as well.  Each theme involves almost 900 distinct resource assets, such as brushes and thicknesses, specifically designed for the theme.

In addition, our WindowChrome class lets you instantly transform a normal WPF Window to a chromed window that matches the theme.

The end result is that your windows, native WPF controls, and Actipro controls all blend well together and provide a consistent user interface for your customers.


This new Metro Dark theme will be included in the 2013.1 version, due in the next several weeks.

TaskDownload TaskLiveDemo TaskBuyNow

SyntaxEditor .NET Languages Add-on - VB Text Formatter

by Avatar Bill Henning (Actipro)
Wednesday, January 30, 2013 at 8:24pm


Today I'd like to show off another new feature coming to the WPF and Silverlight .NET Languages Add-on:  Visual Basic text formatting!

As mentioned in our previous post, a similar feature is being added for the C# language.  Text formatters beautify code, making it more readable by adjusting whitespace.

Visual Basic Text Formatting Example

Let's see an example of some messy VB code loaded up in SyntaxEditor:


After formatting the document, the result is:


That's much nicer!

Intelligent Modifications

As described in a previous post, the best part about the text formatting feature is that SyntaxEditor only adjusts ranges it needs to.  It doesn't do a mass replace of the whole document.  For instance on line 23, it tweaks the leading whitespace on the line and removes the space before the end parenthesis, but doesn't touch the rest of the line.

All of the various text change operations involved in the formatting are merged into a single atomic text change that is added as a single undo stack item.  This makes it easy for the end user to quickly undo any formatting changes that were made.


These features will be in the 2013.1 versions of the WPF and Silverlight SyntaxEditor .NET Languages Add-on.

TaskDownload TaskLiveDemo TaskBuyNow