logplus/Workflow/WFWidget/include/PaiTreeWidget.h

107 lines
2.4 KiB
C
Raw Normal View History

2026-01-17 12:55:45 +08:00
/**
* @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