Tuesday, September 18, 2007

Using FlashDemoBuilder to create a tutorial for XPCharting

I have been looking at a few demo building tools recently and decided to give FlashDemoBuilder a go.

You can see the result here MY FirstChart.

Overall the experience was good, easy to install, easy to use and the end result is not to bad even if not perfect. There were a few glitches, it sometimes picks up the mouse or key click late so for example the menu has closed before the screen says "click here" same for some dialogs boxes. It also consumes a lot of disk space whilst recording the demo I built used over 1GB during building. Occasionaly it was also reluctant to stop recording.

Having said that it did exactly what it was supposed to and editing the timeline and adding in new objects was really simple.

I plan on trying a couple more demo building applications in the next few days to get a comparison. I will try to blog about them all.

I would be interested in hearing what you use.

Monday, September 17, 2007

Free Eclipse Plugin for FlexBuilder

Recently I have been doing a lot with the RegEx classes in AS3 and I got frustrated with creating projects to test out various RegEx expressions so I thought it would be really useful to have a small RegEx testing panel in Eclipse.

Initially I looked around to see if there was any existing RegEx plugin for Eclipse but none of those I found did what I wanted, namely to test parse expressions and replace experessions. So as a result we now have created our own plugin.

You can download it for free from here http://www.xpcomponents.com/regexbuilder_1.0.zip

The plugin is designed to let you test out all Regular Expression but particularly parse and replace experessions.


Unzip the contents into your plugin folder and start FlexBuilderwith the clean option.

You might need to click on the menu Window/OtherViews to show the plugin.




Charting Tools Demo for Flex

TrendLineTool
I have just updated the Charting Tools Demo for Flex2.

Tools Demo

XPCharting provides a simple API for adding interactive chart tools into a chart at run time. Interactive tools are designed to let end users manipulate charts at run time, probably one of the most common usages, and the one we have implemented ourselves, is allowing users to draw trend lines over a stock chart.

The demo highlights the use of our TrendLineTool on an AxisChart which plots the DJIA for the last year.

The user can draw trend lines on the chart at run time using the mouse.

First press the mouse button down and then start to drag, a trend line is anchored where you clicked and then drawn to the current mouse location. The line is highlighted red whilst it is being sized but reverts to black once the mouse button is released.

But what if a user wants to change the trend line after it is drawn?

If you mouse over the middle of the line segment it turns blue indicating it can be moved, click down and then you can move the line to a new location. Note the line retains its current angle whilst being dragged.

But what if you want to resize or change the location of the end points?

If you mouse over the two end points of the line then line turns red indicating it can be resized and the end points moved by clicking down on the line whilst it is highlighted

Additional features included deleting lines by holding the shift key down when clicking on the line or duplicating a line by holding the control key down when clicking a line.

If you have any ideas for other tools drop us a line you never know we might just implement it.

Upcoming Features
XPCharting is continuously being updated, we are currently working on rotated text for the chart legend just what you need when you are short of space, look out for that very shortly.....

If you have any suggestion for a new feature or new chart types let me know....




Wednesday, September 12, 2007

XPCharting for Flex released

We have just released FLEXPCharting 1.0 the Flex2 version of our XPCharting package.

FLEXPCharting is built on the Adobe Flex2 Framework and is 100% compatible with your Flex applications.

It is more than just a straight port of the AS2 version, it marks a major revision with many new and enhanced features. We have focused on providing more power to the developer and providing the tools that make it easy to create sophisticated charts. New chart types provide the developer with the power to create sophisticated chart analyses quickly. SubCharts enable you to add series to a child chart rather than being overlaid on the main chart, this is a commonly seen feature of stock charts where sub charts display additional information like volume or RSI that isn't appropriate to be overlaid. 3D look, graphical borders, DataEffects all empower the developer to create stunning visuals with little effort.

New series types
Lots of new series types like Stochastic, RSI, On Balance Volume, EMA and SMA.

SubCharts
SubCharts are a powerful new feature of FLEXPCharting. A sub chart is added below the main chart and shares a common horizontal axis with the main chart. This is useful where the series cant be overlaid, for example an RSI study tends to get lost if overlaid on a stock index chart but when appended underneath it easily conveys valuable information. The sub chart does not display a horizontal axis but shares the main chart horizontal axis.

Flexible Date Handling
Often charts needed to display date as a discontinuous range rather than a strict linear progression, For instance financial charts usually only have data for mon-fri rather than a full week. XPCharting default DateTime axis is a hyrbid value/category type allowing dates to be discontinuous but at the same time the are treated as Date objects that can be grouped as well as formatted. For example even with a discontinuous range of a years data it can still determine the periodicity and the appropriate labelling for the axis, displaying months with tick marks on the first data point of the new month whatever day it happens to be. We also provide a date/time as values axis so you get the best of both worlds. Date/Number formatting and parsing is handled by our own fully internationalized library which can format and parse any given pattern for any locale.

Multiple Axes
Multiple axes are supported. The SeriesSet object makes it easy to use a pair of indices with an array of Series whilst at the same time with each chart supporting multiple SeriesSets you can have any number of axes.

Drop Support
We have added in simple drop support so that users can now drag rows of data from a List or DataGrid control and drop it on to a chart and the chart will render it.

3D
3D versions of Pie and Doughnuts are included with work underway for more 3D types. We have provided both a full wire framed 3D model and also a shaded 3D model. The 3D charts can all be rotated in 3 dimensions.

DataEffects
We have added a whole slew of DataEffects like Fade, Slide, Zoom, Wipe etc. The effects are applied to a series when data changes. Many are built in allowing you to use them simply by setting a string property rather than needing to create them.

Palette
The Palette is a powerful new feature we have added to simplify the management of colors in a chart. The Palette not only manages all the strokes and fills in a chart but also can build them starting from a simple array of colors. It can create gradients both linear and radial and it will also generate additional complementary colors if it runs through the initial array rather than recycling which is important for per item fills. We have provided 15 built in palette each one with a range of complementary colors, these include the Halo palette, as well as others like BLAF or Excel. You can also easily create your own palette by specifying an array of colors or modify an existing palette. The palette makes it trivial to quickly change stroke width or alpha or use gradients without needing code just setting a few properties on the chart.

Background/Borders
We have provided 20 odd graphical border skins that allow you to quickly create attractive, distinctive charts.


Note: Although it is built on the existing Flex framework it doesn't not require the Adobe Flex Charts library.
For more info see http://xpcomponents.com/charting.shtml