#ifndef MATERIALBOX_H
#define MATERIALBOX_H

#include <QApplication>
#include <QWidget>
#include <QPainter>
#include <QMouseEvent>
#include <vector>
#include <QString>
#include <QDebug>

// 枚举定义：料盒的状态
enum BoxStatus {
    Idle,       // 空闲
    Occupied,   // 已占用
    Warning     // 警告
};

// 料盒类
class Material_box {
public:
    Material_box(const QString &name, BoxStatus status)
        : name(name), status(status) {}

    QString name;     // 料盒名称或编号
    BoxStatus status; // 状态
};

// 自定义绘制窗口类
class MaterialBox : public QWidget {
public:
    MaterialBox(int flag, QWidget *parent = nullptr);

protected:
    void paintEvent(QPaintEvent *event) override;

private:
    std::vector<Material_box> boxes; // 所有料盒的数据
};

#endif // MATERIALBOX_H
