#wx-widgets #methods #toolkit

wxrust

Binding for the wxCore library of the wxWidgets toolkit

1 unstable release

0.0.1-alpha Sep 7, 2022

#72 in #methods

MIT license

3.5MB
63K SLoC

Rust 49K SLoC // 0.1% comments C++ 13K SLoC // 0.0% comments

wx(wxrust)

This crate is a binding to the wxCore library of the wxWidgets toolkit.

This crate is wxrust not wx in crates.io as the name is already in use.

It is recommended to specify dependency to this library with renaming like this:

[dependencies]
wx = { version = "0.0.*", package = "wxrust" }

Example

#![windows_subsystem = "windows"]

use wx;
use wx::methods::*;

fn main() {
    wx::App::run(|_| {
        let frame = wx::Frame::builder(wx::Window::none())
            .title("Hello, 世界")
            .build();
        let button = wx::Button::builder(Some(&frame)).label("Greet").build();
        let i = 3;
        println!("i={}", i);
        let weak_button = button.to_weak_ref();
        button.bind(wx::RustEvent::Button, move |_: &wx::CommandEvent| {
            if let Some(button) = weak_button.get() {
                println!("i={}", i);
                button.set_label("clicked");
                println!("s={}", button.get_label())
            }
        });
        frame.centre(wx::BOTH);
        frame.show(true);
    });
}

Dependencies