From a0b0a3c6a57097d56c5c471e5cb72bbde8198da8 Mon Sep 17 00:00:00 2001 From: Robin Krahl Date: Tue, 8 Jan 2019 02:11:55 +0000 Subject: Implement message boxes using the dialog backend This patch adds a first dialog box type, message boxes, and a first backend, the dialog(1) tool. It does not yet address the problems of output handling and backend selection. --- src/backends/mod.rs | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) create mode 100644 src/backends/mod.rs (limited to 'src/backends/mod.rs') diff --git a/src/backends/mod.rs b/src/backends/mod.rs new file mode 100644 index 0000000..c316307 --- /dev/null +++ b/src/backends/mod.rs @@ -0,0 +1,22 @@ +// Copyright (C) 2019 Robin Krahl +// SPDX-License-Identifier: MIT + +mod dialog; + +pub use crate::backends::dialog::Dialog; + +use std::io::Result; + +/// A dialog backend. +/// +/// A dialog backend is a program that can be used to display dialog boxes. Use the +/// [`default_backend`][] function to create a new instance of the default backend, or choose a +/// backend and create an instance manually. To use a backend, pass it to the [`show_with`][] +/// method of a dialog box. +/// +/// [`default_backend`]: ../function.default_backend.html +/// [`show_with`]: ../trait.DialogBox.html#method.show_with +pub trait Backend { + /// Shows the given message dialog. + fn show_message(&self, message: &super::Message) -> Result<()>; +} -- cgit v1.2.1