zng_wgt_window

Struct Window

source
pub struct Window(/* private fields */);
Expand description

W A window container.

The instance type is WindowRoot, it can be given to the WINDOWS service to open a system window that is kept in sync with the window properties set in the widget.

See run_window for more details.

Implementations§

source§

impl Window

source

pub fn position(&self, position: impl IntoVar<Point>)

P Binds the position window var with the property value.

The binding is bidirectional and the window variable is assigned on init.

source§

impl Window

source

pub fn monitor(&self, monitor: impl IntoVar<MonitorQuery>)

P Binds the monitor window var with the property value.

The binding is bidirectional and the window variable is assigned on init.

source§

impl Window

source

pub fn state(&self, state: impl IntoVar<WindowState>)

P Binds the state window var with the property value.

The binding is bidirectional and the window variable is assigned on init.

source§

impl Window

source

pub fn size(&self, size: impl IntoVar<Size>)

P Binds the size window var with the property value.

The binding is bidirectional and the window variable is assigned on init.

source§

impl Window

source

pub fn min_size(&self, min_size: impl IntoVar<Size>)

P Binds the min_size window var with the property value.

The binding is bidirectional and the window variable is assigned on init.

source§

impl Window

source

pub fn max_size(&self, max_size: impl IntoVar<Size>)

P Binds the max_size window var with the property value.

The binding is bidirectional and the window variable is assigned on init.

source§

impl Window

source

pub fn font_size(&self, font_size: impl IntoVar<Length>)

P Binds the font_size window var with the property value.

The binding is bidirectional and the window variable is assigned on init.

source§

impl Window

source

pub fn chrome(&self, chrome: impl IntoVar<bool>)

P Binds the chrome window var with the property value.

The binding is bidirectional and the window variable is assigned on init.

source§

impl Window

source

pub fn icon(&self, icon: impl IntoVar<WindowIcon>)

P Binds the icon window var with the property value.

The binding is bidirectional and the window variable is assigned on init.

source§

impl Window

source

pub fn title(&self, title: impl IntoVar<Txt>)

P Binds the title window var with the property value.

The binding is bidirectional and the window variable is assigned on init.

source§

impl Window

source

pub fn auto_size(&self, auto_size: impl IntoVar<AutoSize>)

P Binds the auto_size window var with the property value.

The binding is bidirectional and the window variable is assigned on init.

source§

impl Window

source

pub fn auto_size_origin(&self, auto_size_origin: impl IntoVar<Point>)

P Binds the auto_size_origin window var with the property value.

The binding is bidirectional and the window variable is assigned on init.

source§

impl Window

source

pub fn resizable(&self, resizable: impl IntoVar<bool>)

P Binds the resizable window var with the property value.

The binding is bidirectional and the window variable is assigned on init.

source§

impl Window

source

pub fn movable(&self, movable: impl IntoVar<bool>)

P Binds the movable window var with the property value.

The binding is bidirectional and the window variable is assigned on init.

source§

impl Window

source

pub fn always_on_top(&self, always_on_top: impl IntoVar<bool>)

P Binds the always_on_top window var with the property value.

The binding is bidirectional and the window variable is assigned on init.

source§

impl Window

source

pub fn visible(&self, visible: impl IntoVar<bool>)

P Binds the visible window var with the property value.

The binding is bidirectional and the window variable is assigned on init.

source§

impl Window

source

pub fn taskbar_visible(&self, taskbar_visible: impl IntoVar<bool>)

P Binds the taskbar_visible window var with the property value.

The binding is bidirectional and the window variable is assigned on init.

source§

impl Window

source

pub fn parent(&self, parent: impl IntoVar<Option<WindowId>>)

P Binds the parent window var with the property value.

The binding is bidirectional and the window variable is assigned on init.

source§

impl Window

source

pub fn modal(&self, modal: impl IntoVar<bool>)

P Binds the modal window var with the property value.

The binding is bidirectional and the window variable is assigned on init.

source§

impl Window

source

pub fn color_scheme(&self, color_scheme: impl IntoVar<Option<ColorScheme>>)

P Binds the color_scheme window var with the property value.

The binding is bidirectional and the window variable is assigned on init.

source§

impl Window

source

pub fn accent_color(&self, accent_color: impl IntoVar<Option<LightDark>>)

P Binds the accent_color window var with the property value.

The binding is bidirectional and the window variable is assigned on init.

source§

impl Window

source

pub fn frame_capture_mode( &self, frame_capture_mode: impl IntoVar<FrameCaptureMode>, )

P Binds the frame_capture_mode window var with the property value.

The binding is bidirectional and the window variable is assigned on init.

source§

impl Window

source

pub fn enabled_buttons(&self, enabled_buttons: impl IntoVar<WindowButton>)

P Binds the enabled_buttons window var with the property value.

The binding is bidirectional and the window variable is assigned on init.

source§

impl Window

source

pub fn x(&self, x: impl IntoVar<Length>)

P Binds the x of the position window var with the property value.

The binding is bidirectional and the window variable is assigned on init.

source§

impl Window

source

pub fn y(&self, y: impl IntoVar<Length>)

P Binds the y of the position window var with the property value.

The binding is bidirectional and the window variable is assigned on init.

source§

impl Window

source

pub fn width(&self, width: impl IntoVar<Length>)

P Binds the width of the size window var with the property value.

The binding is bidirectional and the window variable is assigned on init.

source§

impl Window

source

pub fn height(&self, height: impl IntoVar<Length>)

P Binds the height of the size window var with the property value.

The binding is bidirectional and the window variable is assigned on init.

source§

impl Window

source

pub fn min_width(&self, min_width: impl IntoVar<Length>)

P Binds the width of the min_size window var with the property value.

The binding is bidirectional and the window variable is assigned on init.

source§

impl Window

source

pub fn min_height(&self, min_height: impl IntoVar<Length>)

P Binds the height of the min_size window var with the property value.

The binding is bidirectional and the window variable is assigned on init.

source§

impl Window

source

pub fn max_width(&self, max_width: impl IntoVar<Length>)

P Binds the width of the max_size window var with the property value.

The binding is bidirectional and the window variable is assigned on init.

source§

impl Window

source

pub fn max_height(&self, max_height: impl IntoVar<Length>)

P Binds the height of the max_size window var with the property value.

The binding is bidirectional and the window variable is assigned on init.

source§

impl Window

source

pub fn clear_color(&self, color: impl IntoVar<Rgba>)

P Window clear color.

Color used to clear the previous frame pixels before rendering a new frame. It is visible if window content does not completely fill the content area, this can happen if you do not set a background or the background is semi-transparent, also can happen during very fast resizes.

source§

impl Window

source

pub fn save_state(&self, enabled: impl IntoValue<SaveState>)

P Save and restore the window state.

If enabled a config entry is created for the window state in CONFIG, and if a config backend is set the window state is persisted on change and restored when the app reopens.

This property is enabled by default in the Window! widget, without a key. Note that without a config key the state only actually enables if the window root widget ID or the window ID have a name.

source§

impl Window

source

pub fn config_block_window_load(&self, enabled: impl IntoValue<BlockWindowLoad>)

P Block window load until CONFIG.status is idle.

This property is enabled by default in the Window! widget.

source§

impl Window

source

pub fn needs_fallback_chrome(&self, needs: impl IntoVar<bool>)

P Gets if is not headless, chrome is true, state is not fullscreen but WINDOWS.system_chrome reports the system does not provide window decorations.

source§

impl Window

source

pub fn prefer_custom_chrome(&self, prefer: impl IntoVar<bool>)

P Gets if WINDOWS.system_chrome prefers custom chrome.

Note that you must set chrome to false when using this to provide a custom chrome.

source§

impl Window

source

pub fn custom_chrome_adorner_fn( &self, custom_chrome: impl IntoVar<WidgetFn<()>>, )

P Adorner property specific for custom chrome overlays.

This property behaves exactly like adorner_fn. Using it instead of adorner frees the adorner property for other usage in the window instance or in derived window types.

Note that you can also set the custom_chrome_padding_fn to ensure that the content is not hidden behind the adorner.

source§

impl Window

source

pub fn custom_chrome_padding_fn(&self, padding: impl IntoVar<SideOffsets>)

P Extra padding for window content in windows that display a custom_chrome_adorner_fn.

source§

impl Window

source

pub fn widget_new() -> Self

Start building a new instance.

source

pub fn widget_type() -> WidgetType

Gets the widget type info.

source§

impl Window

source

pub fn widget_build(&mut self) -> WindowRoot

Build a WindowRoot.

source§

impl Window

source

pub fn start_position(&self, position: impl IntoValue<StartPosition>)

c Defines how the window is positioned when it first opens.

source§

impl Window

source

pub fn start_focused(&self, enabled: impl IntoValue<bool>)

c If the window is steals keyboard focus on open.

By default the operating system decides if the window will receive focus after opening, usually it is focused only if the process that started the window already has focus. Enabling this ensures that focus is moved to the new window, potentially stealing the focus from other apps and disrupting the user.

source§

impl Window

source

pub fn kiosk(&self, kiosk: impl IntoValue<bool>)

c Lock-in kiosk mode.

In kiosk mode the only window states allowed are fullscreen or fullscreen exclusive, and all subsequent windows opened are child of the kiosk window.

Note that this does not configure the operating system, you still need to setup a kiosk environment. This just stops the app itself from accidentally exiting fullscreen.

source§

impl Window

source

pub fn allow_transparency(&self, allow: impl IntoValue<bool>)

c If semi-transparent content is see-through, mixing with the operating system pixels behind the window.

Note that to actually see behind the window you must set the clear_color and background_color to a transparent color. The composition is a simple alpha blend, effects like blur do not apply to the pixels behind the window.

source§

impl Window

source

pub fn render_mode(&self, mode: impl IntoValue<Option<RenderMode>>)

c Render performance mode overwrite for this window, if set to None the WINDOWS.default_render_mode is used.

The view-process will try to match the mode, if it is not available a fallback mode is selected, see RenderMode for more details about each mode and fallbacks.

source§

impl Window

source

pub fn on_open(&self, handler: impl WidgetHandler<WindowOpenArgs>)

P Event just after the window opens.

This event notifies once per window, after the window content is inited.

This property is the same as on_pre_window_open.

source§

impl Window

source

pub fn on_load(&self, handler: impl WidgetHandler<WindowOpenArgs>)

P Event just after the window loads.

This event notifies once per window, after the first layout and all WindowLoadingHandle have expired or dropped.

This property is the same as on_pre_window_load.

source§

impl Window

source

pub fn on_close_requested( &self, handler: impl WidgetHandler<WindowCloseRequestedArgs>, )

P On window close requested.

This event notifies every time an attempt to close the window is made. Close can be cancelled by stopping propagation on the event args, the window only closes after all handlers receive this event and propagation is not stopped.

This property is the same as on_window_close_requested.

source§

impl Window

source

pub fn on_close(&self, handler: impl WidgetHandler<WindowCloseArgs>)

P On window close.

The window will deinit after this event.

This property is the same as on_pre_window_close.

source§

impl Window

source

pub fn on_moved(&self, handler: impl WidgetHandler<WindowChangedArgs>)

P On window position changed.

This event notifies every time the window position changes. You can also track the window position using the actual_position variable.

This property is the same as on_pre_window_moved.

source§

impl Window

source

pub fn on_resized(&self, handler: impl WidgetHandler<WindowChangedArgs>)

P On window size changed.

This event notifies every time the window content area size changes. You can also track the window size using the actual_size variable.

This property is the same as on_pre_window_resized.

source§

impl Window

source

pub fn on_state_changed(&self, handler: impl WidgetHandler<WindowChangedArgs>)

P On window state changed.

This event notifies every time the window state changes.

Note that you can also track the window state by setting state to a read-write variable.

This property is the same as on_pre_window_state_changed.

source§

impl Window

source

pub fn on_maximized(&self, handler: impl WidgetHandler<WindowChangedArgs>)

P On window maximized.

This event notifies every time the window state changes to maximized.

This property is the same as on_pre_window_maximized.

source§

impl Window

source

pub fn on_unmaximized(&self, handler: impl WidgetHandler<WindowChangedArgs>)

P On window exited the maximized state.

This event notifies every time the window state changes to a different state from maximized.

This property is the same as on_pre_window_unmaximized.

source§

impl Window

source

pub fn on_minimized(&self, handler: impl WidgetHandler<WindowChangedArgs>)

P On window minimized.

This event notifies every time the window state changes to minimized.

This property is the same as on_pre_window_maximized.

source§

impl Window

source

pub fn on_unminimized(&self, handler: impl WidgetHandler<WindowChangedArgs>)

P On window exited the minimized state.

This event notifies every time the window state changes to a different state from minimized.

This property is the same as on_pre_window_unminimized.

source§

impl Window

source

pub fn on_restored(&self, handler: impl WidgetHandler<WindowChangedArgs>)

P On window state changed to Normal.

This event notifies every time the window state changes to Normal.

This property is the same as on_pre_window_restored.

source§

impl Window

source

pub fn on_fullscreen(&self, handler: impl WidgetHandler<WindowChangedArgs>)

P On window enter one of the fullscreen states.

This event notifies every time the window state changes to Fullscreen or Exclusive.

This property is the same as on_pre_window_fullscreen.

source§

impl Window

source

pub fn on_exited_fullscreen( &self, handler: impl WidgetHandler<WindowChangedArgs>, )

P On window is no longer fullscreen.

This event notifies every time the window state changes to one that is not fullscreen.

This property is the same as on_pre_window_exited_fullscreen.

source§

impl Window

source

pub fn on_frame_image_ready( &self, handler: impl WidgetHandler<FrameImageReadyArgs>, )

P On window frame rendered.

If frame_capture_mode is set the image will be available in the event args.

source§

impl Window

source

pub fn headless_monitor(&self, monitor: impl IntoValue<HeadlessMonitor>)

c Imaginary monitor used by the window when it runs in headless mode.

Methods from Deref<Target = Container>§

source

pub fn clip_to_bounds(&self, clip: impl IntoVar<bool>)

P Content overflow clipping.

source

pub fn child(&self, child: impl UiNode)

P The widget’s child.

Can be any type that implements UiNode, any widget.

In Container! derived widgets or similar this property is captured and used as the actual child, in other widgets this property is an alias for child_under.

source

pub fn padding(&self, padding: impl IntoVar<SideOffsets>)

P Margin space around the content of a widget.

This property is margin with nest group CHILD_LAYOUT.

source

pub fn child_align(&self, alignment: impl IntoVar<Align>)

P Aligns the widget content within the available space.

This property is align with nest group CHILD_LAYOUT.

source

pub fn child_insert( &self, placement: impl IntoVar<ChildInsert>, node: impl UiNode, spacing: impl IntoVar<Length>, )

P Insert node in the placement relative to the widget’s child.

This property disables inline layout for the widget.

source

pub fn child_out_insert( &self, placement: impl IntoVar<ChildInsert>, node: impl UiNode, spacing: impl IntoVar<Length>, )

P Insert node in the placement relative to the widget’s child, outside of the child layout.

This is still inside the parent widget, but outside of properties like padding.

This property disables inline layout for the widget.

source

pub fn child_left(&self, node: impl UiNode, spacing: impl IntoVar<Length>)

P Insert node to the left of the widget’s child.

This property disables inline layout for the widget. See child_insert for more details.

source

pub fn child_right(&self, node: impl UiNode, spacing: impl IntoVar<Length>)

P Insert node to the right of the widget’s child.

This property disables inline layout for the widget. See child_insert for more details.

source

pub fn child_top(&self, node: impl UiNode, spacing: impl IntoVar<Length>)

P Insert node above the widget’s child.

This property disables inline layout for the widget. See child_insert for more details.

source

pub fn child_bottom(&self, node: impl UiNode, spacing: impl IntoVar<Length>)

P Insert node below the widget’s child.

This property disables inline layout for the widget. See child_insert for more details.

source

pub fn child_start(&self, node: impl UiNode, spacing: impl IntoVar<Length>)

P Insert node to the left of the widget’s child in LTR contexts or to the right in RTL contexts.

This property disables inline layout for the widget. See child_insert for more details.

source

pub fn child_end(&self, node: impl UiNode, spacing: impl IntoVar<Length>)

P Insert node to the right of the widget’s child in LTR contexts or to the right of the widget’s child in RTL contexts.

This property disables inline layout for the widget. See child_insert for more details.

source

pub fn child_over(&self, node: impl UiNode)

P Insert node over the widget’s child.

This property disables inline layout for the widget. See child_insert for more details.

source

pub fn child_under(&self, node: impl UiNode)

P Insert node under the widget’s child.

This property disables inline layout for the widget. See child_insert for more details.

source

pub fn child_out_left(&self, node: impl UiNode, spacing: impl IntoVar<Length>)

P Insert node to the left of the widget’s child, outside of the child layout.

This property disables inline layout for the widget. See child_out_insert for more details.

source

pub fn child_out_right(&self, node: impl UiNode, spacing: impl IntoVar<Length>)

P Insert node to the right of the widget’s child, outside of the child layout.

This property disables inline layout for the widget. See child_out_insert for more details.

source

pub fn child_out_top(&self, node: impl UiNode, spacing: impl IntoVar<Length>)

P Insert node above the widget’s child, outside of the child layout.

This property disables inline layout for the widget. See child_out_insert for more details.

source

pub fn child_out_bottom(&self, node: impl UiNode, spacing: impl IntoVar<Length>)

P Insert node below the widget’s child, outside of the child layout.

This property disables inline layout for the widget. See child_out_insert for more details.

source

pub fn child_out_start(&self, node: impl UiNode, spacing: impl IntoVar<Length>)

P Insert node to the left of the widget’s child in LTR contexts or to the right in RTL contexts, outside of the child layout.

This property disables inline layout for the widget. See child_out_insert for more details.

source

pub fn child_out_end(&self, node: impl UiNode, spacing: impl IntoVar<Length>)

P Insert node to the right of the widget’s child in LTR contexts or to the right of the widget’s child in RTL contexts, outside of the child layout.

This property disables inline layout for the widget. See child_out_insert for more details.

source

pub fn child_out_over(&self, node: impl UiNode)

P Insert node over the widget’s child, not affected by child layout.

This property disables inline layout for the widget. See child_out_insert for more details.

source

pub fn child_out_under(&self, node: impl UiNode)

P Insert node under the widget’s child, not affected by child layout.

This property disables inline layout for the widget. See child_out_insert for more details.

Methods from Deref<Target = WidgetBase>§

source

pub fn widget_builder(&mut self) -> &mut WidgetBuilder

Returns a mutable reference to the widget builder.

source

pub fn widget_when(&mut self) -> Option<&mut WhenInfo>

Returns a mutable reference to the when block if called inside a when block.

source

pub fn widget_take(&mut self) -> WidgetBuilder

Takes the widget builder, finishing the widget macro build.

After this call trying to set a property using self will panic, the returned builder can still be manipulated directly.

source

pub fn widget_build(&mut self) -> impl UiNode

Build the widget.

After this call trying to set a property will panic.

source

pub fn widget_importance(&mut self) -> &mut Importance

Returns a mutable reference to the importance of the next property assigns, unsets or when blocks.

Note that during the widget_intrinsic call this is Importance::WIDGET and after it is Importance::INSTANCE.

source

pub fn start_when_block( &mut self, inputs: Box<[WhenInput]>, state: Box<dyn VarBoxed<bool>>, expr: &'static str, location: SourceLocation, )

Start building a when block, all properties set after this call are pushed in the when block.

source

pub fn end_when_block(&mut self)

End the current when block, all properties set after this call are pushed in the widget.

source

pub fn id(&self, id: impl IntoValue<WidgetId>)

c Unique ID of the widget instance.

Note that the id can convert from a &'static str unique name.

Trait Implementations§

source§

impl Deref for Window

source§

type Target = Container

The resulting type after dereferencing.
source§

fn deref(&self) -> &Self::Target

Dereferences the value.
source§

impl DerefMut for Window

source§

fn deref_mut(&mut self) -> &mut Self::Target

Mutably dereferences the value.

Auto Trait Implementations§

§

impl !Freeze for Window

§

impl !RefUnwindSafe for Window

§

impl Send for Window

§

impl !Sync for Window

§

impl Unpin for Window

§

impl !UnwindSafe for Window

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

§

impl<T> Instrument for T

§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided [Span], returning an Instrumented wrapper. Read more
§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
source§

impl<T, U> Into<U> for T
where U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T> IntoEither for T

source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts self into a Left variant of Either<Self, Self> if into_left is true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

Converts self into a Left variant of Either<Self, Self> if into_left(&self) returns true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
§

impl<T> Pointable for T

§

const ALIGN: usize = _

The alignment of pointer.
§

type Init = T

The type for initializers.
§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
source§

impl<T> Same for T

source§

type Output = T

Should always be Self
source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

source§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<T> WithSubscriber for T

§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a [WithDispatch] wrapper. Read more
§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a [WithDispatch] wrapper. Read more
§

impl<T> ErasedDestructor for T
where T: 'static,

§

impl<T> MaybeSendSync for T