Subscribe (RSS)

Quick Links

Recent Posts

Tags

Categories

Archive

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.
Tuesday, 19 August 2008 04:08 by Bill Henning

Large file editing in SyntaxEditor for WPF looks great so far

One area that we definitely want to improve with SyntaxEditor is the ability to have good response and performance when editing large files.  In SyntaxEditor for WinForms, there are a number of options you can turn off to help improve performance, yet it would would be much better to be able to leave options on and still have decent performance.  Also when editing huge documents, performance should still be considered good, not just satisfactory.

In our newer internal design that we're prototyping out in SyntaxEditor for WPF, we have already started implementing a number of improvements we've been brainstorming on for a long time.  Let's call these new ideas SyntaxEditor Next since after the WPF version is completed, we'll probably be looking at implementing similar techniques in the WinForms version 5.0.

Here is a list of some of the improved areas (let's assume a large document is 10MB in size for these comparisons):

  • Document loading - When loading a very large document, it may take 10-15 seconds to load and display in SyntaxEditor for WinForms.  In SyntaxEditor Next, it loads and displays instantaneously.
  • Typing performance - When editing a large document in SyntaxEditor for WinForms, there can be a noticeable delay when typing each character.  With our SyntaxEditor Next design, there is almost no noticeable slowdown in typing.
  • Word wrap activation - When switching to word wrap mode in SyntaxEditor for WinForms, very large documents might notice up to a several second delay before the switch is complete.  In SyntaxEditor Next, the change is instantaneous.
  • Word wrap memory - In SyntaxEditor for WinForms, word wrap mode took up a lot of additional memory when working with large files.  In SyntaxEditor Next, it uses almost no additional memory.

The observations above are comparisons made on the same 10MB file with highlighting enabled.

Please note that while SyntaxEditor for WPF (SyntaxEditor Next prototype) doesn't have outlining or semantic parsing implemented yet, to compare apples to apples we turned off outlining and semantic parsing in the WinForms version.  Therefore we are very optimistic that the performance results above can be maintained once outlining and semantic parsing are added to SyntaxEditor for WPF.

Tags:   , ,
Categories:   Actipro | In development | WPF
Actions:   E-mail | Permalink | Comments (0) | Comment RSS



Thursday, 14 August 2008 05:41 by Bill Henning

Updated Organization Purchases web page makes tracking your purchases easier than ever

As part of continuing efforts to improve the quality of service to our customers, we've made some very major enhancements to our Organization Purchases page.  The updates are based on customer feedback along with our own ideas.  We're confident you're really going to love them!

I'd like to walk through the new interface to show you the improved features.

OrgPurchases

A screenshot of the new Organization Purchases page design for Actipro customers

Streamlined, Cleaner Design

You can see from the screenshot above that the new Organization Purchases page for our customers is drastically different from before.  Each product/version group is now separated by a bold heading and an image for the product. 

Right next to the image are action links for doing things like downloading the latest maintenance release, e-mailing yourself the license key, or purchasing upgrades and additional licenses.

Below the lines is information describing your free upgrade information based on what subscriptions you own, if any.

Finally, the details of the individual purchases you've made for the product/version are listed.

Filtering

There now are several options for filtering the purchased product list.  A message is shown above the list when at least one product/version is filtered out per the criteria settings.

Platform is a drop-down that lets you select specific platforms only, such as WPF or WinForms.

Latest-owned versions only will only show product/versions that are the latest you own.  For instance if you own SyntaxEditor v4.0, v3.1, and v3.0, when this box is checked, you will only see v4.0 listed. 

Show details will display all the individual purchase details for the displayed product/versions.  By unchecking this box, you hide the grid with header "Date", "Description", "Licenses" in the screenshot above.

Jumping to a Product

Links appear below the filtering criteria that let you jump directly to specific products in your purchased products list.

Product Alerts

The product alerts section is a new concept for this page and probably is the best new feature that was added in the update.  It provides a task list of action items that you can do related to your purchases.

It currently shows three types of alerts:

  1. Free upgrade alerts - When you have an active subscription for a product and a new version is available, this alert will tell you to click on the link to request a free upgrade.
  2. Expiring license/subscription alerts - When you are nearing the expiration date of a license/subscription, this type of alert tells you the expiration date and allows you to jump directly to the related product purchase page to order a renewal.
  3. New version alerts - When you don't have an active subscription and a new version is available, this alert notifies you of the new version and provides a link directly to the related product purchase page to order an upgrade.

We sincerely hope our customers like the updates.  They will be especially useful for our larger customers who have made many purchases over the year.

Please e-mail us if you have any problems with the updated page.

Tags:  
Categories:   Actipro | General
Actions:   E-mail | Permalink | Comments (0) | Comment RSS



Friday, 8 August 2008 09:31 by Bill Henning

SyntaxEditor for WPF will support bi-directional text (Arabic, etc.)

As I mentioned in the previous blog post, we've been working on core editing functionality for the WPF version of SyntaxEditor.  One feature that isn't in our WinForms version but that we always wanted to add is support for right-to-left languages inline with code.

Bi-directional display of text is a tricky thing because as soon as you enter a sequence of right-to-left characters such as Arabic or Hebrew, the entire sequence is flipped over and directional left/right arrow keys move the caret in the opposite direction.

 Bidi

SyntaxEditor for WPF showing the partial selection of some Arabic text

So in the screenshot above, say you have the caret at the left quote (fourth character) on line 6.  If you press your right arrow, the caret jumps to just before the right quote after the Arabic "Hello world" text, since this is considered "before" the Arabic sequence of characters.  If you press right arrow again, it moves one character to the left, and into the Arabic section.  This continues until you reach the leftmost side of the Arabic sequence, and the caret moves to the right quote again.  From that point on, right arrow moves to the right since it is back in left-to-right mode.

In the screenshot, the selection was anchored at the start of the "SyntaxEditor" word on line 5 and then the caret was moved down to line 6 into the Arabic sequence of characters.  You can see how the selection properly splits to show the contiguous sequence of characters that are selected.

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



Wednesday, 30 July 2008 01:00 by Bill Henning

Actipro's WPF Product Roadmap - August 2008

Our previous WPF product roadmap posting presented the post-WPF Studio v4.0 development goals we have for the near future, including PropertyGrid for WPF and SyntaxEditor for WPF.

In this posting, I'd like to talk about some of the progress being made in those areas.

PropertyGrid for WPF

The PropertyGrid for WPF control provides nearly all the features found in modern IDE applications such as Visual Studio 2008 and Expression Blend.  If development continues as planned, we could be looking at having it out in late August.

Let's take an in-depth look as to what features the first release of this control will provide.

 PropertyGrid

The upcoming PropertyGrid for WPF product

Property Population - Manual and Automatic Options

The PropertyGrid can be populated manually using XAML or code-behind, which can be bound to any value. This
is great for scenarios where there is a known and static list of entries.

Additionally, the properties of any .NET object, or objects, can be used to automatically populate the PropertyGrid.
You can choose from simple reflection or TypeDescriptors, which supports abstract properties like attached properties, to create the entries from the specified object(s). When more than one object is specified, the properties common to all objects are "merged", just like the WinForms PropertyGrid. You can provide a custom "property factory" if you need more control over the generation of entries.

Property Editors

Property editors can be specified for properties by name/type, name, type, or base types. This means you can specify the editor to use for all enumeration types or for a specific property. The property editor can be used to customize the value cell DataTemplate, the control used to present/modify the value, and the name cell DataTemplate.  These give you total control over the appearance of each property.

Category Editors

Category editors can be used to present more complex editors that are capable of modifying more than one property
in a specified category. As seen above the FontFamily, FontSize, FontStyle, and FontWeight properties are presented using a "Font" category editor.

Data Validation

All the editors support the standard WPF data validation, as seen in the font size TextBox above. You can use Styles to apply your own ErrorTemplate.

Complex Properties

Certain "complex" properties can be expanded to show child properties.

SyntaxEditor for WPF

SyntaxEditor is under full development as well.  However this product will take more time to get an initial release out because there are several parallel goals that we're working on:

  1. Build a common document/parsing framework that can be shared among multiple related products and platforms.  This means using it for SyntaxEditor for WinForms, SyntaxEditor for WPF, CodeHighlighter for ASP.NET, and other small products we have in mind.
  2. Improve the document/parsing capabilities in general.
  3. Create better tools to help develop and maintain advanced languages.

That being said, once we get core editor functionality working, we may start some alpha testing for any WPF Studio customers who are interested.

SyntaxEditor

SyntaxEditor for WPF with some basic syntax highlighting for a C# document

Speaking of the core editing capabilities, we've been focusing a lot lately on making the common document/parsing framework.  So unfortunately that can't be displayed in screenshots.  However you'll like what you see once you get your hands on it.  Also we've been working on some basic editor features like view splitting along with some other really neat things that we'll keep quiet on for now.  Let's just say that once complete, SyntaxEditor for WPF will work like the Visual Studio code editor out-of-the-box, but will have some very nice extensibility points that weren't previously available.

If anyone has any suggestions for document/parsing or UI extensibility points, now is the time to e-mail them over.  We'd love to hear your thoughts.

Tags:   , , ,
Categories:   Actipro | In development | WPF
Actions:   E-mail | Permalink | Comments (2) | Comment RSS



Wednesday, 23 July 2008 02:31 by Bill Henning

WPF Studio gets the Royale treatment

Part of the large Actipro WPF Studio build 456 update was a number of new themes for our controls that match the "Royale" Windows system theme.

The Royale theme is a Media Center-like theme that was made available for Windows XP and generally looks more modern than the three standard Windows XP themes.

Now all our themed WPF products look great in the Royale system theme.  Let's take a peek at some of the major controls:

Actipro Ribbon for WPF

RibbonRoyale

Actipro Ribbon with its Royale theme

Actipro Docking & MDI for WPF

DockingRoyale

Actipro Docking & MDI with its Royale theme 

ExplorerBar and Breadcrumb (Part of Actipro Navigation for WPF)

FileSystem

ExplorerBar and Breadcrumb with their Royale themes 

NavigationBar (Part of Actipro Navigation for WPF)

OutlookUIRoyale

NavigationBar with its Royale theme 

Actipro Wizard for WPF

WizardRoyale

Wizard with its Royale theme 

Tags:   , , , , ,
Categories:   Actipro | New features | WPF
Actions:   E-mail | Permalink | Comments (2) | Comment RSS



Tuesday, 22 July 2008 04:19 by Bill Henning

Ribbon for WPF system themes added in build 4.0.0456

We've been hard at work this past week on adding a bunch of new themes for our WPF Studio v4.0 controls.  One area we addressed was adding six new themes for Ribbon for WPF.

SystemThemes

The new Royale, Luna (olive green), and Classic themes for Ribbon 

The six new themes are:

  • Luna (blue)
  • Luna (olive green)
  • Luna (silver)
  • Royale
  • Classic
  • High-contrast

All the new themes (except high-contrast) still use subtle gradient effects to give the controls depth and look great when used in the appropriate operating system.

Default Theme Changes

Previously we only had the three Office 2007 themes (blue, silver, black) for Ribbon.  Windows Vista defaulted to using Office Black while other Windows systems defaulted to using Office Blue.  In this new maintenance release, this behavior has changed.

Now when running XP, the appropriate system-based theme will be automatically chosen instead of Office Blue.  Windows Vista will still use the Office Black since that matches Aero color schemes.

To continue using the Office Blue theme in XP, set our ThemeManager.CurrentTheme = "Office2007Blue"; 

High-Contrast Theme

The High-contrast theme is designed to only be used in high-contrast color schemes.  When you detect a high-contrast theme is active, set our ThemeManager.CurrentTheme = "HighContrast"; and that will activate the theme.

Tags:   , ,
Categories:   Actipro | New features | WPF
Actions:   E-mail | Permalink | Comments (0) | Comment RSS



Wednesday, 16 July 2008 06:12 by Bill Henning

What features do you want to see in PropertyGrid for WPF?

Now that Actipro WPF Studio v4.0 is out, we've started on PropertyGrid for WPF development again.

We already have a good core codebase working for the PropertyGrid for WPF control and have done a lot of planning on its feature set, but we want to hear your thoughts as well.

What features do you want to see in our upcoming PropertyGrid for WPF control?

Please email our support team with your comments, we'd love to hear them!

Tags:   ,
Categories:   Actipro | In development | WPF
Actions:   E-mail | Permalink | Comments (7) | Comment RSS



Tuesday, 15 July 2008 02:15 by Bill Henning

SyntaxEditor .NET Languages Add-on IntelliPrompt Improvements

We just released build 275 of SyntaxEditor and its add-ons.  This build has a lot of minor tweaks and bug fixes that have been made over the last 2-3 months.

In addition there have been some major enhancements in the .NET Language Add-on's IntelliPrompt capabilities.

Delegate Improvements

SEDelegates

A demo of how a delegate can be called like a method with full IntelliPrompt

Delegates now have full IntelliPrompt capabilities, just like calling methods.  Note how in the screenshot above, a generic delegate is called and a DateTime value is properly returned as the value.  The member list shows the members of the DateTime return value.

Generic Methods

SEGenMethods

A member list displayed for the result of a generic method call

Generic methods can have their return type defined by the parameter that is passed to them.  In the example above, a field called ADateProp which is of type DateTime, is passed as a parameter to the generic method Echo.  IntelliPrompt correctly recognizes that per the definition of Echo, the return type is also DateTime.

Constructed Types

SEConstructedType

Parameter info displayed for a method invoked directly off a constructed type

This feature has been highly requested... IntelliPrompt that functions on a constructed type expression.  In the screenshot above, the Append method's parameter info is displayed, following a new StringBuilder() call.

Beginnings of Lambda Expressions

SELambda

A member list displayed for a lambda expression variable

Lambda expressions are a new concept in the latest C# and VB updates by Microsoft.  In the example above, a member list is displayed for the x variable introduced in a lambda expression.  IntelliPrompt determines that x is a DateTime based on the Func<DateTime, bool> declaration.

Note that not all Lambda expression IntelliPrompt works at this time but we will continue to improve IntelliPrompt in all areas as we move forward.

Enjoy the updates!

Tags:   , ,
Categories:   Actipro | New features | Windows Forms
Actions:   E-mail | Permalink | Comments (0) | Comment RSS



Friday, 11 July 2008 03:21 by Bill Henning

Special July WPF Promotion for UIStudio Customers

Are you an existing Actipro UIStudio for WinForms customer who is just starting to look at getting into WPF development?

Through the end of the month of July only, and to celebrate the release of Actipro WPF Studio v4.0, we are offering a special discount of 25% off our normal WPF Studio prices.

WPF Studio is the ideal upgrade path for UIStudio customers getting into the WPF arena since it now includes complete docking tool window, multiple document interface, and navigation bar implementations, along with so much more.

Restrictions are that you must be an existing UIStudio customer before this post, cannot already own any of our WPF products, and must place the order before the end of the month.  Contact our sales team via email for details on how to receive the discount before you are ready to order.

Tags:   , ,
Categories:   Actipro | Promotion
Actions:   E-mail | Permalink | Comments (0) | Comment RSS



Friday, 11 July 2008 03:10 by Bill Henning

WPF Studio v4.0 Released Adding Docking/MDI and Gauge Products

We're very happy to have just released WPF Studio v4.0.  This version is the culmination of several months of work and we're sure you'll love what you see.

Download Actipro WPF Studio v4.0 now

To celebrate, we'll be posting details about a special promotion for existing UIStudio for WinForms customers who are looking to get into the WPF arena.

Docking & MDI for WPF

Actipro Docking & MDI is a complete solution for easily adding a docking tool window and/or multiple document interface to your WPF applications. Allow your end users to drag and dock tool windows wherever they please, and to persist their customizations. Also use this product to fill the gap left by Microsoft not including an MDI mechanism in the WPF platform.

Docking

Docking & MDI showing a docking operation in progress with the Aero theme active 

Docking & MDI has been implemented with flexibility in mind. It has more options than nearly any other competitive product out there and mimics Visual Studio 2008's capabilities. While it supports all the types of standard layouts you find in most docking window products, it also supports some extended functionality that you won't find anywhere else.

Check out more information about the product or try a live demo on our site.

Gauge for WPF

Actipro Gauge is a control suite that implements circular, linear, and digital gauge controls for the Windows Presentation Foundation framework. Each gauge control has tons of options available, providing for limitless possibilities.

Gauge

Circular, linear, and digital gauges combined to display monitoring information 

Gauge controls are ideal for displaying several data points in a concise and compact area. Everything from car dashboards to medical and industrial equipment use gauges, and are quickly recognized and understood by users.

The circular and linear gauges are perfect for presenting a value, or values, bound by a specific range. The digital gauge is perfect for mimicking real-life LED displays.

Check out more information about the product or try a live demo on our site.

Other Enhancements

There were a lot of other minor enhancements and tweaks made throughout our WPF control products for this release.  We added several new demos and useful utilities as well.

Theme Browser

One great new utility found in WPF Studio is the Theme Browser.  A WPF Studio customer was kind enough to post a simple theme browser for our controls in the WPF Studio forums for the benefit of other customers.

We took this idea and ran with it, making a very helpful utility that lets you browse each Brush resource used by our products for the various themes.  The utility shows a preview of each Brush and even allows you to copy a DynamicResource reference accessing the Brush to the clipboard so that you can reuse it in your applications as long as the same theme is loaded.

ThemeBrowser

The new Theme Browser, that comes with WPF Studio

This is really useful for those of you making some customizations to other controls and wanting to use the same Brushes as us so that you have a consistent look in your application.

String Resource Browser

Going along with the Theme Browser idea, we wanted to make a String Resource Browser.  All our products that display text in the user interface stores the default text in string resources.  You can customize or localize the text in code-behind via a single line of code for each item. 

StringResourceBrowser

The new String Resource Browser, that comes with WPF Studio

The String Resource Browser lets you examine all the string resources used in our various products.  When you select a string resource, you have the ability to enter a customized version of it.  The Browser even generates the C# and VB code you can paste into your application to perform the customization.

Tags:   , , , ,
Categories:   Actipro | New features | New product | WPF
Actions:   E-mail | Permalink | Comments (0) | Comment RSS