mod imp;

use glib::Object;
use gtk::{gio, glib::{self, subclass::types::ObjectSubclassIsExt}, Application, Button};

glib::wrapper! {
    pub struct MenuScene(ObjectSubclass<imp::MenuScene>)
        @extends gtk::ApplicationWindow, gtk::Window, gtk::Widget,
        @implements gio::ActionGroup, gio::ActionMap, gtk::Accessible, gtk::Buildable,
                    gtk::ConstraintTarget, gtk::Native, gtk::Root, gtk::ShortcutManager;
}

impl MenuScene {
    pub fn new(app: &Application) -> Self {
        Object::builder().property("application", app).build()
    }

    pub fn get_guessing_button(&self) -> &Button {
        self.imp().hiragana_and_katakana.as_ref()
    }

    pub fn get_memory_cards_button(&self) -> &Button {
        self.imp().memory_cards.as_ref()
    }
    
}
