use crate::primitives::TemplatedControlImpl;
use crate::{Button, ButtonImpl, ContentControlImpl, ControlImpl};
use ferroui_base::input::InputElementImpl;
use ferroui_base::interactivity::InteractiveImpl;
use ferroui_base::layout::LayoutableImpl;
use ferroui_base::{
ferro_class, ferro_impl_classes, instantiate, FerroObjectImpl, Ref, StyledElementImpl, VisualImpl,
};
#[repr(C)]
pub struct DropDownButton {
base: Button,
}
ferro_class!(DropDownButton: Button);
ferroui_base::ferro_class_info!(DropDownButton { new: DropDownButton::new });
ferro_impl_classes!(
DropDownButton: FerroObjectImpl,
StyledElementImpl,
VisualImpl,
LayoutableImpl,
InteractiveImpl,
InputElementImpl,
ControlImpl,
TemplatedControlImpl,
ContentControlImpl,
ButtonImpl
);
impl DropDownButton {
pub fn construct() -> Self {
Self { base: Button::construct() }
}
pub fn new() -> Ref<Self> {
instantiate(Self::construct())
}
}