summaryrefslogtreecommitdiff
path: root/iced_builder/src
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--iced_builder/src/lib.rs1
-rw-r--r--iced_builder/src/panes/code_view.rs11
-rw-r--r--iced_builder/src/widget.rs21
3 files changed, 27 insertions, 6 deletions
diff --git a/iced_builder/src/lib.rs b/iced_builder/src/lib.rs
index d04c594..f3165f5 100644
--- a/iced_builder/src/lib.rs
+++ b/iced_builder/src/lib.rs
@@ -3,6 +3,7 @@ pub mod error;
pub mod icon;
pub mod panes;
pub mod types;
+pub mod widget;
pub use error::Error;
pub type Result<T> = core::result::Result<T, Error>;
diff --git a/iced_builder/src/panes/code_view.rs b/iced_builder/src/panes/code_view.rs
index 1be75d9..fe7801c 100644
--- a/iced_builder/src/panes/code_view.rs
+++ b/iced_builder/src/panes/code_view.rs
@@ -1,10 +1,9 @@
-use iced::widget::{
- button, container, pane_grid, row, text, text_editor, tooltip, Space,
-};
+use iced::widget::{button, pane_grid, row, text, text_editor, Space};
use iced::{Alignment, Length, Theme};
use super::style;
use crate::icon::copy;
use crate::types::{DesignerPage, Message};
+use crate::widget::tip;
pub fn view<'a>(
editor_content: &'a text_editor::Content,
@@ -14,10 +13,10 @@ pub fn view<'a>(
let title = row![
text("Generated Code"),
Space::with_width(Length::Fill),
- tooltip(
- button(container(copy()).center_x(30)).on_press(Message::CopyCode),
+ tip(
+ button(copy()).on_press(Message::CopyCode),
"Copy code to clipboard",
- tooltip::Position::FollowCursor
+ tip::Position::FollowCursor
),
Space::with_width(20),
button("Switch to Designer view")
diff --git a/iced_builder/src/widget.rs b/iced_builder/src/widget.rs
new file mode 100644
index 0000000..ed2073a
--- /dev/null
+++ b/iced_builder/src/widget.rs
@@ -0,0 +1,21 @@
+use iced::widget::{container, text, tooltip};
+use iced::Element;
+
+pub mod tip {
+ pub use super::tooltip::Position;
+}
+
+pub fn tip<'a, Message: 'a>(
+ target: impl Into<Element<'a, Message>>,
+ tip: &'a str,
+ position: tip::Position,
+) -> Element<'a, Message> {
+ tooltip(
+ target,
+ container(text(tip).size(14))
+ .padding(5)
+ .style(container::rounded_box),
+ position,
+ )
+ .into()
+}