Nightly news, 4 May 2012

LightSpeed

  • Updated SQLite provider to 1.0.80
  • Fix for cascade delete across a STI hierarchy where the cascade enters the hierarchy in a derived class and we were trying to proceed through an association declared in a sibling class

Web Workbench

  • Added JSHint support
  • Fixed syntax highlighting for identifiers starting with an underscore
  • Fixed incorrect ‘less than or equal to’ operator in Less mixin guards
  • Added highlighting support for inline data URLs
  • Fixed highlighting when using a comparison expression was used as a function argument
  • Fixed highlighting of interpolated variables in URLs
  • Fixed highlighting when a function call contained arguments that were spaced lists, and a nonfinal element of such a list was another function call
  • Switched Sass compiler from IronRuby to ‘proper’ Ruby

WPF Diagrams

  • Fixed a bug with connection point positions in a rotated nested node
  • Added sample of removing a groupable node from its parent

WPF Elements

  • Fixed a couple of issues when changing DataGrid.ItemsSource from null to a collection instance
  • Fixed a hit testing issue with DataGrid cells
  • Fixed an issue when a DataGrid contains a mix of star-sizing and absolute-sizing columns
  • DataGrid DisplayMemberBinding now supports UpdateSourceTrigger of LostFocus
  • Fixed a validation bug in DisplayMemberBinding
  • Fixed the TrackingElement sample to support duplicate values
  • Fixed an error if a chart XBinding or YBinding was set to a nonexistent property

Silverlight Elements

  • First drop of spell checking for the HTML rich text editor
  • Ctrl+Left and Ctrl+Right in the HTML editor now respect symbols
  • Fixed a bug in ContextMenu where if it was forced closed due to the browser window being resized, it would never open again

All these updates are in the current nightly builds — free editions from the downloads page, full editions from the store.

Nightly news, 20 April 2012

If there’s one thing the weekly updates are about, it’s beards, and it looks like that laser-like focus is finally paying off. But if there’s a second thing, I guess it would have to be keeping customers informed about what’s new and improved in the current nightly builds. Here’s what we’ve been busy on this week.

WPF Elements

  • Big charting performance improvements. We’ll have more to say about this in a future post. Ho yes.
  • Fixed a chart zooming bug when using non-primitive numeric types
  • Fix for bug in .NET 4.0 TextBox when used in a numeric DataGrid column
  • Fixed potential crash if axis properties were updated in an unexpected order
    Added a Tag property to DataGridColumn
  • Added a DisplayMemberBinding property to DataGridColumn. This simplifies creating complex bindings for a column without needing to create a custom template.

LightSpeed

  • You can now have multiple QueryFilterAttributes on a class, allowing you to build filters compositionally even in the absence of characterising interfaces.
  • Table names are no longer Pascalised if you have a design-time naming strategy and set UseClrNamingConventions to false
  • Added IOverrideClrConventions extension to IDesignTimeNamingStrategy to override default singularisation behaviour
  • Design-time assemblies with partial paths are now checked from the model directory as well as the current directory. This facilitates deployment of design-time assemblies via source control as part of the project.
  • Fix for error when performing a cast in LINQ Sum() or other aggregate operators but specifying the column in the Select()
  • Fixed projections into DateTime and nullable values when using query objects rather than LINQ

Web Workbench

  • Added option to default the “compile” setting to false
  • Added ‘stop on first error’ option for when a changed file has a lot of dependencies
  • Fixes for non-ANSI characters in Sass

Silverlight Elements

  • Added initial tab-indent support to HTML editor. Set CanHandleTabKey to enable this, and TabSize to customise the number of pixels that a tab indents by.

The latest nightlies are always available on the Downloads page (free editions) and in the Store (full editions).

Nightly news, 13 April 2012

LightSpeed

  • Added a per-query IncludeFiltered flag to turn off implicit filtering (similar to IncludeDeleted)
  • Added core support for SQL Server 2008 hierarchyid type
  • Fixed an issue with aliasing when issuing a composed query with paging on SQL Server
  • The designer now creates field name constants for special fields
  • Fix for implicit filters not being applied in join clauses

WPF Elements

  • Data grid star sizing improvements: support for a zero fill weight, new GridLength converter, fix for having to explicitly specify a weight
  • Fixed a bug in data grid column virtualisation
  • Improved pixel precision of MarkedStripeGrid
  • Added Orientation property to MarkedStripeGrid
  • Performance improvements for common charting data types

Silverlight Elements

  • You can now customise the list of fonts in the HTML editor toolbar
  • New properties on ScheduleFormatter for changing the content of most buttons
  • We’ve brought over some improvements from WPF Elements to facilitate building multi-schedulers in Silverlight

WPF Diagrams

  • Fix for editing node styles in Expression Blend

Web Workbench

  • Chirpy compatibility fix
  • Fix for Less syntax highlighting when specifying “…” as mixin arguments
  • Updated CoffeeScript compiler to 1.3.1
  • Added Iced CoffeeScript support

Customize the font list in the Silverlight HTML Editor

One of the controls you’ll find in our Silverlight Elements control suite is the HTML Editor. This provides a familiar UI for users to edit rich text which can later be encoded in HTML. The latest feature we have added to this control is support for developers to change the list of fonts displayed in the font selector. By default, the font selector displays all the fonts supported by Silverlight as seen in this image.

Default Fonts

Now you can specify additional fonts that the user can use as long as they are installed on the users machine. Below you can see I have set the list to contain most of the default fonts along with Gigi, Jokerman, Magneto, Quartz MS and the Precursor Alphabet from the Jak and Daxter video game which I happened to have installed.

Custom Font List

To specify the list of fonts available to the user, all you need to do is set the FontFamilies property on the StandardRichTextEditorToolBar. Here is the code I used to create the above screenshot.

IList<FontFamily> fontFamilies = new List<string>
{
    "Arial",
    "Calibri",
    "Cambria",
    "Candara",
    "Consolas",
    "Corbel",
    "Courier New",
    "Georgia",
    "Gigi",
    "Jokerman",
    "Lucida Sans Unicode",
    "Magneto",
    "Precursor Alphabet",
    "Quartz MS",
    "Segoe UI",
    "Times New Roman",
    "Trebuchet MS",
}.Select(s => new FontFamily(s)).ToList<FontFamily>();
 
ToolBar.FontFamilies = fontFamilies;

This property is available right now through the current nightly builds which you can download here if you have the trial version, or go to your account page if you are already a customer. If you have any questions or feature requests regarding the Silverlight HTML Editor, we’d love to hear from you in the forum!

New Html Editor Control in Silverlight Elements

One of the controls you’ll find in our Silverlight Elements control suite is a rich text editor that can export the rich text input as HTML code. We are pleased to announce that this control has recently been given a makeover to fix various bugs, greatly improve the performance and add a couple of new features!

Html Rich Text Editor

For those of you who haven’t seen this control before, here is a brief run down about the rich formatting features that this control supports. Rich formatting includes bold, italic, underline, foreground color, background color, font-family and font size. Rich formatting can be applied or removed by selecting text and using the appropriate control in the toolbar. Adding, editing and removing hyperlinks can be done using the buttons with the familiar chain link icon. When pressing the hyperlink button, users will be presented with a dialog for inputting the url.

Hyperlink Dialog

The text alignment of individual paragraphs can be set as either left, center, right or justify aligned. Users can add new paragraphs by pressing the Enter key. Line breaks can be added using the Shift+Enter keys. And finally, there is support for adding ordered and unordered lists. Unordered list items can be decorated with either square, round or disc bullets. Ordered lists support some of the common html list style types including decimals, leading zeros, alphabet characters and Roman numerals in both lower and upper case.

Lists

The control includes API for exporting the rich text as HTML, and also importing HTML to be displayed as the equivalent rich text. And of course there are many of the features that you would expect in any text editor such as Cut, Copy, Paste, Mouse selection and keyboard navigation including Home, End, Ctrl+Home, Shift+Up etc.

Improvements and new features
As mentioned before we have fixed many bugs and greatly improved the performance of this control. One of the first new features you may notice is the support for justify alignment. Justify alignment puts extra spacing between words so that each line evenly fills to the right edge of the editor. This is demonstrated in the image below The rich text editor now has scroll bars built into the default style. So if you have used this control before, you will no longer need to put the text editor into a scroll viewer.

Justify Alignment

API changes
Unfortunately in order to improve this control some API changes were made. Most of the methods on the control itself have now been moved to the RichDocument class. The current RichDocument for the control can be obtained through the RichTextEditor.Document property. The properties and methods related to html export and import have not changed. If you are having trouble finding a method that you used to use, let us know in our forum and we’ll help you out.

How to use it
There are 2 controls involved in adding the html editor in your applications. First off is the RichTextEditor. This manages all the rich text rendering and text input. Then there is the StandardRichTextEditorToolBar which provides the rich formatting UI controls. A typical way to set up these controls is shown in the following code example:

<Grid>
  <Grid.RowDefinitions>
    <RowDefinition Height="Auto" />
    <RowDefinition Height="*" />
  </Grid.RowDefinitions>
  <ms:StandardRichTextEditorToolBar Editor="{Binding ElementName=TextEditor}" />
  <ms:RichTextEditor x:Name="TextEditor" Grid.Row="1" />
</Grid>

The important thing to note here is setting the Editor property of the StandardRichTextEditorToolBar. This allows the tool bar to hook into the editor and apply formatting to the selected text. Exporting and importing HTML is as simple as reading the Html property or calling the LoadHtml method on the RichTextEditor control respectively.

Take it for a spin
The great news is that the new and improved HTML editor control is available right now! Head over to the downloads page to get the latest nightly build of the trial version, or visit your account page if you’re already a customer. Got any questions or feature requests for the HTML editor? We’d love to hear from you in the forum.

Archives

Join our mailer

You should join our newsletter! Sent monthly:

Back to Top