Crate iui [] [src]

iui, the improved user interface crate, provides Rust bindings to libui, a wrapper library for native(ish) GUI libraries - Win32API on Windows, Cocoa on Mac OS X, and GTK+ on Linux and elsewhere. This library exposes a Rusty procedural interface to the "Least Common Denominator" of GUI widgets. They are all available on all supported platforms.

To use the library, add the following to your Cargo.toml:

"iui" = "0.2"

Most of the functionality of the crate is exposed via the UI RAII guard, which handles all initialization and cleanup for the underlying library.

After initialization, all the functionality used for creating actual UIs is in the controls module.

Fine-grained control of the event loop is avilable via the EventLoop struct.

For code examples, see the basic and advanced examples or the file editing example.

Modules

controls

Available user interface controls and related functionality.

menus

Menus that appear at the top of windows, and the items that go in them.

prelude

Common imports are packaged into this module. It's meant to be glob-imported: use iui::prelude::*.

Structs

EventLoop

Provides fine-grained control over the user interface event loop, exposing the on_tick event which allows integration with other event loops, custom logic on event ticks, etc.

UI

A handle to user interface functionality.

Enums

UIError

The error type returned by functions in this crate which might fail.