Struct TreeViewEvents

Source
pub struct TreeViewEvents(/* private fields */);
Available on crate feature gui only.
Expand description

Exposes tree view control notifications.

These event methods are just proxies to the WindowEvents of the parent window, who is the real responsible for the child event handling.

You cannot directly instantiate this object, it is created internally by the control.

Implementations§

Source§

impl TreeViewEvents

Source

pub fn tvn_delete_item<F>(&self, func: F) -> &Self
where F: Fn(&NMTREEVIEW<'_, '_>) -> AnyResult<()> + 'static,

TVN_DELETEITEM notification.

Source

pub fn tvn_item_changed<F>(&self, func: F) -> &Self
where F: Fn(&NMTREEVIEW<'_, '_>) -> AnyResult<()> + 'static,

TVN_ITEMCHANGED notification.

Source

pub fn tvn_item_changing<F>(&self, func: F) -> &Self
where F: Fn(&NMTREEVIEW<'_, '_>) -> AnyResult<bool> + 'static,

TVN_ITEMCHANGING notification.

Source

pub fn tvn_item_expanded<F>(&self, func: F) -> &Self
where F: Fn(&NMTREEVIEW<'_, '_>) -> AnyResult<()> + 'static,

TVN_ITEMEXPANDED notification.

Source

pub fn tvn_item_expanding<F>(&self, func: F) -> &Self
where F: Fn(&NMTREEVIEW<'_, '_>) -> AnyResult<bool> + 'static,

TVN_ITEMEXPANDING notification.

Source

pub fn tvn_sel_changed<F>(&self, func: F) -> &Self
where F: Fn(&NMTREEVIEW<'_, '_>) -> AnyResult<()> + 'static,

TVN_SELCHANGED notification.

§Examples
use winsafe::{self as w, prelude::*, gui, co};

let wnd: gui::WindowMain; // initialized somewhere
let tree: gui::TreeView;

tree.on().tvn_sel_changed(
    move |p: &w::NMTREEVIEW| -> w::AnyResult<()> {
        println!(
            "Old item: {} - new item: {} - action: {}",
            p.itemOld.pszText().unwrap(),
            p.itemNew.pszText().unwrap(),
            unsafe { co::TVC::from_raw(p.action) },
        );
        Ok(())
    },
);
Source

pub fn tvn_sel_changing<F>(&self, func: F) -> &Self
where F: Fn(&NMTREEVIEW<'_, '_>) -> AnyResult<bool> + 'static,

TVN_SELCHANGING notification.

Source

pub fn nm_click<F>(&self, func: F) -> &Self
where F: Fn() -> AnyResult<i32> + 'static,

NM_CLICK notification.

Source

pub fn nm_custom_draw<F>(&self, func: F) -> &Self
where F: Fn(&mut NMTVCUSTOMDRAW) -> AnyResult<CDRF> + 'static,

NM_CUSTOMDRAW notification.

Source

pub fn nm_dbl_clk<F>(&self, func: F) -> &Self
where F: Fn() -> AnyResult<i32> + 'static,

NM_DBLCLK notification.

Source

pub fn nm_kill_focus<F>(&self, func: F) -> &Self
where F: Fn() -> AnyResult<()> + 'static,

NM_KILLFOCUS notification.

Source

pub fn nm_r_click<F>(&self, func: F) -> &Self
where F: Fn() -> AnyResult<i32> + 'static,

NM_RCLICK notification.

Source

pub fn nm_r_dbl_clk<F>(&self, func: F) -> &Self
where F: Fn() -> AnyResult<i32> + 'static,

NM_RDBLCLK notification.

Source

pub fn nm_return<F>(&self, func: F) -> &Self
where F: Fn() -> AnyResult<()> + 'static,

NM_RETURN notification.

Source

pub fn nm_set_cursor<F>(&self, func: F) -> &Self
where F: Fn(&NMMOUSE) -> AnyResult<i32> + 'static,

NM_MOUSE notification.

Source

pub fn nm_set_focus<F>(&self, func: F) -> &Self
where F: Fn() -> AnyResult<()> + 'static,

NM_SETFOCUS notification.

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