About Us

Actipro Software
is a leading provider of .NET user interface controls for the WPF, UWP, Silverlight, and WinForms frameworks,
and is most well-known for their SyntaxEditor syntax-highlighting code editor control.

Let's take a quick look at some of the more notable features that were added.

Charts

Bar Customization

The series style selector's method for picking each bar's style in a bar chart has been updated to be passed bar index and count, allowing for individual bars to be customized.

Docking/MDI

UIA Updates for Better Coded UI Test Support

The docking window container UIA hierarchy has been updated to better support Coded UI Test. These changes should now allow Coded UI Tests for controls in docking windows to record and play back successfully.

Keeping Auto-Hide Popups Open For Dialogs

There is now a property that can be set temporarily to prevent an auto-hide popup from closing when WPF keyboard focus is lost from it, which can happen if a dialog window is opened from a button on the docking window. In this scenario in the past, the button could be clicked and the auto-hide popup might slide back. The new option allows the popup to remain open when the dialog is open.

Improved Dragging Over Nested Linked Dock Sites

Updated docking window logic now shows dock guides by default for linked dock sites at the same nesting level, when there are multiple dock sites nested. If there are multiple linked dock sites covering the same drag location, the Shift key can be held to switch dock guides to an alternate dock site.

Editors

MaskedTextBox Input Improvements

Logic has been updated to block some input that would trigger a shorter match.

NaN and Infinity Support Added to Multiple Edit Boxes

The CornerRadiusEditBox, PointEditBox, RectEditBox, SizeEditBox, ThicknessEditBox, and VectorEditBox controls now all have properties that can be set to allow NaN and infinity component values.

Gauge

Improved Digital Gauge Segment Rendering

The distance between digital gauge segments for the 7-segment (normal) and 14-segment (normal) character sets has been reduced, making the digital gauges easier to read at certain sizes, and more like most real readouts.

SyntaxEditor

Free Sample C#/VB Syntax Language Updates

The free language definition files now support C# 6 and VB 14 enhancements.

XML Start Tag Self-Closing

The XML auto-completion logic in the Web Languages Add-on will self-close start tags if a '/' is typed.

Summary

There were also a large number of smaller improvements made throughout the products. See the announcement posts for the detailed list of enhancements and updates:

Note that the 2014.2 version of the WinRT/XAML controls came out last month, introducing our Editors controls, but a new maintenance release is available today adding other new features.

We've added six new built-in chart palette options, including Retro and Sand:

Docking/MDI received numerous updates, including a new option for rafting windows to not hide when in scenario where their owner DockSite is hidden, such as if it's nested in tabs itself. Many updates to focus handling were made, especially in relation to interop controls like WinForms/ActiveX.

Updated the Country and Currency classes with the latest ISO data.

WinRT/XAML Only

As announced in recent blog posts, our WinRT/XAML controls now have some really unique and universal (Windows Store / Windows Phone) controls for accepting input of common data types.

See our Edit Boxes Overview for a summary of the controls and some links to additional posts describing their functionality.

A new segment chart has been added that allows for visual display of an integer value within a total..

This sort of chart is great for use on dashboards, and also as an indicator of steps or progress achieved.

Another new control is the arrow indicator displayed on the left side of the stock chart below. It's called a trend indicator and alters its UI to reflect whether a numeric value is greater than, the same as, or less than an origin value.

Six new built-in chart palettes have been added as well, including IceCream and Melon.

We've created a new custom property editor sample that shows how to easily add a custom property editor for a certain Type.

Double-clicking a property name has been improved such that if the property doesn't support standard values, it will attempt to focus the related editor instead and select all text.

Quote auto-completion support has been added to the DelimiterAutoCompleter class, with double quote completion enabled by default. As the user types a start quote, the related end quote will be auto-entered after the caret. The C#, VB, Python, JavaScript, and JSON languages in our premium add-ons have been updated to support quote auto-completion. It can easily be added to any custom languages as well.

We've added some nice new features like a ScrollIntoView method that can ensure that a text position is visible within the view, improved caret/selection movement around and delete/backspace of multi-byte characters, and improved backspace to move to the previous tab stop when auto-convert tabs to spaces is active and the caret is before the first non-whitespace character on the line.

.NET Languages Add-on

We've had a lot of requests for showing how to support ASP-style server tags, where the C# within the tags has automated IntelliPrompt.

We're happy to deliver a new full source sample (seen above) that shows how to harness our .NET Languages Add-on within server tags.

Python Language Add-on

Today's releases contain the first version of our Python Language Add-on, a new premium add-on that supports both v2.x and v3.x syntax.

We'll blog about the language in more detail soon, but you can download and start using it today.

A new triangle shape can be used in UI such as breadcrumbs, tabs, etc.

This shape can auto-size to its container and supports strokes and fills.

WPF Only

We've added a ZoomLevelToTextFormattingModeConverter class, which can switch from Display to Ideal text formatting mode when the zoom level is increased, thereby keeping text clear in any scenario.

Auto-Calculation of Tick Mark Intervals

XYDoubleAxis, XYDecimalAxis, and XYDateTimeAxis have been updated to auto-calculate tick mark intervals when they aren't specifically set. A new Axis Ticks QuickStart has been added that shows off automatic tick mark interval calculation.

Rendering Improvements

We've improved the rendering speed of data point labels, improved the rendering logic of bar charts, and updated data point labels to use a subtle border so that they don't blend in with surrounding chart objects of the same color.

Label Performance Improvements

Numeric Type Data Upconversion

XYChart now will automatically upconvert non-Double numeric type data to Double type so it can display.

Child Control Styles Applied to Some Auto-Generated Columns (WPF only)

ThemedDataGrid has been updated to style the child controls of auto-generated ComboBox and CheckBox columns.

Disabling Rafting Window Snap-to-Screen (WPF only)

Added the DockSite.IsRaftingWindowSnapToScreenEnabled, which can be set to false to prevent rafting windows from snapping to the closest screen when being displayed.

More Tabbed MDI Tile Options (WPF only)

Overloads to the TabbedMdiHost.TileHorizontally and TileVertically methods have been added that allow for a maximum number of columns/rows. This permits additional tile configurations, such as a single row of tiles.

Double-Clicks Cycle Values (WPF only)

CommitPendingChanges Helper Method (WPF only)

A PropertyGrid.CommitPendingChanges method has been added that forces any pending LostFocus bindings within property editors to update and ensure the data model is current.

Navigable Symbols Hierarchy Support

Navigable symbols now support hierarchy levels and item indentation. This feature was added to allow XML element hierarchies to be displayed in the NavigableSymbolSelector.

Numerous Minor Enhancements

Many minor enhancements have been made, which can be seen in the detailed update list.

LL(*) Parser Framework

A Grammar.AddChildFrom overload was added that allows for specification of a desired child index.

Web Languages Add-on

The XML grammar was reimplemented using type-specific AST nodes, thereby reducing overall AST memory usage by an average of 40%. A XmlNavigableSymbolProvider service was added to the XML language that provides contextual element and attribute display in a NavigableSymbolSelector control. The XML and HTML editor demos were updated to showcase the new navigable symbol provider features.

One great new feature coming in the next build of our Charts product for WPF, Silverlight, and WinRT/XAML is automatic tick calculation when no tick interval is specified.

If you know the range of data that will be displayed in your charts, it often makes sense to specify an exact tick interval. This ensures that the charts render gridlines, ticks, and labels exactly how you intend for them to look.

Our current version of Charts requires you to specify the tick interval, or else ticks won't show up in many cases. We had a lot of feedback from customers that there are many scenarios where they don't want to have to set up the tick intervals ahead of time since the data can often be very dynamic. Our customers asked for tick intervals to be automatically calculated when not specified, and that's what we've done for the next build.

Features

The new feature will examine the minimum and maximum values of your data and determine a proper interval to apply to ticks so that they are visually spaced out in a pleasing way.

Let's have a look at how this works. In this chart, neither axis has a tick interval specified, so the new feature kicks in on both the x-axis and y-axis.

The y-axis has a sales dollar amount and the new logic determined that a major tick interval of $200 should be used. The x-axis' major tick interval was determined to be 5.

Next, we have another similar example, but this chart shows how the feature even works to calculate major tick intervals for dates.

The logic examined the minimum and maximum dates and found a certain number of days to use as the major tick interval.

Summary

The new highly-requested chart automatic tick calculation features will be available in the next 2014.1 maintenance releases of our WPF, Silverlight, and WinRT/XAML controls.

WinRT XAML Controls 2013.2 build 131 has been released and is now available for download. This build focuses on numerous enhancements and bug fixes. While many updates were made, major ones are listed below.

Silverlight Controls 2013.2 build 162 has been released and is now available for download. This build focuses on numerous enhancements and bug fixes. While many updates were made, major ones are listed below.

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 Studiobundle 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.

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.

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.

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.

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.

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.

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:

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.

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.

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.