| M | T | W | T | F | S | S |
|---|---|---|---|---|---|---|
| « Sep | ||||||
| 1 | 2 | 3 | 4 | 5 | ||
| 6 | 7 | 8 | 9 | 10 | 11 | 12 |
| 13 | 14 | 15 | 16 | 17 | 18 | 19 |
| 20 | 21 | 22 | 23 | 24 | 25 | 26 |
| 27 | 28 | 29 | ||||
I'm pleased to annnouce that my VectorCollection Flex library has been promoted to the Maven Central repository.
This replaces the version in my own repo http://repo.bealearts.co.uk/maven2/.
The new 1.1.0-Final version of the VectorCollection library can now be included in your dependencies with:
<dependencies><dependency><groupId>com.bealearts.collection</groupId><artifactId>vector-collection</artifactId><version>1.1.0-Final</version><type>swc</type></dependency></dependencies>I have setup a Maven repository for BealeARTS open-source components to allow easy dependancy management for those using Maven to manage your projects.
The repo is located at http://repo.bealearts.co.uk/maven2/ and can be included in your POM using:
<repositories><repository><name>BealeARTS Maven Repository</name><id>bealearts</id><url>http://repo.bealearts.co.uk/maven2/</url></repository></repositories>The 1.0.3-Final version of my VectorCollection library can then be included in your dependancies with:
<dependencies><dependency><groupId>com.bealearts.collection</groupId><artifactId>vector-collection</artifactId><version>1.0.3-Final</version><type>swc</type></dependency></dependencies>I have added a Flex lib to RIAForge to allow one to use a Vector based collection of objects with Flex binding.
VectorCollection works in the same was as ArrayCollection, allowing one use it as the source for a dataProvider.
By default, Flex controls which can be "clicked" on by a user do not change the mouse cursor to the hand or pointer cursor when you "mouse over" them. This is a bit annoying as users now rely on this visual feedback as it is the default behaviour of HTML links on web pages.
It is simple to make a Flex control opperate like this, by setting its useHandCursor and buttonMode properties to true. However, this is not very convenient to do for every component in an application, leading some to extend each component in order to add this behaviour as default.
As this is also far from a perfect solution, my team wondered if we could use skinning to add this behaviour - after all it is presentational. Although there is no direct way to do this through a skin class, it turns out that one can access the component the skin is applied to, thought the parent property. So as the following ButtonSkin class shows, you can indeed use a Skin, applied to each Button using CSS, to set the use of a hand cursor.
/**
** Copywrite (c) 2010, David Beale**/package com.bealearts.skin.component{import mx.controls.Button;import mx.skins.halo.ButtonSkin;;/**
* Skin which adds a mouse-over hand cursor to a Button component*/public class ButtonSkin extends mx.skins.halo.ButtonSkin{/* PUBLIC *//**
* Constructor*/public function ButtonSkin(){super();}/* PROTECTED *//**
* Override to set hand cursor property of the parent component*/override protected function updateDisplayList(unscaledWidth:Number, unscaledHeight:Number):void{/* LOCALS */var button:Button = null;super.updateDisplayList(unscaledWidth, unscaledHeight);// Get componentif (this.parent){// Get component - note not every component will be a direct parent of a skinbutton = Button(this.parent);// Set Button modeif (!button.buttonMode)button.buttonMode = true;// Set Hand cursorif (!button.useHandCursor)button.useHandCursor = true;}}/* PRIVATE */}}I have just added a ColdFusion library of mine to RIA Forge.
ResourceManager is an internationalisation library for Adobe ColdFusion which uses the resource bundle package style that Adobe Flex uses.
This makes for convenient localisation when working with both ColdFusion and Flex applications.
We have just launched a site for Land Rover in the US, it is designed to be a rich user experience for finding a certified pre-owned Land Rover cars in the USA.
View it at Land Rover Certified Pre-Owned Inventory Search by selecting the Enter Flash Site option.
Non-US users; why not try 90210 for the Zip Code
It is power by Flex and ColdFusion technologies.
As an extension of our Used Vehicle Locator product, we have just launch an iPhone targeted mobile version for Jaguar UK.
View it at Jaguar Used Cars Mobile using a iPhone or iPod Touch for the best experience.
If you need a Postcode to use, try GU7 1BZ
It is powered by ColdFusion.
This is my take on creating an Enumerator class in Flex.
AS3 does not support Enumerators so a class with static constants is used as per the Java Enumerator class pattern.
This implementation is type safe and final. It also contains static helper functions; values() which returns an array of the Enumerator objects (useful for iterations) and getByValue() which allows for easy retrieval of a typed Enumerator object from its primitive value.
package{import flash.errors.IllegalOperationError;import flash.utils.Dictionary;import flash.utils.describeType;/**
* Example Enumerator Representing different RGB Colors*/public final class ColorEnum{/* PUBLIC */public static var RED:ColorEnum = new ColorEnum('RED', PrivateEnforcer);public static var GREEN:ColorEnum = new ColorEnum('GREEN', PrivateEnforcer);public static var BLUE:ColorEnum = new ColorEnum('BLUE', PrivateEnforcer);/**
* Constructor*/public function ColorEnum(value:String, privateEnforcer:Class){// Force private call onlyif (privateEnforcer != PrivateEnforcer){throw new IllegalOperationError("Invalid constructor access");}// Add Enum valuethis._value = value;}/**
* Get all Enumerator Values*/public static function values():Array{/* LOCALS */var values:Array = new Array();var value:ColorEnum = null;if (ColorEnum._values == null)ColorEnum.buildValues();for each (value in ColorEnum._values)values.push(value);return values;}/**
* Get an Enumerator instance by its primative value*/public static function getByValue(value:String):ColorEnum{if (ColorEnum._values == null)ColorEnum.buildValues();return ColorEnum._values[value] as ColorEnum;}/**
* override value*/public function valueOf():Object{return this._value;}/**
* override toString*/public function toString():String{return this._value;}/* PRIVATE */private var _value:String = '';private static var _values:Dictionary = null;/**
* Build static dictionary of all Enum consts and values*/private static function buildValues():void{/* LOCALS */var metaData:XML = describeType(VehicleTypeEnum);var node:XML = null;// Create values DictionaryColorEnum._values = new Dictionary();// Add Each Enum const and valuefor each (node in metaData.children()){if (node.name() == 'variable' && node.@type == metaData.@name)ColorEnum._values[ColorEnum[node.@name].toString()] = ColorEnum[node.@name];}}}}class PrivateEnforcer {}For those of you in the US who have had to use UK Postcodes to try out our Used Vehicle Locators, struggle no more! We have just launched a site for Jaguar in the US.
It is designed to be a rich user experience for finding a certified pre-owned Jaguar car in the USA.
View it at Jaguar Certified Pre-Owned Inventory Search by selecting the Enter Flash Site option.
Non-US users; why not try 90210 for the Zip Code
It is power by Flex and ColdFusion technologies.
Our flex based used car locator application continues to shift like hot cakes.
The latest one is for Kia UK and is meant to be a rich user experience for finding an approved user car.
View it at Kia used cars by selecting the Enter Used Vehicle Locator option.
It is power by Flex and ColdFusion technologies.