ウィンドウとネイティブサービス
main から Application::new().run(...) を一度呼び出します。起動コールバックがウィンドウを作ります。
#ウィンドウのライフタイム
cx.open_window(WindowOptions::new("Title").size(width, height), view) は、専用の View を持つウィンドウを作ります。ウィンドウを閉じると、そのビューはドロップされます。Dock アイコンは、has_visible_windows が false のときに Application::on_reopen で扱います。
Application::new()
.on_reopen(|has_visible_windows, cx| {
if !has_visible_windows {
cx.open_window(WindowOptions::new("My App").size(760.0, 520.0), App);
}
})
.run(|cx| {
cx.open_window(WindowOptions::new("My App").size(760.0, 520.0), App);
})#コマンドとサービス
cx.prompt("Save changes?", ["Save", "Cancel"]);
cx.prompt_for_paths(PathPromptOptions::new().files(true));
cx.message_box(MessageBoxOptions::new("Replace this file?"));型付き API は、ダイアログ、クリップボード、シェル、外観、メニュー、ディスプレイを扱います。あとからそのウィンドウが必要な作業では、リスナー内で cx.window_handle() を控えます。トレイアイコンはトレイアイコンを参照してください。
#イベントとファイル監視
ウィンドウのイベントには、フォーカス、リサイズ、外観、最小化、フルスクリーン、閉じる処理があります。アプリケーションのコールバックには、再オープン、アクティブ化、終了、URL を開く処理があります。ファイルシステムのイベントが必要なときは file-watcher クレート機能を有効にし、ウォッチャーは所有するビューと一緒にドロップします。
