Struct winsafe::gui::WindowMain

source ·
pub struct WindowMain(/* private fields */);
Available on crate feature gui only.
Expand description

An user main window, which can handle events. Usually, this is the first window of your application, launched directly from the main function. Can be programmatically created or load a dialog resource from a .res file.

Implementations§

source§

impl WindowMain

source

pub fn new(opts: WindowMainOpts) -> Self

Instantiates a new WindowMain object, to be created internally with HWND::CreateWindowEx.

source

pub fn new_dlg( dialog_id: u16, icon_id: Option<u16>, accel_table_id: Option<u16> ) -> Self

Instantiates a new WindowMain object, to be loaded from a dialog resource with HINSTANCE::CreateDialogParam.

source

pub fn run_main(&self, cmd_show: Option<SW>) -> AnyResult<i32>

Physically creates the window, then runs the main application loop. This method will block until the window is closed.

The cmd_show parameter defaults to co::SW::SHOW.

§Panics

Panics if the window is already created.

Trait Implementations§

source§

impl Clone for WindowMain

source§

fn clone(&self) -> WindowMain

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl GuiParent for WindowMain

source§

fn on(&self) -> &WindowEvents

Exposes methods to handle the basic window messages, plus timer and native control notifications. Read more
source§

fn spawn_new_thread<F>(&self, func: F)
where F: FnOnce() -> AnyResult<()> + Send + 'static,

This method calls std::thread::spawn, but it allows the returning of an error value. This error value will be forwarded to the original UI thread, allowing it to be caught at WindowMain::run_main. Read more
source§

fn run_ui_thread<F>(&self, func: F)
where F: FnOnce() -> AnyResult<()> + Send + 'static,

Runs a closure synchronously in the window’s original UI thread, allowing UI updates without the risk of a deadlock. Read more
source§

impl GuiParentPopup for WindowMain

source§

fn close(&self)

Closes the window by posting a WM_CLOSE message. This is the safest way to close any popup window, because you’re able to process the wm_close event, just like if the user clicked the window “X” button.
source§

impl GuiWindow for WindowMain

source§

fn hwnd(&self) -> &HWND

Returns the underlying handle for this control. Read more
source§

fn as_any(&self) -> &dyn Any

Converts a reference to the Any trait. This is useful when storing a collection of polymorphic controls, because Any allows downcasting. Read more
source§

impl GuiWindowText for WindowMain

source§

fn set_text(&self, text: &str)

Sets the text by calling HWND::SetWindowText.
source§

fn text(&self) -> String

Retrieves the text by calling HWND::GetWindowText.
source§

impl Send for WindowMain

Auto Trait Implementations§

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.

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> ToOwned for T
where T: Clone,

§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
source§

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

§

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>,

§

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.