Files
clients/Analyzer/stable.h
admin 9d04a7e128 필터 업데이트
애널저 숫자 정렬 추가

git-svn-id: svn://192.168.0.12/source@280 8346c931-da38-4b9b-9d4c-e48b93cbd075
2016-07-08 08:20:08 +00:00

85 lines
2.1 KiB
C++

#ifndef STABLE_H
#define STABLE_H
#include <QTableWidget>
#include <QStringList>
#include <QTableWidgetItem>
class STableNumberItem : public QTableWidgetItem
{
public:
STableNumberItem(QString txt):QTableWidgetItem(txt)
{
}
bool operator <(const QTableWidgetItem &other) const
{
return text().toDouble() < other.text().toDouble();
}
bool operator >(const QTableWidgetItem &other) const
{
return text().toDouble() > other.text().toDouble();
}
};
class STableWidgetItem : public QTableWidgetItem
{
public:
STableWidgetItem(int type=Type):QTableWidgetItem(type){}
STableWidgetItem(const QString& text, int type=Type):QTableWidgetItem(text, type){}
STableWidgetItem(const QIcon& icon, const QString& text, int type = Type):QTableWidgetItem(icon, text, type){}
STableWidgetItem(const QTableWidgetItem& other):QTableWidgetItem(other){}
bool operator <(const QTableWidgetItem &other) const
{
bool tok = false;
bool ook = false;
int nThis = text().toInt(&tok);
int nOther = other.text().toInt(&ook);
if (!(tok && ook))
return text() < other.text();
else
return nThis < nOther;
}
};
class STable : public QTableWidget
{
Q_OBJECT
public:
enum E_ARTICLE
{
E_ARTICLE_NONE = -1,
E_ARTICLE_ALL = 0,
E_ARTICLE_BODY = 1,
E_ARTICLE_REPLY = 2,
};
explicit STable(QWidget *parent = 0);
void keyPressEvent(QKeyEvent* event);
void SetHeaderList(QVector <QStringList> *_vecColumn,int _nColumn);
void SetHeaderList(QStringList _Head);
void setArticleSelect(int _nArticle);
int getArticleSelect(){return m_nArticle;}
void Copy();
void Paste();
void Delete();
static QString GetArticleType(int _nSelect);
private:
int m_nArticle;
public:
QStringList m_strListHeader;
signals:
public slots:
void HeaderContextMenuShow(const QPoint& pos);
void menuInsert();
void menuDelete();
void CellClick(int nRow,int nPrev);
};
#endif // STABLE_H