Tweets by @Actipro
Please take some time to learn more about us and our product offerings.
In the last post of this series, we introduced the EnumEditBox control, which is part of the new WinRT/XAML Editors product. In today's post, we'll take a look at the DateEditBox and MonthCalendar controls, which make it easy to select date values.
The DateEditBox control is used to input a DateTime value, and uses a DatePicker control in its popup.
Edit boxes work great with a keyboard. When the edit box is focused, values can be directly typed in. Type in "8/7", "8/7/14", "8/7/2014", etc. and press Enter. Any of those will commit the same date value. You can also move the caret to one of the date components (month, day, year) and use keyboard arrow keys, PgUp/PgDn, or the mouse wheel to increment values. Best of all, pressing the left/right arrow keys will instantly jump between the various "parts" (components) of the edit box value and select the part's text.
In this screen, the caret was on the month part and then the right arrow was pressed. The day part was auto-selected. A new day value could then be typed in.
The date value can be displayed in any desired standard or custom format. By default it will use the current culture's default date format.
If the user doesn't have a keyboard, mouse or touch can be used to display the popup. The popup contains a DatePicker control, which defaults to wrapping a MonthCalendar control. The MonthCalendar control displays a single-month at a time. The arrows in the header can be used to navigate backward and forward with appealing animated transitions.
Pressing the title in the header will zoom out to the year. Pressing it again zooms out to the decade, and then century. Here's the views:
Most competitors have either made date pickers that show a large Windows Phone-like spinning date selector, or have gone with the three ComboBox approach like the native WinRT DatePicker control does:
Neither of those control types are ideal for WinRT apps that can potentially be run on large desktops with keyboards. Compare the design to ours:
Just like our other edit boxes, this edit box will render itself like a button when used on Windows Phone. Tapping the button shows a full screen picker (same as above) where the date value can be selected.
This post shows how an DateEditBox control can make it simple for an end user to select a date value within a Windows Store or Windows Phone app. Download our WinRT/XAML Controls to check it out, along with our other beautiful and functional editor controls!
In the last post of this series, we introduced the ColorEditBox control, which is part of the new WinRT/XAML Editors product. In today's post, we'll take a look at the EnumEditBox control, which makes it easy to select enumeration values.
The EnumEditBox control is used to input an Enum value, and uses an EnumPicker control in its popup.
The screenshot above shows off how the popup renders a flags-based enumeration, where multiple selections can be made. For non-flags enumerations, the popup looks more like a standard single-selection list:
It's very easy to get going with the control. Simply set the enumeration type and bind a value and it takes care of the rest for you.
Edit boxes work great with a keyboard. When the edit box is focused, values can be directly typed in. Type in "Three" and press Enter. The value will get committed. You can also use keyboard arrow keys, PgUp/PgDn, or the mouse wheel to increment values.
If the user doesn't have a keyboard, mouse or touch can be used to display the popup. The picker on the popup uses large items, making for easy mouse/touch selection.
Anther great feature of the control is the ability to use DisplayAttribute attributes on the enumeration values to specify alternate display text for each enum value. Custom value sorting algorithms can be set as well.
Just like our other edit boxes, this edit box will render itself like a button when used on Windows Phone. Tapping the button shows a full screen picker (same as above) where the enum values can be selected.
This post shows how an EnumEditBox control can make it simple for an end user to select an enumeration value within a Windows Store or Windows Phone app. Download our WinRT/XAML Controls to check it out, along with our other beautiful and functional editor controls!
In the last post, we gave an overview of the new edit box controls that were just released in our WinRT/XAML Editors product, including a list of some options that are available in all edit boxes. In today's post, we're going to take a look at a universal edit box control that is used to select a color value.
The ColorEditBox control is used to input a Color value, and uses a ColorPicker control in its popup.
The alpha component of the color can optionally be included. When the alpha component is not enabled, an opaque color is required and only RGB edit boxes appear on the popup, instead of ARGB.
Edit boxes work great with a keyboard. When the edit box is focused, values can be directly typed in. Type in "Red", "#f00", or "#ff0000" and press Enter. Any of those will commit a red color value. You can also move the caret to one of the ARGB components and use keyboard arrow keys, PgUp/PgDn, or the mouse wheel to increment values.
If the user doesn't have a keyboard, mouse or touch can be used to display the popup. Just drag the sliders to select a different color. Or edit the ARGB component values directly to set exact values.
All of our WinRT/XAML controls are universal and support both Windows Store and Windows Phone apps. In the case of edit boxes, they often have a different UI that has been tailored specifically for Windows Phone.
Above we see how a ColorEditBox renders on a phone. Since phones don't have hardware keyboards, the control has been crafted to look like a native ComboBox, although we also support an optional clear button. Then rest of the control behaves like a button. When the button is tapped, this full screen dialog is displayed:
Everything on the picker popup displayed here is big and touch friendly… a perfect design for color selection on Windows Phone.
This post shows how a ColorEditBox control can make it simple for an end user to select a color within a Windows Store or Windows Phone app. Download our WinRT/XAML Controls to check it out, along with our other beautiful and functional editor controls!
In today's post, I'd like to give an overview of how edit boxes in our new WinRT/XAML Editors product work, and why we created them.
Edit boxes are controls that allow for the editing/selection of common data type values. Unlike many other third party editor controls, the Actipro Editors have been specifically designed to work great for whichever form of input (keyboard, mouse, or touch) is utilized by the end user.
They are designed to visually fit right in with the standard Windows Store and Windows Phone controls. Each editor's main appearance is similar to a standard TextBox, where the value can be typed in via a keyboard for maximum efficiency. Certain keyboard keys and the mouse wheel can often be used to increment/cycle values. Custom validation and conversion logic between text and real object values can even be injected.
Most editors also contain a default popup picker that is geared for mouse and touch-based input. The popup can easily be invoked by tapping the edit box's drop-down button.
ColorEditBox - Allows for the input of a Color value.
CornerRadiusEditBox - Allows for the input of a CornerRadius (top-left, top-right, bottom-right, bottom-left) value.
DateEditBox - Allows for the input of a DateTime value's date component.
DateTimeEditBox - Allows for the input of a DateTime value.
DoubleEditBox - Allows for the input of a Double (floating-point number) value.
EnumEditBox - Allows for the input of a Enum (flags and non-flags enumeration) value.
GuidEditBox - Allows for the input of a Guid (unique ID) value.
Int32EditBox - Allows for the input of an Int32 (integer) value.
PointEditBox - Allows for the input of a Point (X, Y) value.
RectEditBox - Allows for the input of a Rect (X, Y, width, height) value.
SizeEditBox - Allows for the input of a Size (width, height) value.
ThicknessEditBox - Allows for the input of a Thickness (left, top, right, bottom) value.
TimeEditBox - Allows for the input of a DateTime value's time component.
Edit boxes all support nullable values, meaning that a DateEditBox for example returns a value of Nullable<DateTime>. An option can be set to require that a non-null value is set.
The editors can be set to provide read-only display of data. When not read-only and if nulls are allowed, a clear button appears when the control has focus.
The popups for the edit boxes can be fully customized. Each editor also supports placeholder text and optional header content.
This is just an introduction to what the edit boxes can do. In our next series of posts, we'll take a look at each edit box control and its related popup picker in detail.
The 2014.2 version of our WinRT/XAML controls have been released and are now available for download.
Major new features are described below. See the announcement post for the detailed list of enhancements and updates, including many items not listed below.
This version makes all the WinRT/XAML controls compatible with Windows Phone, meaning that licensed controls will work in both Windows Store and Windows Phone apps!
We've even added a nice phone-based Sample Browser app to show off usage of the controls on the phone.
Actipro Editors is a brand new product that we've been working on for quite a while now and provides over 30 user input controls for common .NET data types such as dates, times, numbers, colors, enumerations, sizes, and many more.
Each of the controls features unique designs that have been specifically crafted to support input by keyboard, mouse, and touch. Data entry is quick and efficient regardless of the input method utilized by the end user, which is especially ideal for universal applications.
All of the controls fully support Windows Store and Windows Phone apps, with alternate appearances as appropriate for phone usage.
We will be blogging and walking through all of the controls in the next couple weeks so keep an eye on our blog.
We've added a new MicroSegmentChart control for use on dashboards, infographics, or as progress indicators.
More details on this control soon too.
Along with various minor enhancements and updates, we have added a brand new premium Python Language Add-on that supports advanced editing for Python v3.x and v2.x. This first release includes parsing, syntax error reporting, code outlining, smart indent, delimiter highlighting/completion, and more.
Look for another update soon featuring automated IntelliPrompt! See this previous blog post for more details on the new add-on.
Several other fun new controls and converters are included with this version too.
In this quarter, we published a very large 2014.1 version maintenance release of our WPF, Silverlight, and WinRT/XAML controls. These versions included several new controls and some big feature enhancements for our existing controls. Check out the release posts for more detail.
We are in the middle of several large projects right now. The first is one that we recently mentioned, which is a full advanced language add-on for the Python language. As mentioned in this post, the language will support both the Python v2.x and v3.x syntax. It will have full parsing, syntax error reporting, code outlining, smart indent, and more. We also have begun working on automated IntelliPrompt features, which we will post about in the coming weeks.
Another area we have invested a good amount of time in recently is a new control product offering for WinRT, one that already has a counterpart in our WPF controls. Can you guess which one? That being said, the designs we've come up with include some new unique interfaces that are very friendly for all forms of input. We will delve more into this in future blog posts too, once we are a bit closer to ready for release. We're really excited to reveal these controls.
And of course we are continuing to enhance and update our existing controls, along with designing some new controls, as we start collecting updates for the future 2014.2 versions.
In today's post I'd like to formally announce that a new Python language add-on is coming to SyntaxEditor (WPF, Silverlight, and WinRT/XAML platforms) in its 2014.2 version.
Python is a very popular programming language that uses indenting to create blocks of code (as opposed to curly braces as in languages like C), and attempts to allow users to write code in fewer lines than is possible in other languages. Python has a standard library of API features that has grown very large over time.
These days, Python code comes in two flavors: v2.x syntax and v3.x syntax. Unfortunately there are breaking changes between the two syntaxes. But we've got you covered since you can tell our PythonSyntaxLanguage class which version to use and it will parse things accordingly.
Here's a screenshot of the Python language in action within SyntaxEditor:
The first release of the Python language will have these features:
Since this is a brand new language add-on, we would love to get your help beta testing it. If you are a SyntaxEditor customer and would like to assist us in testing the Python language add-on, please contact us at our support email address.
This new Python language add-on will roll out in the 2014.2 version of our WPF, Silverlight, and WinRT/XAML controls.
New maintenance of the 2014.1 versions of our WPF, Silverlight, and WinRT/XAML controls have been released and are now available for download.
Major new features are described below. See the announcement posts for the detailed list of enhancements and updates, including many items not listed below:
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.
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.
Data point labels in pointer visibility mode now delay layouts until a pointer event occurs, thereby speeding up initial chart display.
XYChart now will automatically upconvert non-Double numeric type data to Double type so it can display.
ThemedDataGrid has been updated to style the child controls of auto-generated ComboBox and CheckBox columns.
Added the DockSite.IsRaftingWindowSnapToScreenEnabled, which can be set to false to prevent rafting windows from snapping to the closest screen when being displayed.
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.
Updated double-clicks on property names to cycle through standard values if available.
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 now support hierarchy levels and item indentation. This feature was added to allow XML element hierarchies to be displayed in the NavigableSymbolSelector.
Many minor enhancements have been made, which can be seen in the detailed update list.
A Grammar.AddChildFrom overload was added that allows for specification of a desired child index.
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.
The HorizontalListBox control was added, which allows for selection of items that are arranged horizontally with a uniform width.
The UniformGrid control was added, which is a Panel that can arrange content in a grid where all the cells in the grid have the same size.
The RadialSlider class logic for snapping values has been improved.
The DelegateCommand class has been added, which is an implementation of ICommand that uses delegates.
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.
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.
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.
Today I'd like announce a great new feature coming to the SyntaxEditor Web Languages Add-on (WPF, Silverlight, and WinRT/XAML versions): a XML navigable symbol provider.
If you are new to SyntaxEditor, you may be wondering what is a navigable symbol provider. Navigable symbol providers allow SyntaxEditor to provide a set of drop-downs above it that indicate the current context of the caret. They also allow an end user to select items in the drop-downs to move the caret directly to the related definition.
Our .NET Languages Add-on's C# and VB languages already support this feature and the two drop-downs above the editor show the current type and member context.
With the addition of this feature to XML, two drop-downs above the editor can show the current element and attribute context. Let's see a screenshot:
In the screen above, the caret is on line 12 in the "id" attribute. The attribute drop-down (top right) properly shows the "id" attribute as context. If we would click the "book" element in that drop-down, the caret would move to the "book" tag's name.
In this screenshot, we have displayed the element drop-down while still on the "book" start tag. It has selected the current element for us and also shows the hierarchy of elements up to the root element ("catalog"). It also shows us the elements that are direct children of the current element. In this case, elements like "author", "title", etc. are the direct children of "book". Any of the items in the drop-down can be clicked and the caret will jump right to that element. In this sense, it provides somewhat of a mini-document outline.
This great new feature will roll out in the upcoming 2014.1 WPF, Silverlight, and WinRT/XAML controls maintenance releases.