mirror of
https://github.com/GraphiteEditor/Graphite.git
synced 2026-09-23 08:58:12 +08:00
Use builder pattern for widgets (#941)
* Use builder pattern for widgets * Arguments to new function
This commit is contained in:
committed by
Keavon Chambers
parent
e5fcf5f2da
commit
04059f55b9
@@ -5,6 +5,7 @@ mod helper_structs;
|
||||
mod helpers;
|
||||
mod hint;
|
||||
mod transitive_child;
|
||||
mod widget_builder;
|
||||
|
||||
use crate::as_message::derive_as_message_impl;
|
||||
use crate::combined_message_attrs::combined_message_attrs_impl;
|
||||
@@ -12,6 +13,7 @@ use crate::discriminant::derive_discriminant_impl;
|
||||
use crate::helper_structs::AttrInnerSingleString;
|
||||
use crate::hint::derive_hint_impl;
|
||||
use crate::transitive_child::derive_transitive_child_impl;
|
||||
use crate::widget_builder::derive_widget_builder_impl;
|
||||
|
||||
use proc_macro::TokenStream;
|
||||
|
||||
@@ -273,6 +275,11 @@ pub fn edge(attr: TokenStream, item: TokenStream) -> TokenStream {
|
||||
item
|
||||
}
|
||||
|
||||
#[proc_macro_derive(WidgetBuilder, attributes(widget_builder))]
|
||||
pub fn derive_widget_builder(input_item: TokenStream) -> TokenStream {
|
||||
TokenStream::from(derive_widget_builder_impl(input_item.into()).unwrap_or_else(|err| err.to_compile_error()))
|
||||
}
|
||||
|
||||
#[cfg(test)]
|
||||
mod tests {
|
||||
use super::*;
|
||||
|
||||
Reference in New Issue
Block a user