SyntaxEditor Adding Multi-Line Editing Features

by Avatar Bill Henning (Actipro) - 2 comments
Friday, October 18, 2013 at 9:58am

PostBannerSyntaxEditorDevNotes

We've got an exciting new SyntaxEditor feature to announce that's been desired by a number of customers.  And best of all, it's coming to all our supported platforms:  WPF, Silverlight, WinRT/XAML (coming very shortly), and WinForms.

The new feature is the ability to edit multiple lines when a block selection is active, also known as column editing.  First, let's review block selections.

Block Selection

Block selection occurs when you hold Shift+Alt and press the arrow keys.  For instance if you press the Shift+Alt+Down shortcut a couple times, you create a block selection that in previous versions would end up selecting the entire three lines since its selection was zero-width (no real characters were selected).  If you then pressed Shift+Alt+Right, it would make a rectangular selection that is three lines tall and one character wide.

At this point you could extend the selection further and then copy it, move to a new location in the document, paste it, and the entire block would be pasted in place there.  This is a very handy editing feature in some scenarios.

Changes to Block Selection

In the next SyntaxEditor releases, we have altered how things work when you have the zero-width block selection.  Again this is the scenario where you start with no selection and press Shift+Alt+Down a couple times.  In the updated code, we now no longer show selection over all the lines and instead, render a thin line that displays where the block selection is.

BlockEditing1

In the screenshot above, you can see the blue lines that indicate the location of the zero-width block selection.

BlockEditing2

If we extend the block selection to the right, it become a rectangle that covers the class attributes.  We now can delete that by pressing Del.

Multi-Line Editing

Now let's get onto a demonstration of the new features coming for multi-line editing.

BlockEditing3

Again, I've created a zero-width block selection and now I'll start typing.

BlockEditing4

I've typed in the div tag again but I only did it once.  It automatically entered the characters I typed on each line that was part of the zero-width block selection.  That's pretty neat!

Not only does normal character typing work while doing multi-line editing, but Tab (indent), Shift+Tab (outdent), Del (delete next character), Backspace (delete previous character), Shift+Del (delete to next word start), and Shift+Backspace (delete to previous word start) also do.  For instance if I press Backspace to delete the last character I typed, the result is this:

BlockEditing5

The last character I typed (a >) is now gone in all three lines.

Summary

These sorts for multi-line editing features can really help increase productivity in a number of editing scenarios.  They will be included in the next releases of our WPF, Silverlight, and WinForms controls.  And they will be included in the upcoming WinRT version of SyntaxEditor as well.

SyntaxEditor for WinRT - Ready for Beta Testing

by Avatar Bill Henning (Actipro)
Tuesday, October 8, 2013 at 3:52pm

PostBannerSyntaxEditorDevNotes

The WinRT XAML port of our popular SyntaxEditor syntax-highlighting code editor control is now development complete and we're looking for beta testers to help make sure it's production ready for it's launch after Windows 8.1 is released.

The SyntaxEditor port includes our LL(*) Parser Framework, as well as shows off the advanced premium language add-ons: .NET Languages Add-on (C# and VB), and the Web Languages Add-on (XML and JavaScript).

Launcher

Note that Visual Studio 2013 RC (or later) and Windows 8.1 are required for this beta.

Please contact us if you would like to assist us by helping to test the control and its add-ons in your Windows 8.1 apps.  In your e-mail to us, give a brief overview of how you intend to use the product.

We look forward to hearing from you!

SyntaxEditor Is Coming to Windows 8.1

by Avatar Bill Henning (Actipro)
Tuesday, September 24, 2013 at 4:11pm

PostBannerSyntaxEditorDevNotes

The WinRT XAML port of our popular SyntaxEditor syntax-highlighting code editor control is nearly development complete! 

While the SyntaxEditor control itself has been used as the foundation of our free Code Writer app for a while now, we haven't had the SyntaxEditor control available to our customers yet to use in their own apps.  That's about to change.  The 2013.2 release of our WinRT XAML controls will include all the recent updates to our Charts and Micro Charts, as well as the new SyntaxEditor port and ports of its .NET Languages Add-on and Web Languages Add-ons.

First Look at a Demo

Let's see a screen of the WinRT version of our SDI Code Editor demo:

CodeEditor

Here we have a SyntaxEditor contro showing off the advanced C# language that is part of the .NET Languages Add-on.  With SyntaxEditor you can easily add text and code editing functionality to your Windows 8.1 apps.  It supports custom language creation, and as seen above, has some pre-built languages available with features like automated IntelliPrompt popups.

Beta Testers Wanted

We're really excited to get this finished up and into your hands.  If you are interested in helping us beta test SyntaxEditor for WinRT XAML, please contact our sales team (if you haven't already).  We expect the beta to be ready in the next week or two.

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

More Windows Workflow Designer Editing Enhancements

by Avatar Bill Henning (Actipro)
Tuesday, September 17, 2013 at 2:52pm

BlogPostBanner

A couple weeks ago we posted a blog entry showing off a sample we created, where a hosted Windows Workflow Designer instance is integrated with our WPF Docking/MDI and SyntaxEditor controls to dramatically improve the designer UI.

Since that post, we've had a number of customers request the sample that we created, and we have been happy to pass it along.  In today's post, I wanted to announce that we've updated the sample yet some more, adding automated variable IntelliPrompt features!

Variable1

In the screenshot above, two variables are declared: myText (a string) and anotherVar (a boolean).  I pressed Ctrl+Space in the expression editor (a SyntaxEditor control) to display the completion list.  The myText variable shows up properly as a string.

Variable2

Next, I moved to the assignment expression (another SyntaxEditor control) and typed anotherVar. to get the members of that variable.  SyntaxEditor's .NET Languages Add-on kicks in again here and shows the members appropriate for a boolean value.

Summary

These sorts of features really improve the editing experience for your customers.  If you rehost the Windows Workflow Designer in your WPF apps and would like our example, please contact us and we'll pass it along.

For those customers who downloaded the first version, this update (along with some other tweaks) is at the same URL as before.

TaskDownload TaskLiveDemo TaskBuyNow