// GENERATED — DO NOT EDIT

///|
/// [Upstream documentation](https://docs.gtk.org/gtk4/class.Separator.html).
pub type Separator

///|
pub(open) trait ISeparator {
  fn as_separator(Self) -> Separator
}

///|
pub impl ISeparator for Separator with fn as_separator(self) {
  self
}

///|
/// [Upstream documentation](https://docs.gtk.org/gtk4/ctor.Separator.new.html).
pub extern "c" fn Separator::new(orientation : Orientation) -> Separator = "moonbit_gtk_separator_new"

///|
pub fn Separator::as_widget(self : Separator) -> Widget = "%identity"

///|
pub impl IWidget for Separator with fn as_widget(self) {
  self.as_widget()
}

///|
pub fn Separator::as_gobject_object(self : Separator) -> @gobject.Object = "%identity"

///|
pub impl @gobject.IObject for Separator with fn as_object(self) {
  self.as_gobject_object()
}

///|
pub fn Separator::as_orientable(self : Separator) -> Orientable = "%identity"

///|
pub impl IOrientable for Separator with fn as_orientable(self) {
  self.as_orientable()
}