#ifndef TABLEVIEW_H
#define TABLEVIEW_H

#include <QTableView>
#include <QDebug>

#include "QxOrm.h"

class TableView : public QTableView
{
public:
    TableView(QWidget *parent = nullptr);

    template<typename T>
    void hideColumns()
    {
        qx::IxDataMemberX* dataMembers = qx::QxClass<T>::getSingleton()->getDataMemberX();
        for (int i = 0; i < dataMembers->size(); ++i)
        {
            qx::IxDataMember* dataMember = dataMembers->get(i);
            if(dataMember->getPropertyBag("notShow").toBool())
                hideColumn(i);
        }
    }
private:
    void init();
};

#endif // TABLEVIEW_H
