use std::cell::RefCell;

use glib::Properties;
use gtk::glib;
use gtk::prelude::*;
use gtk::subclass::prelude::*;

#[derive(Properties, Default)]
#[properties(wrapper_type = super::CardGObject)]
pub struct CardGObject {
    #[property(get, set)]
    imagepath: RefCell<String>,
    #[property(get, set)]
    hieroglyph: RefCell<String>,
    #[property(get, set)]
    reading: RefCell<String>,
    #[property(get, set)]
    translation: RefCell<String>,
    #[property(get, set)]
    islearning: RefCell<bool>,
}

#[glib::object_subclass]
impl ObjectSubclass for CardGObject {
    const NAME: &'static str = "CardGObject";
    type Type = super::CardGObject;
}

#[glib::derived_properties]
impl ObjectImpl for CardGObject {}