macro_rules! widget {
( $(#[$widget_doc:meta])* $widget:ident $(<$state:ident>)* $(: $( $handler:ident ),*)*
$( { $($(#[$prop_doc:meta])* $property:ident: $property_type:tt ),*
$( attached_properties: { $($(#[$att_prop_doc:meta])* $att_property:ident: $att_property_type:tt ),* } )*
} )* ) => { ... };
}
Used to define a widget, with properties and event handlers.