0.8.1
This is mainly a bugfix release, please see the release notes for 0.8.0 below for more details about the 0.8 release.
In this release we have fixed the bug where you didn’t get selection cues, and the inspector didn’t work. We have also introduced new buttons on the dashboard to open the monitor and the inspector.
0.8.0
Fuse
New features
- Fuse Inspector, allowing you to tweak values without refreshing the whole app
- Fuse Monitor, a common place to find all run-time output from preview
- On OSX we have also introduced an experimental Sketch importer for Fuse
Fixes and improvements
- Better defaults for OSX dashboard project creation
- “Open project” button in dashboard
- Fuse update notifications
Fuselibs
X,Y, Offset
-
Element
gains anX
, andY
property which replace the oldOffset
property. IfX
is specified it sets the default horizontal alignment to Left and then offsets from that alignment. IfY
is specified it sets the default vertical alignment to Left and then offsets from that alignment. - The
Offset
property still offets but no longer modifies the alignment, thus stretching can still be used. To migrate either replaceOffset
withX
andY
or setAlignment="TopLeft"
.
Grid Columns and Rows
- Renamed properties on Grid and GridLayout:
ColumnData
->Columns
andRowData
->Rows
. The oldRows
andColumns
(which are only used in Uno code) are now calledRowList
andColumnList
respectively.
To migrate, change:
<Grid RowData="1,2" ColumnData="100px,auto">
To:
<Grid Rows="1,2" Columns="100px,auto">
Native
- An
<App>
without a theme tag implied aBasic
theme previous, but now it implies an “empty” theme. AddTheme="Basic"
to your App, and include theFuse.BasicTheme
package in your project to get the basic theme. -
Fuse.Elements.ImageElement
removed. Use the high-levelImage
to wrap native/graphics images. - The hit test for
Image
is now strictly within the visible image, not the empty area in the control, in cases where the image does not fill the control entirely -
Fuse.Shapes
is no longer part of the standard namespaces.Circle
andRectangle
are now controls in Fuse.Controls. -
WhileSliding
has been replaced with the more genericWhileInteracting
-
ScrollViewer
renamedScrollView
. -
ScrollView.Behavior
removed. You can use theKeepFocusInView
andUserScroll
properties directly. If you need a scroll view that doesn’t have standard behaviour you’ll have to create a style that doesn’t add that behavior. -
IScrollable
has been removed. AScroller
must be rooted inside aScrollView
. -
BasicTheme
Button
no longer sets the style of all text contained within, only theButtonText
has a style now. If you were usingText
inside a button you can useButtonText
instead. - Many of the basic controls are now derived from
Panel
, making it even more important you never style panel. If you need a custom panel type then create one with<Panel ux:Class="MyPanel"/>
and apply a style to that panel. -
Node.LayoutRole
made a style property ofLayout
since that is the only node in which it applies (used by Layout) -
Fuse.LayoutRole
moved toFuse.Layouts.LayoutRole
-
Control.VisualTree
has been removed. Several controls, likeScrollView
derive now fromContentControl
which exposesContent
. This likely doesn’t require any code change, but if you were usingVisualTree
in a custom control, you must now useContentControl
and theContent
property. -
Control.Overlays
has been removed. You can useLayer="Overlay"
on a panel instead now (from which most controls are derived). A few controls, likeScrollView
no longer have multiple children, and thus must be placed inside aPanel
if you need an overlay or background. -
Control.OnHitTestControlChildren
has been removed, just useOnHitTestChildren
BottomBarBackground and StatusBarBackground renamed
BottomBarBackground and StatusBarBackground are now remove in favour of the more consistantly named BottomFrameBackground and TopFrameBackground. These have been available in uno for a while so if you are already using them then you dont have to worry.
API for both are exactly the same as before.
HitTest
- If you override a
HitTest...
function you must override the matchingHitTest...Bounds
function and produce an appropriate bounds, otherwise hit test clipping will prevent the node from getting events. -
IViewport.PixelToWorldRay
is replaced withIViewport.PointToWorldRay
since point space is more common. Divide byPointDensity
to calculate in pixel space (not valid in all situations). - Hit test clipping is now based on
HitTestBounds
and not theRenderBounds
of controls. If you have a custom control that doesn’t seem to get messages add a customHitTestLocalBounds
definition. Standard controls should all respond correctly.
FuseJS
- Added NativEvent to be able to call events from Uno.
- Storage: Added deleteSync, writeSync and readSync.
- Fetch and FetchJson is deprecated, use the browser based fetch (lowercase f) API instead.
- Added optional parameter to NativeEvent to decide if events should be queued before the handler is set
- Added localStorage web api shim
- Added setInterval