WinRT XAML Controls 2013.2 Released

by Avatar Bill Henning (Actipro)
Tuesday, October 22, 2013 at 10:57am

WinRTBlogPostBanner

The Actipro WinRT XAML Controls 2013.2 have been released and are now ready for download.  This version adds a complete port of our SyntaxEditor control and related add-ons, and also adds a number of new controls to existing products.

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

A new WinRT XAML Studio bundle option is available that includes SyntaxEditor, Charts, Micro Charts, and our Shared Library.  The pricing saves you 40% over purchasing those products individually!  Best of all, once you have an active WinRT XAML Studio subscription, you will receive any new control products added to the bundle for free while your subscription is active.

If you are an existing customer of our individual WinRT/XAML controls and would like to switch to studio bundle at a discounted price, please contact our sales team.

ProductHeadingGenericSyntaxEditor

SyntaxEditor Control

Our SyntaxEditor control is fully ported and now is available for use in WinRT/XAML apps!  This code editor control lets you make any sort of IDE, script, or expression editor app.

SyntaxEditorSDIEditor

SyntaxEditor is a powerful text editing control that is packed with features for efficient code editing, including syntax highlighting, code outlining, parsing, line numbers, block selection, IntelliPrompt UI, zooming, adornments, single-line mode, and much more. It is built on top of our next-generation extensible text/parsing framework and has many of the same code editing features found in the Visual Studio code editor.  The WinRT/XAML version shares a codebase with the WPF and Silverlight versions of SyntaxEditor, making it easy to transition code between platforms.

Now you can build your own apps, just like our free Code Writer app in the Windows Store.

LL(*) Parser Framework

The LL(*) Parser Framework is Actipro's own framework for constructing robust text parsers that work standalone or with code editor controls like SyntaxEditor. The framework features grammars that are written in C#/VB using EBNF-like notation, customizable AST construction, advanced error handling/reporting, easy code injection, a complete debugger UI, and much more.

The framework is included with the SyntaxEditor control for WinRT/XAML.

.NET Languages Add-on

The SyntaxEditor .NET Languages Add-on is an optional add-on that provides automated IntelliPrompt completion lists, parameter info, quick info, code snippets, code outlining, parsing, AST construction, syntax error reporting, a resolver, formatting, and more for C# and Visual Basic documents.

Web Languages Add-on

The SyntaxEditor Web Languages Add-on is an optional add-on that provides automated IntelliPrompt quick info, code outlining, parsing, AST construction, syntax error reporting, end tag auto-complete, formatting, and more for XML documents.  It also includes advanced JavaScript editing with code outlining, parsing, syntax error reporting, formatting and more.

ProductHeadingGenericCharts

PieChart

A new pie chart control has been added to complement our other bar, line, area, and scatter chart offerings.

Pie

The pie chart supports advanced features like multiple label positioning and display options, legend display, nesting of multiple series, hierarchical data, and more.

DonutChart

Donut

Donut charts have been added as well.  All the same features found in pie charts are found in donut charts, and the hole radius is fully configurable.

Axis Tick Labels for Percentage Stacked Charts

PercentageStackingChart

When using stacking bar or area charts with the percentage axis option, the percentage value labels now display on the axis.

Improved Scatter Chart Samples

ScatterChart

A new and improved scatter sample has been added.

Dark Theme Support

Dark themes are now fully supported out-of-the-box.

ProductHeadingGenericMicroCharts

Multiple Part Property Paths in XPath and YPath

The XY charts now allow multi-part property paths to be specified in their XPath and YPath binding values.

Dark Theme Support

Dark themes are now fully supported out-of-the-box for controls like box plot and candlestick.

ProductHeadingGenericShared

RadialSlider Control

RadialSlider is a circular slider that can be used to input any scalar value.

RadialSlider

In the example above, a couple RadialSlider and RingSlice controls are combined to build a timer app.

RingSlice Control

RingSlice renders a portion of a ring at designated angles and radius.

RingSlice

The slice's start and end angles can be bound to any data and its appearance can be fully customized.  Make dotted lines, add different end cap styles, etc.

CircularThumb Control

CircularThumb is a thumb gripper with a circular shape and arrow adornment.  It is what the end user interacts with in a RadialSlider, as seen in the screenshot above.

TaskDownload TaskLiveDemo TaskBuyNow

Silverlight Controls 2013.2 Released

by Avatar Bill Henning (Actipro)
Wednesday, September 18, 2013 at 3:54pm

BlogPostBanner

Actipro Silverlight Controls 2013.2 have been released and is now available for download. 

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

ProductHeadingSilverlightCharts

PieChart

A new pie chart control has been added to complement our other bar, line, area, and scatter chart offerings.

Pie

The pie chart supports advanced features like multiple label positioning and display options, legend display, nesting of multiple series, hierarchical data, and more.

DonutChart

Donut

Donut charts have been added as well.  All the same features found in pie charts are found in donut charts, and the hole radius is fully configurable.

Axis Tick Labels for Percentage Stacked Charts

PercentageStackingChart

When using stacking bar or area charts with the percentage axis option, the percentage value labels now display on the axis.

Improved Scatter Chart Samples

ScatterChart

A new and improved scatter sample has been added.

ProductHeadingSilverlightSyntaxEditor

Web Languages Add-on - Advanced JavaScript Language Implementation

A new advanced JavaScript language implementation has been added to the Web Languages Add-on.

JavaScript

The syntax language features syntax highlighting, parsing, AST building, syntax error reporting, code outlining, delimiter auto-complete, smart indent, text formatting, and code block selection.

See a summary of the new language in this previous blog post.

Word Wrap

The Silverlight version of SyntaxEditor now supports word wrap features as of 2013.2.  These features have been a common request in the past.

WordWrap

Word wrapped text now also appears on printouts.

Delimiter Auto-Completion

Delimiter auto-complete is where the user types a start delimiter and a related end delimiter is auto-inserted after the caret.

DelimiterAutoComplete

In the screenshot above, the { character was typed and the } character was auto-inserted.  This feature has been added to several of the languages in our add-ons.

Delimiter Indent Provider

Curly brace auto-indent can now be easily added to any language, and it has been added to our C# and JavaScript languages in the add-ons.

When the caret is in the middle of a curly brace pair, pressing Enter normally will move the close curly brace to the next line with the caret right in front of it.  If you have an indent provider for your language, the close curly brace will be indented properly however it's still not an ideal situation because you generally want the caret to be on its own line before the close curly brace's line.

CurlyBraceIndent

This scenario is where curly brace auto-indent comes in!  This feature injects a new blank line in between the braces, indents one more level, and positions the caret on that line.

Indentation Guides

Indentation guides are subtle vertical lines that render at each tab stop on lines prior to the first non-whitespace character.  They help visually align the indentation of visible code blocks.

You can see the silver indentation guide lines in the tab stops within this screenshot:

IndentationGuides

Whitespace-only lines are intelligent and render indentation guides based on the tab stop level of surrounding text.

Improved Code Fragments Performance

Lexer and token scanning performance has been improved when using our code fragments feature, which allows you to set header and footer text to surround the document's text for purposes of parsing.

Improved Printing Support

A custom highlighting style registry can now be set explicitly for printouts.  This is ideal if your editor is in a dark theme since then you can use an alternate highlighting style registry designed for light backgrounds on printouts.

Rendering of printouts has also been improved when the syntax highlighting option is off.

.NET Languages Add-on - IntelliPrompt Parameter Info for Array Indexers

Automated parameter info support has been added when the end user edits array indexers.

.NET Languages Add-on - Customizing Completion Items Sample

A new sample is now included that shows how to add and remove items from the C# and VB automated IntelliPrompt completion list.  This ability lets you filter out certain completion list items or add your own custom ones before the list is displayed to the end user.

ProductHeadingSilverlightViews

InertiaScrollViewer

The InertiaScrollViewer control is a drop-in replacement for the native WPF/Silverlight ScrollViewer control but allows you to scroll content using touch, similar to what you're used to on Windows 8 and mobile devices.

It reacts to dragging, flicking, mouse wheel, and normal mouse operation via the scrollbars. You can adjust properties like EasingFunction, VelocityTimeRatio, and VelocityDistanceRatio to fully control how inertia scrolling looks and feels.

Our main Sample Browser pages have been updated with InertiaScrollViewer, allowing full touch interaction and navigation within them.

TaskDownload TaskLiveDemo TaskBuyNow

WPF Controls 2013.2 Released

by Avatar Bill Henning (Actipro)
Wednesday, September 11, 2013 at 12:08pm

BlogPostBanner

Actipro WPF Controls 2013.2 have been released and is now available for download. 

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

ProductHeadingWPFCharts

PieChart

A new pie chart control has been added to complement our other bar, line, area, and scatter chart offerings.

Pie

The pie chart supports advanced features like multiple label positioning and display options, legend display, nesting of multiple series, hierarchical data, and more.

DonutChart

Donut

Donut charts have been added as well.  All the same features found in pie charts are found in donut charts, and the hole radius is fully configurable.

Axis Tick Labels for Percentage Stacked Charts

PercentageStackingChart

When using stacking bar or area charts with the percentage axis option, the percentage value labels now display on the axis.

Improved Scatter Chart Samples

ScatterChart

A new and improved scatter sample has been added.

ProductHeadingWPFRibbon

Improved Support for Touch

Ribbon buttons have been improved to support touch-based tapping.  Popups on all ribbon controls have also been updated to be positioned properly on tablet PCs that have the "right handed" option set.

ProductHeadingWPFSyntaxEditor

Web Languages Add-on - Advanced JavaScript Language Implementation

A new advanced JavaScript language implementation has been added to the Web Languages Add-on.

JavaScript

The syntax language features syntax highlighting, parsing, AST building, syntax error reporting, code outlining, delimiter auto-complete, smart indent, text formatting, and code block selection.

See a summary of the new language in this previous blog post.

Delimiter Auto-Completion

Delimiter auto-complete is where the user types a start delimiter and a related end delimiter is auto-inserted after the caret.

DelimiterAutoComplete

In the screenshot above, the { character was typed and the } character was auto-inserted.  This feature has been added to several of the languages in our add-ons.

Delimiter Indent Provider

Curly brace auto-indent can now be easily added to any language, and it has been added to our C# and JavaScript languages in the add-ons.

When the caret is in the middle of a curly brace pair, pressing Enter normally will move the close curly brace to the next line with the caret right in front of it.  If you have an indent provider for your language, the close curly brace will be indented properly however it's still not an ideal situation because you generally want the caret to be on its own line before the close curly brace's line.

CurlyBraceIndent

This scenario is where curly brace auto-indent comes in!  This feature injects a new blank line in between the braces, indents one more level, and positions the caret on that line.

Indentation Guides

Indentation guides are subtle vertical lines that render at each tab stop on lines prior to the first non-whitespace character.  They help visually align the indentation of visible code blocks.

You can see the silver indentation guide lines in the tab stops within this screenshot:

IndentationGuides

Whitespace-only lines are intelligent and render indentation guides based on the tab stop level of surrounding text.

Improved Code Fragments Performance

Lexer and token scanning performance has been improved when using our code fragments feature, which allows you to set header and footer text to surround the document's text for purposes of parsing.

Improved Printing Support

A custom highlighting style registry can now be set explicitly for printouts.  This is ideal if your editor is in a dark theme since then you can use an alternate highlighting style registry designed for light backgrounds on printouts.

Rendering of printouts has also been improved when the syntax highlighting option is off.

.NET Languages Add-on - IntelliPrompt Parameter Info for Array Indexers

Automated parameter info support has been added when the end user edits array indexers.

.NET Languages Add-on - Customizing Completion Items Sample

A new sample is now included that shows how to add and remove items from the C# and VB automated IntelliPrompt completion list.  This ability lets you filter out certain completion list items or add your own custom ones before the list is displayed to the end user.

ProductHeadingWPFThemes

Improved WindowChrome to Not Cover Auto-Hidden Windows Taskbar

In the past versions, WindowChrome (and thus RibbonWindow) would cover up an auto-hidden Windows taskbar when the window was maximized.  This issue has now been resolved, and the auto-hidden taskbar is now visible.

ProductHeadingWPFViews

InertiaScrollViewer

The InertiaScrollViewer control is a drop-in replacement for the native WPF/Silverlight ScrollViewer control but allows you to scroll content using touch, similar to what you're used to on Windows 8 and mobile devices.

It reacts to dragging, flicking, mouse wheel, and normal mouse operation via the scrollbars. You can adjust properties like EasingFunction, VelocityTimeRatio, and VelocityDistanceRatio to fully control how inertia scrolling looks and feels.

InertiaScrollViewer

In the screenshot above, you can see how our main Sample Browser pages have been updated with InertiaScrollViewer, allowing full touch interaction and navigation within them.

TaskDownload TaskLiveDemo TaskBuyNow

WinRT XAML Controls 2013.1 Build 122 Released

by Avatar Bill Henning (Actipro)
Friday, June 28, 2013 at 1:39pm

BlogPostBanner

WinRT XAML Controls 2013.1 build 122 have been released and are now available for download.

This maintenance release adds the Charts grouped axis features described in a previous post, that are currently available in the WPF and Silverlight versions.

Chart

This screenshot shows how some fruit data has been grouped by color and its results rendered to a bar chart.

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

TaskDownload TaskLiveDemo TaskBuyNow

Chart Features - Grouped Axis

by Avatar Bill Henning (Actipro)
Tuesday, May 14, 2013 at 7:51am

ChartsBlogPostBanner

In the latest WPF and Silverlight controls maintenance releases, we've added some important functionality to our Charts product. In the initial release, we could chart quantifiable values (such as numerics and DateTime) on a Cartesian axis. Now we've added the ability to chart strings and other complex types using our new XYGroupedAxis.

Grouped Axis Example

Take this complex type as an example:

class Transaction {
    public double Price { get; set; }
    public string SalesPersonName { get; set; }
}

Given we have a collection of Transaction objects on our data context...

public ObservableCollection<Transaction> Transactions;

...then we can bind our BarSeries.ItemsSource to the collection of Transactions. The primary axis is our numeric value (Price), and the secondary axis is our string (SalesPersonName). Those are specified using YPath and XPath, respectively.

<XYChart>
    <XYChart.Series>
        <BarSeries ItemsSource={Binding Transactions} 
                    XPath="SalesPersonName" YPath="Price"/>
    </XYChart.Series>
</XYChart>

If our transaction data looks like this:

SalesPersonName

Price

Mary

300

Marcus

100

Steve

250

Marcus

200

Mary

50

Mary

100

Marcus

50

Now our chart will look like so:

Chart1

Notice how on the x-axis, the strings are grouped by equality. So all transactions for Marcus, Mary, and Steve are grouped into single bars. Also notice how on the primary axis, the numeric values are summed together for each group. So for Mary, who had transactions of 300 + 50 + 100, the grouped value becomes 450.

Further Customization

There are several customization options -- you can change how items are grouped by setting XYGroupedAxis.GroupingFunc. XYGroupedAxis.LabelFunc controls how groups are labeled, and XYGroupedAxis.SortingFunc controls how groups are sorted. Using these, we can take the data above and group by the first letter of the name:

Chart2

Here, notice that grouping is done by comparing the first letter of the name, rather than equality of the entire string. LabelFunc has been specified to show the first letter. Note how the values for Mary and Marcus get summed together on the Y axis.

Summary

XYGroupedAxis allows you to provide custom logic to chart complex types easily. Download the free trials of our WPF or Silverlight controls and check it out!

This same functionality will also be coming to the WinRT XAML version of Charts in its next release.

TaskDownload TaskLiveDemo TaskBuyNow