SyntaxEditor - Code Block Selection

by Avatar Bill Henning (Actipro)
Wednesday, April 17, 2013 at 2:52pm

PostBannerSyntaxEditorDevNotes

We've been hard at work on new features, many of which relate to SyntaxEditor, for the upcoming 2013.1 maintenance releases of our WPF and Silverlight products.

A new feature coming to SyntaxEditor that is already in our WinForms version is called code block selection.

What It Does

Code block selection is a feature where the view's selection can be expanded to include containing code blocks, and then later contracted all the way back down to the caret as appropriate.

For instance, in C# the first time you expand the selection (via Ctrl+Num+), it may select the containing identifier.  By expanding it again, it may select the containing expression, then the containing statement, then the containing method.  And so on up the compilation unit.

By contracting the selection (via Ctrl+Num-), it goes back and selects the previously selected block.  Contracting can occur recursively to go back to the original selection.

This feature can be implemented in any language (very easily so if your custom language uses our LL(*) Parser Framework), and we've done just that for the advanced C#, VB, and XML languages we provide.

A C# Example

Let's see how this works in the C# language from our .NET Languages Add-on.

CSharp1

The cursor starts in WriteLine.

CSharp2

The containing identifier is first selected.

CSharp3

Then the containing expression. 

CSharp4

Then the containing statement, which in this case was the expression plus the semi-colon.  Next, the containing block is selected.

CSharp5

Finally the containing for statement of that block is selected.  If we would continue on, the method, class, etc. would be selected.

A XML Example

Now let's see how the XML language in the Web Languages Add-on works with this feature.

Xml1

First the caret is in an attribute name.

Xml2

Then the attribute is fully selected.

Xml3

Then all attributes in the tag are selected.

Xml4

Next, the entire tag is selected.

Xml5

Then the containing element's content is selected.  This is great if you want to quickly press Del and replace the content of the element.

Xml6

Finally, the entire tag block is selected.  If we would continue on, the parser element's content would be selected, then the parser tag block, etc.

Summary

You can see how this great feature can help with quick selection of containing code blocks.

This and some other exciting unannounced features are ready to go for the upcoming 2013.1 maintenance release, due soon.

TaskDownload TaskLiveDemo TaskBuyNow

Chart Features - Axes

by Avatar Bill Henning (Actipro)
Monday, April 15, 2013 at 9:31am

BlogPostBanner

The recent 2013.1 versions of our WPF, Silverlight, and WinRT XAML controls added full-size charts products.axis1

One feature of our new Charts products are axes. Axes allow you to visualize the value range of your chart by labeling values.

Minimum and Maximum Values

Changing axis values such as Minimum and Maximum will determine what data displays on your chart and where. Here is the same data displayed in two charts. In the first, Minimum and Maximum are determined automatically.

axis2

In the second one, they are set manually to arbitrary values.

axis3

Axis Positioning

We have several capabilities to help you achieve the right look and feel for your application. The first is axis positioning, where you can place axes on either end of the chart.

axis4

Tick Intervals

Next is the ability to set the tick intervals. Here, we see two of the same chart. In the first, tick intervals are set to one month.

axis5

In the second, tick intervals are set to three months.

axis6

Grid

You can show major and minor ticks, and our grid feature allows you to extend those ticks behind the chart surface.

axis7

Styling Ticks

You can also style ticks to match your application.

axis8

Axis Labels

Axes can show labels on each major tick, and also a title. The angle of the labels is adjustable for when you need to put long labels on a small chart.

axis9

Summary

These are just a sample of some of the options available. There are a ton more. Download the trial and check it out!

TaskDownload TaskLiveDemo TaskBuyNow

WPF Controls 2013.1 Released

by Avatar Bill Henning (Actipro) - 2 comments
Wednesday, March 20, 2013 at 12:04pm

BlogPostBanner

Actipro WPF Controls 2013.1 have been released and is now available for download. This version adds a new full-size Charts product, a Metro Dark theme, a complete reimagining of the Sample Browser's UI, and some great new SyntaxEditor functionality.

Major new features are described below.  See the announcement post for the detailed list of enhancements and updates.

ProductHeadingWPFCharts

Our new full-size Charts product has been added, allowing you to create stunning charts for your apps.  See this announcement post and this first look post for a couple other chart screenshots.

Line Charts

LineChartType_thumb[1]

A line chart renders quantitative data as a series of points connected by line segments. Lines can be straight, curved, or stepped. Markers can optionally be displayed based on type (such as first/last, high/low, negative, etc.).

Scatter Charts

ScatterChartType_thumb[1]

Scatter charts render data points where each point is represented by a marker. Markers can use numerous built-in shapes or can be set to use custom shapes.

Area Charts

AreaStackedChartType_thumb[1]

An area chart is a derivative of a line chart, where the area between the line and axis is filled in. As with line charts, areas can also be rendered using straight, curved, or stepped lines

Bar Charts

BarStackedChartType_thumb[1]

A bar chart displays rectangular bars with lengths proportional to the values they represent. Bar spacing can be set and the bars can be changed to render horizontally instead.

ProductHeadingWPFSyntaxEditor

Indicators

IndicatorsBreakpoints_thumb

A rich object model for supporting indicators has been added.  Indicators are special "tagged" regions of text that optionally display a glyph in the indicator margin and optionally highlight the text range with special styles.  Built-in indicators include bookmarks, breakpoints, and current statement indicators.  Custom indicators can easily be created as well.

See this bookmark indictors post and this debugging indicators post for much more detail on indicators and examples of functionality.

Line Terminator Backgrounds

When a style that has a background encompasses a line terminator, it now will render the background of the line terminator's virtual character.

A new property BackgroundSpansVirtualSpace property has been added to highlighting styles that when set to true, will extend the background over a line terminator to cover all the way to the right edge of the view.

Trim All Trailing Whitespace

A new edit action has been added to trim all trailing whitespace in the entire document, regardless of the current selection.

CollectionTagger<T> Enhancements

The CollectionTagger<T> class has received a large number of new methods that make it easier than ever to manage a collection of tagged regions.

.NET Languages Add-on - Text Formatting

Text formatters have been added to the C# and VB languages in the .NET Languages Add-on, which beautify code by adjusting whitespace and making it more readable.

TextFormatting_thumb

See this C# text formatter post and this VB text formatter post for more information and examples of the formatting results.

.NET Languages Add-on - Attribute IntelliPrompt

AttributeIntelliPrompt_thumb[1]

Full automated IntelliPrompt while editing C# and VB attributes is now included.

.NET Languages Add-on - Implicit Variable Type IntelliPrompt

Automated IntelliPrompt quick info now displays when hovering over var in C# or Dim in VB.

ImplicitTypes_thumb

See this blog post for some more information and screenshots.

ProductHeadingWPFThemes

Metro Dark Theme

A Metro Dark theme has been implemented that renders similar to Visual Studio 2012's dark theme.  This new theme affects all controls and even can apply to native WPF controls.

MetroDark

Actipro Themes for WPF now provides implementations of all system themes, three Office themes, and three Metro themes!

See this blog post showing several screenshots of the new Metro Dark theme in action.

TaskDownload TaskLiveDemo TaskBuyNow

WPF Controls 2012.2 Build 574 Released

by Avatar Bill Henning (Actipro)
Friday, March 15, 2013 at 10:52am

BlogPostBanner

Today we published new maintenance releases of our WPF control products.  The maintenance release contains numerous tweaks and bug fixes across the various WPF control products.  It is highly recommended that if you are on v2012.2, you download and switch to this new build.

See the announcement post for the detailed list of enhancements and updates.

We are finishing up and doing a final review of v2013.1 now.  We hope to publish it next week!

TaskDownload TaskLiveDemo TaskBuyNow

First Look at Charts - Financial Dashboard Demo

by Avatar Bill Henning (Actipro)
Thursday, March 14, 2013 at 4:26pm

BlogPostBanner

We've just about wrapped everything up for the 2013.1 versions of our WPF, Silverlight, and WinRT/XAML controls and hope to have them out next week.

As mentioned in a previous post, this new version introduces a new full-size Charts product to complement our existing Micro Charts controls product.

In this post I'd like to show a screenshot of one of the demos that comes with Charts:

Financial

This demo shows a simulated financial dashboard where the charted values refresh and scroll every few seconds.  You can click on a stock on the left side to view its detail in the large chart on the right.

The new Charts product, this sample, and many more QuickStarts are coming soon in the 2013.1 version!