Subscribe (RSS)

Quick Links

About Actipro

Actipro Software has been creating .NET user interface control products for Windows Forms since its inception. More recently, Actipro has become a pioneer in the .NET 3.0 WPF control development arena.
Friday, 5 March 2010 00:50 by Bill Henning (Actipro)

WPF Studio 2010.1 will require .NET 3.5 SP1

We’re currently hard at work on WPF Studio 2010.1, which we hope to launch in the next couple months.  We plan on it including a number of enhancements to existing products along with a brand new unannounced product.

VS2010Logo

Now that .NET 4.0 is almost upon us with the upcoming release of Visual Studio 2010, we have made a change to the minimum requirements for our products.  Right now in WPF Studio 2009.2 our products target .NET 3.0, but starting with WPF Studio 2010.1 we will be targeting .NET 3.5 SP1.

This of course means that your apps that will use WPF Studio 2010.1 products will require .NET 3.5 SP1 or later so please plan accordingly.  If you must keep a .NET 3.0 or 3.5 (non-SP1) minimum requirement in effect, then stick with WPF Studio 2009.2 until you are able to move to .NET 3.5 SP1.

Based on our poll data, nearly everyone who has responded is already on .NET 3.5 SP1 or is planning on moving to it shortly, so hopefully this will not be an issue for anyone.

Tags:  
Categories:   Actipro | In development | WPF
Actions:   Submit to DotNetKicks | E-mail | Permalink | Comments (1) | Comment RSS




Thursday, 18 February 2010 08:53 by Bill Henning (Actipro)

Preview of SyntaxEditor for Silverlight’s code outlining features

We’ve been continuing to develop the Silverlight version of our SyntaxEditor control, which is a syntax-highlighting code editor control similar to the VS 2010 editor. 

We recently completed code outlining (folding) features in our WPF SyntaxEditor control and just finished porting those same features over to the Silverlight codebase as well.

Check the above video out… it shows SyntaxEditor for Silverlight’s run-time code outlining features in action.

Stay tuned to our blog for more information on SyntaxEditor for Silverlight as its development continues.

Tags:   ,
Categories:   Actipro | In development | Silverlight
Actions:   Submit to DotNetKicks | E-mail | Permalink | Comments (5) | Comment RSS




Friday, 29 January 2010 09:12 by Bill Henning (Actipro)

Code reviewing in SyntaxEditor for WPF, demoing upcoming intra-text adornments features

As mentioned in our previous blog post, we’ve been hard at work on some very major new features for the WPF SyntaxEditor control, the premier code editor control for Windows Presentation Foundation.  The three areas we’re about code complete with are:

  • Collapsed text
  • Intra-text spacers and intra-text adornment managers
  • Code outlining

Note that the code in the current build 513 has portions of the above already implemented but the next build 514 is where we hope to have the object model about finalized.  We hope to have some samples and documentation for that build too.

Today I wanted to provide a sneak peek for a full source QuickStart that will be included in the next build 514 of WPF Studio.  This is a really neat QuickStart so prepare for a bunch of screenshots!

Code Reviewing QuickStart in action

This QuickStart is intended to show one way you could do code reviews within an app.  SyntaxEditor is the code editor control in use here.  Assume we have some code loaded from another developer and need to review it.  As we review, we’ll mark some sections of code to come back to later.

CodeReview1

In the screenshot above, I as the reviewer determined that the namespace was incorrect.  So I selected the namespace name in the code editor, typed “The namespace is incorrect” in the textbox at the very top and clicked the Add note button.  Poof!  A note appeared in-line with the text.  Notice that the range I selected is now rendered with a yellow background.  But the really cool thing is that there’s also a note icon with drop-down arrow inside the text, between characters.  Is that a real controlMore...

Tags:   ,
Categories:   Actipro | WPF | In development | New features
Actions:   Submit to DotNetKicks | E-mail | Permalink | Comments (4) | Comment RSS




Monday, 30 November 2009 07:04 by Bill Henning (Actipro)

Call for early SyntaxEditor for WPF 2009.2 testers

The next release of SyntaxEditor for WPF, part of WPF Studio 2009.2, has a lot of major new functionality added.  A significant chunk of that deals with the addition of new text tagging and adornment layer frameworks.

What you can do to help

We’re looking for some existing SyntaxEditor for WPF customers who would like to get their hands on the latest code before it is publicly released, specifically to help us test out these new tagging and adornment features.  We’ll explain below more about what each framework provides.

If you are an existing customer and are interested in testing out the new features, please email our sales team.  Again, only do so if you plan on implementing code that uses tagging and/or adornments.

What are text tagging and adornment layers?

Text tagging is the ability to associate some data (a tag) with ranges of text.  Our built-in tagging mechanism makes it easy for you to provide tagged ranges both using virtualization and without.  An example of text tagging would be to mark certain ranges of text as parse errors.  Text tagging is a logical way of marking text, and can also be paired with adornment layers that can provide custom rendering over tagged text areas.

Adornment layers, first described in this post, are a way to render any UIElement within the text area of a SyntaxEditor.  Adornments can be ordered and sandwiched between any other adornment layers.  As an example, the caret and selection are both adornment layers.  The caret has a Rectangle that blinks to render the caret.  The selection is a complex Path.

The neat thing about tagging and adornments is that the sky is the limit on what custom rendering you can achieve in the editor.  Let’s take a quick look at some of the full source QuickStarts that will be included in the next version, all of which demo tagging and/or adornment layers.  More...

Tags:   , ,
Categories:   Actipro | WPF | Silverlight | In development | New features
Actions:   Submit to DotNetKicks | E-mail | Permalink | Comments (3) | Comment RSS




Monday, 2 November 2009 15:48 by Bill Henning (Actipro)

First video of SyntaxEditor for Silverlight - Syntax-highlighting code editor control

A couple months ago we make a post on our blog asking if anyone would be interested in a port of our SyntaxEditor for WPF control over to Silverlight.  We’ve had some tremendous feedback, both via comments on that posting and via e-mail, so we’ve moved forward with development on the product.

What is SyntaxEditor for Silverlight?

As many of you know, SyntaxEditor for WPF is the premier syntax-highlighting code editor control for the WPF platform.  It is being constructed with a new next-generation object model based on our years of experience with SyntaxEditor for WinForms, the market leader in the WinForms platform.  We’ve made a lot of posts about SyntaxEditor for WPF’s features in this blog.

The Silverlight version of SyntaxEditor is essentially a large subset of SyntaxEditor for WPF’s object model.  For those who have used SyntaxEditor for WPF, the entire text/parsing library is completely converted to Silverlight.  This means all the document, syntax language, parsing, etc. code works in Silverlight exactly the same as in WPF.  The UI layer is mostly the same as well.  Many of the UI features found in the WPF version are already implemented where possible in the Silverlight version.

What can I use it for?

The possibilities are endless.  Want to have a web-based source code browser where you can edit your code from anywhere right in the browser?  Want to build a web-based IDE?  Want to just use the editor in read-only mode to provide rich visualization of code?

SyntaxEditor for Silverlight would fit right into any of those conceptualizations.

Let’s see the video!

Without further ado, let’s take a look at the first video of SyntaxEditor for Silverlight.  In this video, I fire up the editor in an Internet Explorer page and do some typing and selection.  Note that syntax highlighting is being driven from a syntax language that was created with our WPF Language Designer application. 

I also have the smoke text effect enabled, which shows off the new adornment layers feature we’re currently working on.  The smoke text effect is not something you’d normally have enabled in a production application, but it is a neat example of what you can do with our adornment layer framework.

Summary

There still is a lot of work to do on the Silverlight version before it would be production-ready.  However we are trying to make some progress on it each day.  And as we add any new features to the WPF version going forward, we are adding them to the Silverlight version at the same time.

We don’t have any target release dates at this point, but keep your comments coming and we’ll continue posting more details on the control.

Tags:   ,
Categories:   Actipro | In development | New product | Silverlight
Actions:   Submit to DotNetKicks | E-mail | Permalink | Comments (14) | Comment RSS




Wednesday, 28 October 2009 09:21 by Bill Henning (Actipro)

SyntaxEditor for WPF - Testing adornments with text smoke effects

Lately we’ve been working on starting to add adornment layer capabilities to SyntaxEditor for WPF.  Each adornment layer can contain any sort of UIElement-based adornment.  For example, in our updated design for version 2009.2, the editor view selection itself is now an adornment layer, where the selection visual is a shape.  Custom adornment layers can be created and managed. 

They can be inserted anywhere in the z-order of adornment layers too.  This means that you can put adornments on top of the text, or you could alternatively choose to show them in between the selection and text layers, etc.

This adornment layer model is a huge extensibility point and will be used as the foundation for many visual features going forward.  Once implemented, things like squiggle (wave) lines and collapsed outlining node markers will adornment layers.

Smoke text QuickStart

We wanted to do a neat sample to ensure the layers perform well at run-time.  What we came up with is smoke text! :)

SmokeEffect

Basically, as you type, smoke rings rise out from where the caret is and change location, size, and opacity, thereby creating a neat smoke effect.  The static picture doesn’t do the effect justice.  Check out a captured video after the break.  More...

Tags:   ,
Categories:   Actipro | In development | WPF
Actions:   Submit to DotNetKicks | E-mail | Permalink | Comments (3) | Comment RSS




Wednesday, 14 October 2009 08:56 by Bill Henning (Actipro)

SyntaxEditor for WPF Language Designer enhancements (part 8)

In the previous post of this series, the Language Designer generated some C# code for our ECMAScript language that can be used in your applications.  In today’s post we’re going to look at the other generation option, which is to output language definition files.

Generating a language definition file

By checking the “output a language definition” checkbox, our code files list changes to only show one file, a file with a .langdef extension.

LangDef1

The EcmaScript.langdef file is intended to be deployed with your application and loaded at run-time.  The nice thing about language definitions is that end users can tweak them as needed.  This is a lot trickier to do if you have dedicated C#/VB classes for your language.  More...

Tags:   ,
Categories:   Actipro | In development | WPF
Actions:   Submit to DotNetKicks | E-mail | Permalink | Comments (3) | Comment RSS




Tuesday, 13 October 2009 06:24 by Bill Henning (Actipro)

SyntaxEditor for WPF Language Designer enhancements (part 7)

In the previous post of this series we built the language project in the Language Designer, found that there was an error, and resolved the error.  Now that all the errors have been eliminated, we are ready to generate code.

Code generation configuration pane

The code generation configuration pane has fields where we can enter the namespace in which any generated C#/VB code will be placed, along with the output folder in which files are to be created.

There also is an option to output a language definition (.langdef) file instead of C#/VB code files.

For today’s post we’ll output C# code files.  Incidentally the Options tab has buttons that let you select the output language for code files.

CodeGen1 

This pane also shows the list of files that can be generated for our language.  With just several minutes of work seen in our previous steps, our ECMAScript language project already has six classes that can be generated.

Let’s take a look at a couple of them.  More...

Tags:   ,
Categories:   Actipro | In development | WPF
Actions:   Submit to DotNetKicks | E-mail | Permalink | Comments (1) | Comment RSS




Monday, 12 October 2009 09:25 by Bill Henning (Actipro)

SyntaxEditor for WPF Language Designer enhancements (part 6)

In the previous post of this series, we looked at the dynamic lexer that was generated from the New Dynamic Lexer Wizard.  Today we’re going to examine the validation and error checking features provided by the Language Designer.

Building the project

If we click the Build Project button in the ribbon, the Language Designer examines all aspects of the language project that is loaded and reports back any errors, warnings or messages that it thinks of.  This can be anything from you forgetting to enter a required field, to a classification key for a lexical pattern group being invalid.

If we build the project for our ECMAScript language project, we are presented with one error.

BuildProj1

Note the error in the Error List tool window telling us that we need to set an output folder path.  More...

Tags:   ,
Categories:   Actipro | In development | WPF
Actions:   Submit to DotNetKicks | E-mail | Permalink | Comments (1) | Comment RSS




Friday, 9 October 2009 07:26 by Bill Henning (Actipro)

SyntaxEditor for WPF Language Designer enhancements (part 5)

In the previous post of this series we looked at how the New Dynamic Lexer Wizard generated a lexer for us that we could live test immediately.  In today’s post, we’ll look more in-depth at the dynamic lexer that was generated.

What is a dynamic lexer?

A dynamic lexer is a lexer that uses patterns to determine how to tokenize text.  Patterns can be explicit, which mean the pattern matches the exact characters in the pattern.  Patterns can also use regular expressions.  This allows for incredible flexibility that you won’t find in other products.  And remember that dynamic lexers are only one type of lexer that are supported in SyntaxEditor.

The wizard results in-depth

We use the treeview on the left to navigate the parts of the lexer.  In this screenshot, we have selected the Lexical States node.

DynLex1

All of the lexical states defined in the lexer are listed.  One or more can be selected and have its properties be edited directly in the property grid on the right.  Note that our wizard generated a default state along with states for strings and comments.  More...

Tags:   ,
Categories:   Actipro | In development | WPF
Actions:   Submit to DotNetKicks | E-mail | Permalink | Comments (1) | Comment RSS