- TreeGridView: New component that displays a tree of hierarchical data with multiple columns, like a mix between
TreeView
andGridView
. - HierarchicalItemRenderer: New subclass of
ItemRenderer
that is used by bothTreeView
andTreeGridView
. Includes a toggle button to open and close branches, and an optional branch or leaf icon, in addition to the text, secondary text, icon and accessory provided byItemRenderer
. This component replacesTreeViewItemRenderer
, which is now deprecated and will be removed in a future update. - FlowRowsLayout: New layout that displays items in multiple rows. Starts by positioning items from left to right. When the combined width of items in a row reaches the width of the container, a new row will be created below. Similar to
TiledRowsLayout
, but the items may be different sizes. - BitmapDataCache: New utility class for sharing references to
BitmapData
that was loaded from a URL. - FormItem: Added
required
andrequiredSkin
properties, to optionally indicate if the form item is required. - FormItem: Added
submitOnEnterEnabled
property to allow form submission to be disabled when pressing the Enter/Return key for that specific item. Useful for components likeTextArea
, which needs to use Enter/Return to insert a line break in its text. - HScrollBar/VScrollBar: Minor tweak to the sizing behavior of the thumb to more accurately match the behavior of native scroll bars.
- IHierarchicalCollection: The
removeAll()
method now accepts an optional?location:Array<Int>
argument that may be used to remove all children from a specific branch.
- DatePicker: New component for selecting a date from a calendar view.
- FeathersControl: Added
disabledAlpha
property to change thealpha
value of the component when disabled. - FeathersControl: Added
setFocusPadding()
convenience method. - LayoutGroup: Prevents mouse/touch from reaching children when disabled.
- PopUpDatePicker: New component that displays a date as an input field, with a pop-up
DatePicker
. - RouterNavigator: Support for "hash" routing instead of URL routing. Will fall back to hash routing when loaded with the
file:
protocol. Can also setpreferHashRouting
to use hash routing as default. - RouterNavigator: Added optional
saveData
andrestoreData
methods toRoute
to allow a view's state to be saved when navigating away and restored when returning. - StackNavigator: Added optional
saveData
andrestoreData
methods toStackItem
to allow a view's state to be saved when navigating away and restored when returning. - TextArea, TextInput: Added
selectable
property, which can be set tofalse
to disable selection wheneditable
is alsofalse
. - TextArea: Added
setTextPadding()
convenience method. - stack-navigator-save-and-restore: New sample that demonstrates how to use the
saveData
andrestoreData
methods onStackItem
. - router-navigator-save-and-restore: New sample that demonstrates how to use the
saveData
andrestoreData
methods onRoute
.
- ArrayCollection, ArrayHierarchicalCollection: These collections now implement the
IExternalizable
interface. - BaseNavigator: Uses the new
TransitionEvent
instead ofFeathersEvent
for transition start, complete, and cancel events. This allows references to the views involved in the transition to be included as properties of the event. The old transition constants onFeathersEvent
are now deprecated and will be removed in a future version. - BaseNavigator: Now dispatches
Event.CHANGE
after a transition is completed, instead of at the start of the transition. - BaseScrollContainer: Added new
scrollMode
property that controls how scrolling is implemented on the OpenFL display list. This property may be set to eitherSCROLL_RECT
orMASK
. It defaults toSCROLL_RECT
, which was the existing behavior. - Transition Builders: An improved way to create transitions for navigators. The following transitions are implemented: Color Fade, Cover, Fade, Iris, Reveal, Slide, and Wipe.
- TreeView: Added
toggleChildrenOf()
method to open or close all children of a branch. - TreeView: Left and right keyboard arrow keys will open and close a branch.
- Various bug fixes.
- ArrayCollection: Added
toArray()
method to return a new array of the items in the collection (respecting filter and sort). - DefaultFocusManager: Handle focus changes with keyboard arrow keys, if they originate from
KeyLocation.D_PAD
. - HorizontalLayout, HorizontalListLayout, VerticalLayout, VerticalListLayout: The
gap
property may be set toMath.POSITIVE_INFINITY
to position items as far from each other as possible while staying within the container's view port bounds. UseminGap
to set the minimum spacing. - ItemRenderer: Added
showSecondaryText
property to optionally hide the secondary text, even if notnull
, similar to howshowText
works. - LayoutGroup, ScrollContainer: Added
maskSkin
to optionally mask the content of the container. ThemaskSkin
is resized automatically when the container resizes. Useful for masking with rounded corners or other non-rectangular shapes. - ScrollContainer: Added
viewPortMaskSkin
to optionally mask only the view port. Works similarly tomaskSkin
. - TiledRowsLayout, TiledRowsListLayout: New layout for containers that positions items as tiles (all items have equal dimensions) in one or more rows.
- PagedTiledRowsListLayout: A variation of
TiledRowsListLayout
that separates tiles across multiple pages instead of scrolling continuously. - Scroller: Added
snapPositionsX
andsnapPositionsY
properties that accept an array of snap positions, which is populated by subclasses ofBaseScrollContainer
, when a layout supports snapping. - A ton of stability and bug fixes!
- AssetLoader: Added new
originalSourceWidth
andoriginalSourceHeight
properties that return the original dimensions of the content, after loading completes. - BaseScrollContainer: Added new
restrictedScrollX
andrestrictedScrollY
that may be used instead ofscrollX
andscrollY
if it is necessary to clamp to theminimum
andmaximum
bounds. - Button, ToggleButton: Added new
showText
style to allow the text to be hidden so that it does not affect the layout (such as for a button that contains only an icon). - ButtonBar, TabBar: Added support for multiple button/tab renderers.
- ButtonBar, TabBar: Added a new
indexToButton()/indexToTab()
method to access one of the current renderers based on its position in the data provider. - Callout: New
closeOnPointerOutside
property that can be set tofalse
to prevent the callout from automatically closing when clicking or tapping outside of its bounds. - CalloutPopUpAdapter: New implementation of
IPopUpAdapter
that adds the content to aCallout
positioned near the origin. - ComboBox: Now allows the user to type a custom value. Will be returned by
selectedItem
, butselectedIndex
will be-1
. Set the newallowCustomUserValue
property tofalse
to restrict the value to only items from the data provider. - ComboBox: Added new
textToItem()
method that allows custom text to be converted into the same format as items in the data provider. - ComboBox, PopUpListView: Added a new
prompt
property to display some text when no item is currently selected. - DisplayObjectFactory: New class that's similar to
DisplayObjectRecycler
, but has onlycreate
anddestroy
functions. Noupdate
orreset
functions. - DropDownPopUpAdapter: Can now open above origin, if there is not enough space below the origin.
- FocusManager: The
addRoot()
method has been restricted to theStage
type only. To create a focus manager with a root other than the stage, use theDefaultFocusManager
constructor instead. - GridView: Added new
sortableColumns
,sortedColumn
, andsortOrder
properties that enable the user to sort the data provider by clicking a column header, or to sort the columns programatically. - GridView: Added new
CHILD_VARIANT_CELL_RENDERER
static constant to allow targeting ofGridView
cell renderers in a theme. - GridView: Renamed
CHILD_VARIANT_HEADER
toCHILD_VARIANT_HEADER_RENDERER
for consistency withCHILD_VARIANT_CELL_RENDERER
.CHILD_VARIANT_HEADER
is now deprecated and will be removed in a future update. - GridView: Added new
columnDividerFactory
andheaderDividerFactory
for displaying dividers between columns and column headers. - GridViewColumn: Added new constructor parameter to optionally set the width of the column.
- HorizontalLayout, VerticalLayout: Added new
justifyResetEnabled
property that will optionally reset the size of all items before measuring them. - HorizontalLayoutData, VerticalLayoutData: Added new
fillHorizontal()
,fillVertical()
, andfill()
static helper functions to quickly create an object withpercentWidth
,percentHeight
(or both) set to100.0
in a single function call. - HorizontalLineSkin, VerticalLineSkin: New skin classes that draw a simple line in the center.
- HorizontalListLayout, VerticalListLayout: Added new
heightResetEnabled
andwidthResetEnabled
(respectively) to reset the size of all items before measuring them. - IPopUpManager: Added new
hasModalPopUps()
,topLevelPopUpCount
, andgetPopUpAt()
APIs. - IScaleManager: New interface for custom application scaling behavior. Includes
ScreenDensityScaleManager
,LetterboxScaleManager
, andCustomScaleManager
implementations. - ItemRenderer: Addded new
accessoryView
property to optionally display a UI component on the right side of the item renderer. - ListView: Added new
VARIANT_POP_UP
static constant for list views that are added as pop-ups, for components likePopUpListView
andComboBox
. - NumericStepper: New UI component that displays a numeric value in a
TextInput
, with two buttons to increment or decrement the value. - PageIndicator: Added a new
indexToToggleButton()
method to access one of the current toggle butons based on its selection index. - PopUpUtil: Added new
isTopLevelPopUpOrIsContainedByTopLevelPopUp()
utility method. - TextArea, TextInput: All text is automatically selected when
showFocus(true)
is called. - TextArea, TextInput: Added new
errorString
property to optionally display validation errors in aTextCallout
when focused. - TextArea: Added new
displayAsPassword
property to mask the rendered text, similar to the same property thatTextInput
already had. - TextCallout: Added new
VARIANT_DANGER
static constant to optionally display the callout in a style that indicates something potentially dangerous or destructive. - TextInput: Added new
measureText
property, which can specify custom text to use when measuring the text input's ideal size. Similar toautoSizeWidth
, but uses a different value than the current value of thetext
property. - ValidationQueue: Uses
Event.RENDER
andstage.invalidate()
instead ofEvent.ENTER_FRAME
because it gives more stable results and doesn't run code every frame if no components need validation.
- Alert: New component to display a pop-up dialog with a message, a title, and an optional icon.
- AnchorLayoutData: New
fillHorizontal()
andfillVertical()
static methods. - Application: Added
topLevelApplication
static property to easily access the rootApplication
globally. - ArrayHierarchicalCollection: New collection type for hierarchical data containers, like
GroupListView
andTreeView
. - AssetLoader: Added missing
ProgressEvent.PROGRESS
dispatch when asset is loaded asynchronously. - BaseScrollContainer: New
getViewPortVisibleBounds()
utility method. - BaseScrollContainer: New
scrollPixelSnapping
property to allow snapping the scroll position to the nearest pixel. - BaseScrollContainer: New
scrollerFactory
property to customize theScroller
behavior. - BaseScrollContainer: New
showScrollBarMinimumDuration
style to ensure that scroll bars don't flicker when revealed by the mouse wheel. - ButtonBar: New component to display a set of buttons based on an
IFlatCollection
data provider. - Callout: Now automatically closes itself when its origin is removed from the stage.
- ComboBox: New
customButtonVariant
,customListViewVariant
andcustomTextInputVariant
styles to allow sub-component customization in themes. - ComboBox: New
openListViewOnFocus
property allows the pop-up list view to automatically open when theComboBox
receives focus. - ComboBox: Exposes
ListViewEvent.ITEM_TRIGGER
from the pop-up list view. - Drawer: New
clickOverlayToClose
,swipeOpenEnabled
andswipeCloseEnabled
properties. - DropDownPopUpAdapter: Forces the width of the pop-up to be at least as wide as the origin.
- Form: New component for displaying a group of fields to be submitted.
- FormItem: New component designed for use with
Form
to display a label next to each item. - General: Added new
setPadding()
convenience functions to allow settingpaddingTop
,paddingRight
,paddingBottom
, andpaddingLeft
to the same value in a single call. - GridView/GroupListView/ListView/TreeView: Methods like
scrollToIndex()
andscrollToLocation()
now accept an optional animation duration. - GridView: Added support for horizontal scrolling if the total width of the columns is larger than the width of the
GridView
. - GroupListView: New
customHeaderRendererVariant
property to allow sub-component customization in themes. - GroupListView/TreeView: New
locationToItemRenderer()
utilty method, similar toitemToItemRenderer()
. - Header: New component that displays a title in the center, plus optional views on the left and right sides.
- HScrollBar/VScrollBar: During touch interaction, if dragged out of range, the thumb will shrink like native scroll bars.
- HScrollBar/VScrollBar: New
hideThumbWhenDisabled
style that affects the thumb visiblility whenenabled
isfalse
. - IHierarchicalCollection: Added
filterFunction
andsortCompareFunction
, similar toIFlatCollection
. - IStageFocusDelegate: New interface that allows a component to specify one of its children to receive focus directly, when focus is passed by the
FocusManager
. - ITextControl: New
baseline
property, which may be used for alignment of multipleITextControl
instances together. - LeftAndRightBorderSkin: New skin class that is similar to
RectangleSkin
, but renders its border on the left and right sides only. - ListView: New
indexToItemRenderer()
utilty method, similar toitemToItemRenderer()
. - OverlineAndUnderlineSkin: Deprecated. Replaced by
TopAndBottomBorderSkin
. - PageNavigator: New
pageIndicatorFactory
andcustomPageIndicatorVariant
, andgap
properties. - PopUpListView: New
customButtonVariant
andcustomListViewVariant
styles to allow sub-component customization in themes. - Radio: Selection may now be changed with keyboard arrow keys when a radio in the group has focus.
- ScrollContainer: New
autoSizeMode
property, similar to the same property onLayoutGroup
. - TabBar: Dispatches
TabBarEvent.ITEM_TRIGGER
when a tab is triggered. - TabNavigator: New
tabBarFactory
andcustomTabBarVariant
styles to to allow sub-component customization. - TabNavigator: New
gap
style to add spacing between the active view and theTabBar
sub-component. - TabNavigator: Exposes
TabBarEvent.ITEM_TRIGGER
from the tab bar. - TextArea: If the
prompt
is too long to fit horizontally, it will now wrap to multiple lines. - TextArea/TextInput: New
maxChars
property to limit the number of allowed characters entered by the user. - TopAndBottomBorderSkin: New skin class that is similar to
RectangleSkin
, but renders its border on the top and bottom sides only. - TreeViewItemRenderer: New
branchIcon
,branchOpenIcon
,branchClosedIcon
, andleafIcon
styles.
- Restored support for OpenFL version 8.9.
- Application: Enables the new
ToolTipManager
by default. May usedisable_tool_tip_manager
haxedef to disable. - Application: Sets stage
scaleMode
andalign
for "flash" target so that using the compiled .swc in ActionScript behaves the same as compiling with Haxe. - AssetLoader: Added
@:styleContext
metadata. - FeathersControl: Added
toolTip
property. - FillStyle: Gradient matrix may now be specified as a
Float
for radians, aMatrix
instance, or a function that accepts the same arguments ascreateGradientBox()
and returns aMatrix
. - FillStyle: Added
None
to enum. - GridView: May optionally define a different
cellRendererRecycler
for each column. - GridView: Added
layout
style. - GridView: Added
extendedScrollBarY
style to allow the vertical scroll bar to extend up into the headers. - HorizontalListLayout: Added
requestedMinColumnCount
andrequestedMaxColumnCount
properties. - HorizontalListLayout: The
requestedColumnCount
property now defaults tonull
, instead of5.0
. - LineStyle: Gradient matrix may now be specified as a
Float
for radians, aMatrix
instance, or a function that accepts the same arguments ascreateGradientBox()
and returns aMatrix
. - LineStyle: Added
Bitmap()
to enum. - LineStyle: Added
None
to enum. - ListView: May optionally define multiple item renderer recyclers with
setItemRendererRecycler()
anditemRendererRecyclerIDFunction
. - ToolTipManager: listens for stage mouse events and displays tool tips for UI components with a
toolTip
property. - TreeView: May optionally define multiple item renderer recyclers with
setItemRendererRecycler()
anditemRendererRecyclerIDFunction
. - VerticalListFixedRowLayout: Added
requestedMinRowCount
andrequestedMaxRowCount
properties. - VerticalListFixedRowLayout: The
requestedRowCount
property now defaults tonull
, instead of5.0
. - VerticalListLayout: Added
requestedMinRowCount
andrequestedMaxRowCount
properties. - VerticalListLayout: The
requestedRowCount
property now defaults tonull
, instead of5.0
.
- animated-tween-skin: new sample project that demonstrates how to create a skin with animations.
- Button: added
textOffsetX
,textOffsetY
,iconOffsetX
, andiconOffsetY
properties. - BaseScrollContainer: allow multiple nested containers, where the deepest container gets precedence for touch gestures.
- Callout: added support for "arrow" skins.
- CellRenderer: removed because it is no longer needed. Use
ItemRenderer
forGridView
cell renderers instead. - custom-programmatic-skin: new sample project that demonstrates how to create a custom skin with programmatically drawn graphics.
- custom-programmatic-skin-with-states: new sample project that demonstrates how to create a custom skin that handles state changes from a UI component, like a button.
- Drawer: new component that supports opening a drawer modally above other content.
- EdgePuller: new utility used for "pullable" component edges, used by
Drawer
and navigators. - FeathersControl: dispatches
FeathersEvent.ENABLED
andDISABLED
when theenabled
property changes. - FocusManager: optionally supports multiple root containers.
- FocusManager: disables focus management under the overlay when the
PopUpManager
has a modal popup. - FocusManager: added
findNextFocus()
method. - FocusManager: can pass focus to web browser when reaching beginning or end of all focusable objects.
- LayoutGroupItemRenderer: new component to use as base type for custom item renderers.
- ListView: added
allowMultipleSelection
,selectedIndices
, andselectedItems
properties. - General: Added
@:event
metadata to all UI components, so that a list of events is available to macros. - GridView: added
resizableColumns
andcolumnResizeSkin
properties. - GridView: added
GridViewEvent.CELL_TRIGGER
andHEADER_TRIGGER
events. - GridView: added
allowMultipleSelection
,selectedIndices
, andselectedItems
properties. - GroupListView: added
GroupListView.ITEM_TRIGGER
event. - HDividedBox and VDividedBox: new containers that add resizing dividers between children.
- HScrollBar/VScrollBar: added
snapInterval
and changedstep
to apply to increment/decrement buttons only. - HSlider/VSlider: added
snapInterval
and changedstep
to apply to keyboard events only. - HSlider/VSlider:
step
defaults to0.01
because it is needed for keyboard events. - MultiSkin: a skin for UI components that switches between different display objects when the UI component's state changes. Useful for ensuring that
MouseEvent.CLICK
andTouchEvent.TOUCH_TAP
are correctly dispatched when the target below the pointer change. - PageNavigator: added a touch swipe gesture to go back and forward.
- PageNavigator: added
previousTransition
andnextTransition
properties. - PillSkin: a skin for UI components shaped like a "pill".
- ProgrammaticSkin: new base class for custom programmatic skins.
- RectangleSkin: fixed issue where
cornerRadius
was incorrectly drawn at half size. Developers may need to update code to use smaller values than before. - ResponsiveGridLayout: new layout
- StackNavigator: added
popSwipeEnabled
andpopSwipeActiveEdgeSize
properties to enable a touch swipe to go back gesture. - TabNavigator: added
swipeEnabled
property to enable a touch swipe gesture to go back and forward. - TabNavigator: added
previousTransition
andnextTransition
properties. - TabSkin: a skin for UI components shaped like a rectangle with two rounded corners on one side.
- TextInput: added
leftView
andrightView
properties to display icons or other UI components inside the input. - TextInput: added
VARIANT_SEARCH
for use in themes. - TextInput: added
autoSizeWidth
property to resize based on the entered text. - TreeView: instead of dispatching
Event.OPEN
andCLOSE
, dispatchesTreeViewEvent.BRANCH_OPEN
andBRANCH_CLOSE
. - TriangleSkin: a skin for UI components shaped like a triangle.
- GroupListView: new component
- ArrayCollection: added some functional methods, including
find()
,findIndex()
,some()
,forEach()
, andmap()
. - BaseScrollContainer: added
showScrollBars
property, which can be set tofalse
to hide scroll bars completely. - CLI: new projects compile to OpenFL's default bin folder, instead of the custom build folder.
- CLI: fixed issue where certain folder names could cause the main class name to contain invalid characters.
- Default Theme: some refinements to colors and sizing, especially on desktop.
- GridView: added
CHILD_VARIANT_HEADER
to customize styles of headers. - IHTMLTextControl: added a new interface for components with
htmlText
property, similar to the existingITextControl
. - IProgrammaticSkin: added a new interface for programmatic skins (plus a
ProgrammaticSkin
base class). - IStyleObject: added
themeEnabled
property, which can be set tofalse
to make a component and all of its children ignore the current theme. - InvalidationFlag: this type is now an enum, and custom flags may be defined like
InvalidationFlag.CUSTOM("my-custom-flag")
. - ItemRenderer: added optional
alternateBackgroundSkin
property to switch between backgrounds in data components likeListView
. - ValidatingSprite: added advanced
runWithoutInvalidation()
function for changing properties without an extra validation cycle. - ListView:
ListViewItemState
includes newowner
andenabled
properties (similar forTreeView
,GridView
and other data rendering components). - ListView: now handles
UPDATE_AT
andUPDATE_ALL
events from the data provider collection. - ListView: added
itemToItemRenderer()
anditemRendererToItem()
methods (similar forTreeView
,GridView
and other data rendering components). - RouterNavigator: added new
location
property to access the current location on all targets. - Scroller: added new
mouseWheelYScrollX
property to optionally make vertical mouse wheel scroll horizontally. - TabSkin: a new skin class with a tab-like shape (rounded corners on one side only), similar to the rectangle/circle/ellipse skins from previous versions.
- TextArea, TextInput: added new selection APIs, including
selectionAnchorIndex
,selectionActiveIndex
,selectRange()
, andselectAll()
. - TreeView: added
toggleBranch()
andisBranchOpen()
methods. - And many more bug fixes…
- CLI:
create-project
command - GridView: new component
- PageIndicator: new component
- PageNavigator: new component
- TabNavigator: new component
- TextArea: new component
- TreeView: new component
- AnchorLayoutData: anchors may optionally be relative to other children in the container
- HorizontalListLayout: new layout optimized for lists
- VerticalListLayout: new layout optimized for lists
- HorizontalDistributedLayout: new layout
- VerticalDistributedLayout: new layout
- ItemRenderer: added
secondaryText
property - Label: added
htmlText
property - TextInput: added
prompt
property - Scale9Bitmap: new custom display object for rendering
BitmapData
withscale9Grid
- Basic keyboard focus management
- Improved support for Neko and HashLink
- login-form: new sample
- router-navigator-pass-data-between-views: new sample
- Initial preview build