107 lines
2.4 KiB
C++
107 lines
2.4 KiB
C++
/**
|
||
* @file PaiTreeWidget.h
|
||
* @brief P.A.I系统定制发布的树控件
|
||
* @date 2012-10-18
|
||
*/
|
||
#ifndef PAI_FRAME_WIDGET_PAITREEWIDGET_H
|
||
#define PAI_FRAME_WIDGET_PAITREEWIDGET_H
|
||
|
||
#include <QTreeWidget>
|
||
#include "Turtle.h"
|
||
|
||
class QLabel;
|
||
|
||
namespace pai
|
||
{
|
||
namespace gui
|
||
{
|
||
/**
|
||
* @class PaiTreeWidget
|
||
* @brief PaiTreeWidget是P.A.I系统定制发布的树控件
|
||
*/
|
||
class PAI_WIDGET_EXPORT PaiTreeWidget : public QTreeWidget
|
||
{
|
||
Q_OBJECT
|
||
public:
|
||
/**
|
||
* @brief 构造函数
|
||
* @param[in] pParent 父窗口句柄
|
||
*/
|
||
PaiTreeWidget(QWidget *pParent = NULL);
|
||
|
||
/**
|
||
* @brief 析构函数
|
||
*/
|
||
virtual ~PaiTreeWidget();
|
||
|
||
public slots:
|
||
/**
|
||
* @brief 按节点名搜索树,只显示搜索到的节点
|
||
* @param[in] keyword 搜索的关键字
|
||
* @param[in] column 要搜索的列
|
||
*/
|
||
void Filter(const QString & keyword, int column = 0);
|
||
|
||
/**
|
||
* @brief 按节点名搜索树,只显示搜索到的节点
|
||
* @param[in] keyword 搜索的关键字
|
||
* @param[in] columns 要搜索的列
|
||
*/
|
||
void Filter(const QString & keyword, QList<int> columns);
|
||
|
||
private:
|
||
/**
|
||
* @brief 指定节点是否属于查找结果的子代,本函数仅供Filter函数调用。
|
||
* @param[in] pItem 指定节点
|
||
* @return 返回数否属于查找结果的直系子代
|
||
*/
|
||
bool IsGenerationOfFoundItem(QTreeWidgetItem *pItem);
|
||
|
||
private:
|
||
bool m_InSearching; ///< 表示是否正在进行搜索
|
||
QLabel *m_pTipLabel; ///< 搜索结果为空的提示文本信息框
|
||
|
||
signals:
|
||
/**
|
||
* @brief 搜索完成后触发此消息
|
||
* @param[in] pRootItem 根节点
|
||
*/
|
||
void SearchFinished(QTreeWidgetItem *pRootItem);
|
||
};
|
||
|
||
/**
|
||
* @class PaiTreeWidgetItem
|
||
* @brief 数据树item类,支持排序
|
||
*/
|
||
class PAI_WIDGET_EXPORT PaiTreeWidgetItem : public QTreeWidgetItem
|
||
{
|
||
public:
|
||
/**
|
||
* @brief 构造函数
|
||
*/
|
||
PaiTreeWidgetItem();
|
||
|
||
/**
|
||
* @brief 构造函数
|
||
* @param[in] pParent 父窗口句柄
|
||
*/
|
||
PaiTreeWidgetItem(QTreeWidgetItem *pParent);
|
||
|
||
/**
|
||
* @brief 析构函数
|
||
*/
|
||
virtual ~PaiTreeWidgetItem();
|
||
|
||
/**
|
||
* @brief 重写QTreeWidgetItem的比较函数
|
||
* @param[in] otherItem 其他比较对象
|
||
* @return 返回与其他item对象的比较结果
|
||
*/
|
||
virtual bool operator < (const QTreeWidgetItem & otherItem) const;
|
||
};
|
||
|
||
}
|
||
}
|
||
|
||
#endif ///< PAI_FRAME_WIDGET_PAITREEWIDGET_H
|