#ifndef CLNOTICELIST_H
#define CLNOTICELIST_H

#include <QWidget>
#include "CHttpBll.h"
#include "clNoticeDetail.h"
#include <QLabel>
namespace Ui {
class clNoticeList;
}

class QMyLabel : public QLabel
{
	Q_OBJECT
signals:
	void sgnClick(int nRow, int nCol);
public:
	explicit QMyLabel(int nRow, QWidget *parent = nullptr) :QLabel(parent),m_nRow(nRow){  }
private:
	void mouseReleaseEvent(QMouseEvent *ev) {emit sgnClick(m_nRow, 1); }
	int m_nRow;
};

class clNoticeList : public QWidget
{
    Q_OBJECT

public:
    explicit clNoticeList(QWidget *parent = nullptr);
    ~clNoticeList();

    void setUI(const int nWidth, const int nHeight);

	void setNotice(std::vector<CNoticeInfo> vNL);
    void viewNotice(__int64 nId);
signals:
	void unReadNoticeCount(int nCount);
	void readNotice(__int64 nId);
private slots:
    void on_tablewt_examList_cellClicked(int row, int column);

    void on_btn_setRead_clicked();

    void onUpdateNoticeReadStatus(CUpdateNoticeReadStatus unrs);
private:
    Ui::clNoticeList *ui;

	std::vector<CNoticeInfo> vNoticeList;
	std::shared_ptr<clNoticeDetail> m_pNoticeDetail;

    void showNotice(CNoticeInfo ni);
    void setNoticeRead(QString sIds);
    void updateReadStatus(__int64 nId);
};


#endif // CLNOTICELIST_H
