Introduce StyleSheet for Text widget
This commit is contained in:
parent
c807abdfd7
commit
1dd1a2f97f
28 changed files with 183 additions and 87 deletions
|
|
@ -71,7 +71,7 @@ pub fn tooltip<'a, Message, Renderer>(
|
|||
) -> widget::Tooltip<'a, Message, Renderer>
|
||||
where
|
||||
Renderer: iced_native::text::Renderer,
|
||||
Renderer::Theme: widget::container::StyleSheet,
|
||||
Renderer::Theme: widget::container::StyleSheet + widget::text::StyleSheet,
|
||||
{
|
||||
widget::Tooltip::new(content, tooltip, position)
|
||||
}
|
||||
|
|
@ -82,6 +82,7 @@ where
|
|||
pub fn text<Renderer>(text: impl Into<String>) -> widget::Text<Renderer>
|
||||
where
|
||||
Renderer: iced_native::text::Renderer,
|
||||
Renderer::Theme: widget::text::StyleSheet,
|
||||
{
|
||||
widget::Text::new(text)
|
||||
}
|
||||
|
|
@ -96,7 +97,7 @@ pub fn checkbox<'a, Message, Renderer>(
|
|||
) -> widget::Checkbox<'a, Message, Renderer>
|
||||
where
|
||||
Renderer: iced_native::text::Renderer,
|
||||
Renderer::Theme: widget::checkbox::StyleSheet,
|
||||
Renderer::Theme: widget::checkbox::StyleSheet + widget::text::StyleSheet,
|
||||
{
|
||||
widget::Checkbox::new(is_checked, label, f)
|
||||
}
|
||||
|
|
|
|||
|
|
@ -11,6 +11,7 @@ pub mod rule;
|
|||
pub mod scrollable;
|
||||
pub mod slider;
|
||||
pub mod svg;
|
||||
pub mod text;
|
||||
pub mod text_input;
|
||||
pub mod toggler;
|
||||
pub mod tooltip;
|
||||
|
|
@ -19,7 +20,6 @@ pub mod tree;
|
|||
mod column;
|
||||
mod row;
|
||||
mod space;
|
||||
mod text;
|
||||
|
||||
pub use button::Button;
|
||||
pub use checkbox::Checkbox;
|
||||
|
|
|
|||
|
|
@ -7,6 +7,7 @@ use iced_native::layout::{self, Layout};
|
|||
use iced_native::mouse;
|
||||
use iced_native::renderer;
|
||||
use iced_native::text;
|
||||
use iced_native::widget;
|
||||
use iced_native::{Clipboard, Length, Point, Rectangle, Shell};
|
||||
|
||||
pub use iced_native::widget::checkbox::{Appearance, Checkbox, StyleSheet};
|
||||
|
|
@ -15,7 +16,7 @@ impl<'a, Message, Renderer> Widget<Message, Renderer>
|
|||
for Checkbox<'a, Message, Renderer>
|
||||
where
|
||||
Renderer: text::Renderer,
|
||||
Renderer::Theme: StyleSheet,
|
||||
Renderer::Theme: StyleSheet + widget::text::StyleSheet,
|
||||
{
|
||||
fn width(&self) -> Length {
|
||||
<Self as iced_native::Widget<Message, Renderer>>::width(self)
|
||||
|
|
@ -100,7 +101,7 @@ impl<'a, Message, Renderer> Into<Element<'a, Message, Renderer>>
|
|||
where
|
||||
Message: 'a,
|
||||
Renderer: text::Renderer + 'a,
|
||||
Renderer::Theme: StyleSheet,
|
||||
Renderer::Theme: StyleSheet + widget::text::StyleSheet,
|
||||
{
|
||||
fn into(self) -> Element<'a, Message, Renderer> {
|
||||
Element::new(self)
|
||||
|
|
|
|||
|
|
@ -7,6 +7,7 @@ use iced_native::layout::{self, Layout};
|
|||
use iced_native::mouse;
|
||||
use iced_native::renderer;
|
||||
use iced_native::text;
|
||||
use iced_native::widget;
|
||||
use iced_native::{Clipboard, Length, Point, Rectangle, Shell};
|
||||
|
||||
pub use iced_native::widget::radio::{Appearance, Radio, StyleSheet};
|
||||
|
|
@ -15,7 +16,7 @@ impl<Message, Renderer> Widget<Message, Renderer> for Radio<Message, Renderer>
|
|||
where
|
||||
Message: Clone,
|
||||
Renderer: text::Renderer,
|
||||
Renderer::Theme: StyleSheet,
|
||||
Renderer::Theme: StyleSheet + widget::text::StyleSheet,
|
||||
{
|
||||
fn width(&self) -> Length {
|
||||
<Self as iced_native::Widget<Message, Renderer>>::width(self)
|
||||
|
|
@ -100,7 +101,7 @@ impl<'a, Message, Renderer> Into<Element<'a, Message, Renderer>>
|
|||
where
|
||||
Message: 'a + Clone,
|
||||
Renderer: text::Renderer + 'a,
|
||||
Renderer::Theme: StyleSheet,
|
||||
Renderer::Theme: StyleSheet + widget::text::StyleSheet,
|
||||
{
|
||||
fn into(self) -> Element<'a, Message, Renderer> {
|
||||
Element::new(self)
|
||||
|
|
|
|||
|
|
@ -1,16 +1,19 @@
|
|||
//! Write some text for your users to read.
|
||||
use crate::widget::Tree;
|
||||
use crate::{Element, Widget};
|
||||
|
||||
use iced_native::layout::{self, Layout};
|
||||
use iced_native::renderer;
|
||||
use iced_native::text;
|
||||
use iced_native::widget;
|
||||
use iced_native::{Length, Point, Rectangle};
|
||||
|
||||
pub use iced_native::widget::Text;
|
||||
pub use iced_native::widget::text::{Appearance, StyleSheet, Text};
|
||||
|
||||
impl<Message, Renderer> Widget<Message, Renderer> for Text<Renderer>
|
||||
where
|
||||
Renderer: text::Renderer,
|
||||
Renderer::Theme: widget::text::StyleSheet,
|
||||
{
|
||||
fn width(&self) -> Length {
|
||||
<Self as iced_native::Widget<Message, Renderer>>::width(self)
|
||||
|
|
@ -56,6 +59,7 @@ impl<'a, Message, Renderer> Into<Element<'a, Message, Renderer>>
|
|||
for Text<Renderer>
|
||||
where
|
||||
Renderer: text::Renderer + 'a,
|
||||
Renderer::Theme: widget::text::StyleSheet,
|
||||
{
|
||||
fn into(self) -> Element<'a, Message, Renderer> {
|
||||
Element::new(self)
|
||||
|
|
@ -65,6 +69,7 @@ where
|
|||
impl<'a, Message, Renderer> Into<Element<'a, Message, Renderer>> for &'a str
|
||||
where
|
||||
Renderer: text::Renderer + 'a,
|
||||
Renderer::Theme: widget::text::StyleSheet,
|
||||
{
|
||||
fn into(self) -> Element<'a, Message, Renderer> {
|
||||
Text::new(self).into()
|
||||
|
|
|
|||
|
|
@ -7,6 +7,7 @@ use iced_native::layout::{self, Layout};
|
|||
use iced_native::mouse;
|
||||
use iced_native::renderer;
|
||||
use iced_native::text;
|
||||
use iced_native::widget;
|
||||
use iced_native::{Clipboard, Length, Point, Rectangle, Shell};
|
||||
|
||||
pub use iced_native::widget::toggler::{Appearance, StyleSheet, Toggler};
|
||||
|
|
@ -15,7 +16,7 @@ impl<'a, Message, Renderer> Widget<Message, Renderer>
|
|||
for Toggler<'a, Message, Renderer>
|
||||
where
|
||||
Renderer: text::Renderer,
|
||||
Renderer::Theme: StyleSheet,
|
||||
Renderer::Theme: StyleSheet + widget::text::StyleSheet,
|
||||
{
|
||||
fn width(&self) -> Length {
|
||||
<Self as iced_native::Widget<Message, Renderer>>::width(self)
|
||||
|
|
@ -100,7 +101,7 @@ impl<'a, Message, Renderer> Into<Element<'a, Message, Renderer>>
|
|||
where
|
||||
Message: 'a,
|
||||
Renderer: text::Renderer + 'a,
|
||||
Renderer::Theme: StyleSheet,
|
||||
Renderer::Theme: StyleSheet + widget::text::StyleSheet,
|
||||
{
|
||||
fn into(self) -> Element<'a, Message, Renderer> {
|
||||
Element::new(self)
|
||||
|
|
|
|||
|
|
@ -9,7 +9,7 @@ use iced_native::renderer;
|
|||
use iced_native::text;
|
||||
use iced_native::widget::container;
|
||||
use iced_native::widget::tooltip;
|
||||
use iced_native::widget::Text;
|
||||
use iced_native::widget::{self, Text};
|
||||
use iced_native::{Clipboard, Layout, Length, Point, Rectangle, Shell};
|
||||
|
||||
pub use iced_style::container::{Appearance, StyleSheet};
|
||||
|
|
@ -20,7 +20,7 @@ pub use tooltip::Position;
|
|||
pub struct Tooltip<'a, Message, Renderer: text::Renderer>
|
||||
where
|
||||
Renderer: text::Renderer,
|
||||
Renderer::Theme: container::StyleSheet,
|
||||
Renderer::Theme: container::StyleSheet + widget::text::StyleSheet,
|
||||
{
|
||||
content: Element<'a, Message, Renderer>,
|
||||
tooltip: Text<Renderer>,
|
||||
|
|
@ -33,7 +33,7 @@ where
|
|||
impl<'a, Message, Renderer> Tooltip<'a, Message, Renderer>
|
||||
where
|
||||
Renderer: text::Renderer,
|
||||
Renderer::Theme: container::StyleSheet,
|
||||
Renderer::Theme: container::StyleSheet + widget::text::StyleSheet,
|
||||
{
|
||||
/// The default padding of a [`Tooltip`] drawn by this renderer.
|
||||
const DEFAULT_PADDING: u16 = 5;
|
||||
|
|
@ -96,7 +96,7 @@ impl<'a, Message, Renderer> Widget<Message, Renderer>
|
|||
for Tooltip<'a, Message, Renderer>
|
||||
where
|
||||
Renderer: text::Renderer,
|
||||
Renderer::Theme: container::StyleSheet,
|
||||
Renderer::Theme: container::StyleSheet + widget::text::StyleSheet,
|
||||
{
|
||||
fn children(&self) -> Vec<Tree> {
|
||||
vec![Tree::new(&self.content)]
|
||||
|
|
@ -230,7 +230,7 @@ impl<'a, Message, Renderer> From<Tooltip<'a, Message, Renderer>>
|
|||
where
|
||||
Message: 'a,
|
||||
Renderer: 'a + text::Renderer,
|
||||
Renderer::Theme: container::StyleSheet,
|
||||
Renderer::Theme: container::StyleSheet + widget::text::StyleSheet,
|
||||
{
|
||||
fn from(
|
||||
tooltip: Tooltip<'a, Message, Renderer>,
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue