Skip to content

v0.5.0

Choose a tag to compare

@github-actions github-actions released this 05 May 16:24
· 847 commits to main since this release
65b3627
  • Add OPEN_TITLE_BAR_CONTEXT_MENU_CMD for windows.
  • Add DRAG_MOVE_RESIZE_CMD for windows.
  • Breaking View API changes:
    • Add open_title_bar_context_menu.
    • Rename close_window to close.
    • Rename focus_window to focus.
    • Add set_enabled_buttons.
    • Add set_system_shutdown_warn.
    • Note that this is only a breaking change for direct dependents of zng-view-api.
  • Better "custom chrome" example in examples/window.rs.
  • Add OPEN_TITLE_BAR_CONTEXT_MENU_CMD to window API.
  • Fix WIDGET.border().offsets() not including the innermost border offset.
  • Add WindowVars::enabled_buttons to window API.
  • Add WindowVars::system_shutdown_warn to window API.
  • Breaking Fix when/property assign expansion order.
    • When blocks now expand in the same declaration order, before they always expanded after all property assigns.
// code like this incorrectly builds in v0.4:
fn version_0_4() -> impl UiNode {
    let can_move = var(true);
    Container! {
        when *#{can_move} {
            mouse::cursor = mouse::CursorIcon::Move;
        }
        mouse::on_mouse_down = hn!(can_move, |_| {
            let _use = &can_move;
        });
    }
}
// now in v0.5 the value must be cloned before the last move:
fn version_0_5() -> impl UiNode {
    let can_move = var(true);
    Container! {
        when *#{can_move.clone()} {
            mouse::cursor = mouse::CursorIcon::Move;
        }
        mouse::on_mouse_down = hn!(|_| {
            let _use = &can_move;
        });
    }
}
  • Breaking Rename VarCapabilities to VarCapability.
  • Breaking Add window extension API in zng-view.
    • Add ViewExtension::window.
    • Add OpenGlContext and replace the gl fields with context in multiple extension API args.
    • Rename is_config_only to is_init_only.
    • Note that this is only a breaking change for direct dependents of zng-view.
    • Rename ViewRenderExtensionError to ViewExtensionError.
  • Add window reference to args for RendererExtension when possible.
  • Fix zng::view_process::default::run_same_process not propagating app panics.
  • Add WindowCloseRequestedArgs::headed/headless.
  • Breaking Fix tab nav when a focus scope with FocusScopeOnFocus::LastFocused is a child of
    another scope with TabNav::Cycle.
    • Breaking change has minimal impact:
      • Added input in WidgetFocusInfo::on_focus_scope_move.
      • Removed FocusChangedCause::is_prev_request.
  • Add FocusChangedCause::request_target helper method.
  • Add WidgetPath::parent_id helper method.
  • Fix auto scroll to focused issues:
    • When the focused child does not subscribe to focus change events.
    • Scrolling when large widget is already visible.
    • Scrolling again to same widget when focus change event did not represent a widget change.
  • Add WidgetInfo::spatial_bounds.
  • Fix directional navigation cycling only inside viewport now full spatial bounds of scopes.
  • Add better conversions for CommandScope. You can now scope on named widgets directly, FOO_CMD.scoped("bar-wgt").
  • Add ContextualizedVar::new_value.
  • Breaking SCROLL.scroll_* methods now return contextual vars, not values.
  • Fix panic on window move in Wayland.
  • Fix minimize command removing maximized state from restore.
  • Fix issue when parent widget's cursor can override child's cursor when the parent cursor var updates.
  • Breaking Remove the cursor_img property and window var.
  • Breaking The cursor property now has input type CursorSource.
    • Note that the CursorIcon type converts to CursorSource.
  • Implement custom cursor images in the default view.