89 lines
2.5 KiB
C++
89 lines
2.5 KiB
C++
/**
|
||
* @file: PaiModuleToolBar.h
|
||
* @brief 包括模块树和模块树上方工具条的组合视图
|
||
* @date: 2011-9-20
|
||
* @author: sinopec
|
||
*/
|
||
|
||
|
||
#include <QApplication>
|
||
#include <QIcon>
|
||
#include <QBoxLayout>
|
||
#include <QAction>
|
||
#include <QtDebug>
|
||
#include "PaiWidgetAction.h"
|
||
#include "PaiModuleToolBarView.h"
|
||
#include "PaiModuleTree.h"
|
||
#include "PaiToolBar.h"
|
||
#include "PaiSearchLineEdit.h"
|
||
#include "PaiComboBox.h"
|
||
using namespace pai;
|
||
using namespace pai::gui;
|
||
|
||
/**
|
||
* @class PaiComAction
|
||
* @brief 为PaiComboBox实现的 WidgetAction类
|
||
*/
|
||
class PaiComAction : public PaiWidgetAction
|
||
{
|
||
public:
|
||
/**
|
||
* @brief 构造函数
|
||
* @param[in] pParent 父指针
|
||
*/
|
||
PaiComAction(QObject *parent=0);
|
||
/**
|
||
* @brief 创建控件
|
||
*/
|
||
virtual QWidget *NewWidget(QWidget *parent);
|
||
};
|
||
|
||
PaiComAction::PaiComAction(QObject *parent)
|
||
:PaiWidgetAction(parent)
|
||
{
|
||
}
|
||
|
||
QWidget *PaiComAction::NewWidget(QWidget *parent)
|
||
{
|
||
PaiComboBox* comBox = new PaiComboBox(parent);
|
||
comBox->addItem(/*tr*/("Alphabetical Order"));
|
||
comBox->setMinimumWidth(150);
|
||
return comBox;
|
||
}
|
||
|
||
///////////////////////////////////////////////////////////////////////////////////////
|
||
CPaiModuleToolBarView::CPaiModuleToolBarView(QWidget *parent):PaiToolBarView(parent)
|
||
{
|
||
QIcon icon = QApplication::style()->standardIcon(QStyle::SP_CommandLink);
|
||
//删除里面所有的toolBar,其实只有一个默认toolBar
|
||
QList<QToolBar*> pToolBar = this->GetToolBars();
|
||
for(int i=0; i<pToolBar.size(); i++)
|
||
{
|
||
RemoveToolBar(pToolBar.at(i));
|
||
}
|
||
PaiToolBar* styleToolBar = new PaiToolBar("", NULL);
|
||
styleToolBar->setContentsMargins(1,0,30,0);//设置左右的空白
|
||
|
||
//添加查询控件
|
||
PaiSearchLineEdit* pSearchModuleLEdit = new PaiSearchLineEdit;
|
||
styleToolBar->addWidget(pSearchModuleLEdit);
|
||
styleToolBar->addAction(new PaiComAction());
|
||
this->AddToolBar(styleToolBar, PaiToolBarView::SMALL_TOOLBAR);
|
||
|
||
// 因需等待搜索结果,再响应returnPressed信号把搜索的结果放入工作流视图,
|
||
// 所以需要将该值设置为50ms,原因请看函数体注释
|
||
pSearchModuleLEdit->SetEditStopDuration(50);
|
||
|
||
m_pModuleTree = new CPaiModuleTree(NULL);
|
||
m_pModuleTree->expandAll();
|
||
this->SetViewport(m_pModuleTree);
|
||
|
||
connect(pSearchModuleLEdit,SIGNAL(EditingStoped(const QString&)),m_pModuleTree,SLOT(Filter(const QString&)));
|
||
connect(pSearchModuleLEdit,SIGNAL(returnPressed()), m_pModuleTree, SLOT(RequireDeliverSelectedModules()));
|
||
}
|
||
|
||
CPaiModuleToolBarView::~CPaiModuleToolBarView()
|
||
{
|
||
// TODO Auto-generated destructor stub
|
||
}
|