Compare commits
No commits in common. "tidy_splitv" and "master" have entirely different histories.
tidy_split
...
master
|
@ -130,19 +130,11 @@ void accept_panel::AcceptPanel::dropEvent(QDropEvent *ev)
|
||||||
view_manager->doRetrieve(view);
|
view_manager->doRetrieve(view);
|
||||||
view_manager->siblingAttach(view, anchor_view, SplitType::SPLIT_V_BFIRST);
|
view_manager->siblingAttach(view, anchor_view, SplitType::SPLIT_V_BFIRST);
|
||||||
break;
|
break;
|
||||||
case HoverType::CUBE_CENTER: {
|
case HoverType::CUBE_CENTER:
|
||||||
view_manager->doRetrieve(view);
|
view_manager->doRetrieve(view);
|
||||||
auto pinst = anchor_view->parentRes();
|
anchor_view->parentRes()->replaceView(view, anchor_view);
|
||||||
if(pinst){
|
view_manager->doRetrieve(anchor_view);
|
||||||
pinst->replaceView(view, anchor_view);
|
break;
|
||||||
view_manager->doRetrieve(anchor_view);
|
|
||||||
dynamic_cast<split_window::SplitWindow*>(view_manager)->freedomHasBeenRemoved(view);
|
|
||||||
}else{
|
|
||||||
view_manager->doRetrieve(anchor_view);
|
|
||||||
dynamic_cast<split_window::SplitWindow*>(view_manager)->setPresentTarget(view);
|
|
||||||
}
|
|
||||||
view->setVisible(true);
|
|
||||||
} break;
|
|
||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
|
@ -13,7 +13,6 @@ using namespace dock_panel;
|
||||||
DragHeader::DragHeader(const QString &title, DockableView *bind_core)
|
DragHeader::DragHeader(const QString &title, DockableView *bind_core)
|
||||||
: QFrame(bind_core),
|
: QFrame(bind_core),
|
||||||
bind_core(bind_core),
|
bind_core(bind_core),
|
||||||
icon_holder(new QLabel(this)),
|
|
||||||
title_holder(new QLabel(this)),
|
title_holder(new QLabel(this)),
|
||||||
close_btn(new QPushButton("x",this)),
|
close_btn(new QPushButton("x",this)),
|
||||||
minimal_btn(new QPushButton("-",this)) {
|
minimal_btn(new QPushButton("-",this)) {
|
||||||
|
@ -23,9 +22,6 @@ DragHeader::DragHeader(const QString &title, DockableView *bind_core)
|
||||||
layout->setSpacing(0);
|
layout->setSpacing(0);
|
||||||
layout->setContentsMargins(0, 0, 0, 0);
|
layout->setContentsMargins(0, 0, 0, 0);
|
||||||
|
|
||||||
icon_holder->setPixmap(QIcon(":/icons/headertop/story.png").pixmap(22,22));
|
|
||||||
layout->addWidget(icon_holder, 0, Qt::AlignLeft);
|
|
||||||
|
|
||||||
title_holder->setText(title);
|
title_holder->setText(title);
|
||||||
title_holder->setContentsMargins(2,0, 0, 0);
|
title_holder->setContentsMargins(2,0, 0, 0);
|
||||||
layout->addWidget(title_holder, 1, Qt::AlignLeft);
|
layout->addWidget(title_holder, 1, Qt::AlignLeft);
|
||||||
|
@ -55,7 +51,7 @@ void DragHeader::setTitle(const QString &title)
|
||||||
void DragHeader::setTitle(const QString &title, const QIcon &icon)
|
void DragHeader::setTitle(const QString &title, const QIcon &icon)
|
||||||
{
|
{
|
||||||
this->setTitle(title);
|
this->setTitle(title);
|
||||||
this->icon_holder->setPixmap(icon.pixmap(22, 22));
|
this->title_holder->setPixmap(icon.pixmap(22, 22));
|
||||||
}
|
}
|
||||||
|
|
||||||
void DragHeader::optConfig(bool retrieve, bool close)
|
void DragHeader::optConfig(bool retrieve, bool close)
|
||||||
|
@ -108,9 +104,6 @@ DockableView::DockableView(split_frame::ResManager *mgr, QWidget *present)
|
||||||
layout->addWidget(new QWidget(this));
|
layout->addWidget(new QWidget(this));
|
||||||
}
|
}
|
||||||
|
|
||||||
this->icon_store = QIcon(":/icons/headertop/story.png");
|
|
||||||
title_header->setTitle("未命名", icon_store);
|
|
||||||
|
|
||||||
layout->setSpacing(0);
|
layout->setSpacing(0);
|
||||||
layout->setContentsMargins(0, 2, 0, 0);
|
layout->setContentsMargins(0, 2, 0, 0);
|
||||||
|
|
||||||
|
@ -124,12 +117,11 @@ DockableView::DockableView(split_frame::ResManager *mgr, QWidget *present)
|
||||||
connect(this->title_header, &DragHeader::retrieveRequest, this, &DockableView::retrieveAccept);
|
connect(this->title_header, &DragHeader::retrieveRequest, this, &DockableView::retrieveAccept);
|
||||||
connect(this->title_header, &DragHeader::closeRequest, this, &DockableView::closeAccept);
|
connect(this->title_header, &DragHeader::closeRequest, this, &DockableView::closeAccept);
|
||||||
connect(this->title_header, &DragHeader::adjustRequest, this, &DockableView::adjustAccept);
|
connect(this->title_header, &DragHeader::adjustRequest, this, &DockableView::adjustAccept);
|
||||||
|
|
||||||
viewConfig(m_replace, m_close, m_retrieve);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
DockableView::~DockableView() {
|
DockableView::~DockableView() {
|
||||||
manager_inst->removePresentView(this);
|
manager_inst->removePresentView(this);
|
||||||
|
qDebug() << "view-deleted";
|
||||||
}
|
}
|
||||||
|
|
||||||
void DockableView::viewConfig(bool replace, bool close, bool retrieve)
|
void DockableView::viewConfig(bool replace, bool close, bool retrieve)
|
||||||
|
|
|
@ -18,7 +18,6 @@ namespace dock_panel {
|
||||||
Q_OBJECT
|
Q_OBJECT
|
||||||
private:
|
private:
|
||||||
DockableView *const bind_core;
|
DockableView *const bind_core;
|
||||||
QLabel *const icon_holder;
|
|
||||||
QLabel *const title_holder;
|
QLabel *const title_holder;
|
||||||
QPushButton *const close_btn, *const minimal_btn;
|
QPushButton *const close_btn, *const minimal_btn;
|
||||||
std::tuple<bool, QPointF> press_flag = std::make_tuple(false, QPointF());
|
std::tuple<bool, QPointF> press_flag = std::make_tuple(false, QPointF());
|
||||||
|
@ -57,7 +56,7 @@ namespace dock_panel {
|
||||||
/**
|
/**
|
||||||
* @brief 基础内容视图组件
|
* @brief 基础内容视图组件
|
||||||
*/
|
*/
|
||||||
class SPLITVIEW_EXPORT DockableView : public QFrame, public split_frame::ViewBase {
|
class SPLITVIEW_EXPORT DockableView : public QWidget, public split_frame::ViewBase {
|
||||||
public:
|
public:
|
||||||
/**
|
/**
|
||||||
* @brief 构建新的呈现视图实例
|
* @brief 构建新的呈现视图实例
|
||||||
|
@ -66,7 +65,13 @@ namespace dock_panel {
|
||||||
*/
|
*/
|
||||||
DockableView(split_frame::ResManager*mgr, QWidget *present);
|
DockableView(split_frame::ResManager*mgr, QWidget *present);
|
||||||
virtual ~DockableView();
|
virtual ~DockableView();
|
||||||
|
/**
|
||||||
|
* @brief 配置视图基本特性
|
||||||
|
* @param replace 可以被隐藏和替换
|
||||||
|
* @param close 可以被关闭
|
||||||
|
* @param retrieve 可以被隐藏
|
||||||
|
*/
|
||||||
|
void viewConfig(bool replace, bool close, bool retrieve);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief 设置标题栏内容
|
* @brief 设置标题栏内容
|
||||||
|
@ -86,7 +91,7 @@ namespace dock_panel {
|
||||||
split_frame::ResManager *const manager_inst;
|
split_frame::ResManager *const manager_inst;
|
||||||
QIcon icon_store;
|
QIcon icon_store;
|
||||||
split_frame::SplitView *parent_res = nullptr;
|
split_frame::SplitView *parent_res = nullptr;
|
||||||
bool m_replace = true, m_retrieve = true, m_close = true;
|
bool m_replace = false, m_retrieve = false, m_close = false;
|
||||||
|
|
||||||
// ViewRes interface
|
// ViewRes interface
|
||||||
public:
|
public:
|
||||||
|
@ -103,7 +108,6 @@ namespace dock_panel {
|
||||||
|
|
||||||
// ViewBase interface
|
// ViewBase interface
|
||||||
public:
|
public:
|
||||||
virtual void viewConfig(bool replace, bool close, bool retrieve) override;
|
|
||||||
virtual QIcon icon() const override;
|
virtual QIcon icon() const override;
|
||||||
virtual QString title() const override;
|
virtual QString title() const override;
|
||||||
virtual bool canRetrieve() const override;
|
virtual bool canRetrieve() const override;
|
||||||
|
|
|
@ -9,7 +9,7 @@ using namespace Config;
|
||||||
|
|
||||||
DragSplitter::DragSplitter(split_frame::SplitType split, split_frame::ViewRes *parent)
|
DragSplitter::DragSplitter(split_frame::SplitType split, split_frame::ViewRes *parent)
|
||||||
: QFrame(parent->widget()){
|
: QFrame(parent->widget()){
|
||||||
this->setFrameShape(QFrame::Shape::StyledPanel);
|
this->setFrameShape(QFrame::Shape::WinPanel);
|
||||||
this->setFrameShadow(QFrame::Shadow::Raised);
|
this->setFrameShadow(QFrame::Shadow::Raised);
|
||||||
|
|
||||||
switch (split) {
|
switch (split) {
|
||||||
|
@ -185,7 +185,7 @@ void SplitPanel::sync_status()
|
||||||
auto second = this->split_member.second;
|
auto second = this->split_member.second;
|
||||||
|
|
||||||
first->setOutline(QRectF(0, 0, width_a, total_h));
|
first->setOutline(QRectF(0, 0, width_a, total_h));
|
||||||
second->setOutline(QRectF(width_a + std::get<2>(split_info) - 1, 0, width_b + 1, total_h));
|
second->setOutline(QRectF(width_a + std::get<2>(split_info), 0, width_b, total_h));
|
||||||
this->splitter_inst->setGeometry(QRect(width_a, 0, std::get<2>(split_info), total_h));
|
this->splitter_inst->setGeometry(QRect(width_a, 0, std::get<2>(split_info), total_h));
|
||||||
} break;
|
} break;
|
||||||
case SplitType::SPLIT_V_BFIRST:
|
case SplitType::SPLIT_V_BFIRST:
|
||||||
|
|
|
@ -25,49 +25,14 @@ SplitWindow::SplitWindow(QWidget *parent)
|
||||||
view_root(nullptr) {
|
view_root(nullptr) {
|
||||||
accept_port->setVisible(false);
|
accept_port->setVisible(false);
|
||||||
this->addToolBar(Qt::ToolBarArea::LeftToolBarArea, unused_stack);
|
this->addToolBar(Qt::ToolBarArea::LeftToolBarArea, unused_stack);
|
||||||
unused_stack->setMovable(false);
|
|
||||||
|
|
||||||
this->addListener(this);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
SplitWindow::~SplitWindow() {this->active = false;}
|
SplitWindow::~SplitWindow() {this->active = false;}
|
||||||
|
|
||||||
void SplitWindow::tempShow(split_frame::ViewBase *target)
|
void SplitWindow::tempShow(split_frame::DockType t, split_frame::ViewBase *target)
|
||||||
{
|
{
|
||||||
if(target){
|
this->temp_show = target;
|
||||||
this->temp_show = target;
|
target->setVisible(true);
|
||||||
auto current_center = centralWidget();
|
|
||||||
if(!current_center){
|
|
||||||
this->setCentralWidget(temp_show->widget());
|
|
||||||
freedomHasBeenRemoved(target);
|
|
||||||
appendPresentView(target);
|
|
||||||
view_root = target;
|
|
||||||
}
|
|
||||||
else{
|
|
||||||
auto twidget = this->centralWidget();
|
|
||||||
|
|
||||||
this->temp_show->widget()->setParent(twidget);
|
|
||||||
this->temp_show->widget()->setGeometry(0, 0, twidget->width()/3, twidget->height());
|
|
||||||
}
|
|
||||||
target->setVisible(true);
|
|
||||||
}
|
|
||||||
else if(temp_show){
|
|
||||||
this->temp_show->widget()->setParent(nullptr);
|
|
||||||
this->temp_show->setVisible(false);
|
|
||||||
this->temp_show = nullptr;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
void SplitWindow::freedomHasBeenRemoved(split_frame::ViewBase *inst)
|
|
||||||
{
|
|
||||||
for(auto &it : listener_list)
|
|
||||||
it->freedomRemove(inst);
|
|
||||||
}
|
|
||||||
|
|
||||||
void SplitWindow::freedomHasBeenAppended(split_frame::ViewBase *inst)
|
|
||||||
{
|
|
||||||
for(auto &it : listener_list)
|
|
||||||
it->freedomAppend(inst);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void SplitWindow::setPresentTarget(split_frame::ViewRes *inst)
|
void SplitWindow::setPresentTarget(split_frame::ViewRes *inst)
|
||||||
|
@ -79,8 +44,6 @@ void SplitWindow::setPresentTarget(split_frame::ViewRes *inst)
|
||||||
inst->setParentRes(nullptr);
|
inst->setParentRes(nullptr);
|
||||||
inst->widget()->setParent(this);
|
inst->widget()->setParent(this);
|
||||||
this->setCentralWidget(inst->widget());
|
this->setCentralWidget(inst->widget());
|
||||||
appendPresentView(dynamic_cast<ViewBase*>(inst));
|
|
||||||
freedomHasBeenRemoved(dynamic_cast<ViewBase*>(inst));
|
|
||||||
} else if (!inst) {
|
} else if (!inst) {
|
||||||
this->takeCentralWidget();
|
this->takeCentralWidget();
|
||||||
}
|
}
|
||||||
|
@ -140,13 +103,8 @@ void SplitWindow::removeListener(split_frame::FreedomViewsListener *lsn)
|
||||||
|
|
||||||
void SplitWindow::appendPresentView(split_frame::ViewBase *inst)
|
void SplitWindow::appendPresentView(split_frame::ViewBase *inst)
|
||||||
{
|
{
|
||||||
if(this->active && inst){
|
if(this->active && inst)
|
||||||
if(!isPresented(inst)){
|
|
||||||
freedomHasBeenRemoved(inst);
|
|
||||||
}
|
|
||||||
|
|
||||||
this->presents_store[inst->hashCode()] = inst;
|
this->presents_store[inst->hashCode()] = inst;
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void SplitWindow::removePresentView(split_frame::ViewBase *inst)
|
void SplitWindow::removePresentView(split_frame::ViewBase *inst)
|
||||||
|
@ -165,14 +123,15 @@ bool SplitWindow::isPresented(split_frame::ViewBase *inst) const
|
||||||
void SplitWindow::doRetrieve(split_frame::ViewBase *inst)
|
void SplitWindow::doRetrieve(split_frame::ViewBase *inst)
|
||||||
{
|
{
|
||||||
if(!isPresented(inst)){
|
if(!isPresented(inst)){
|
||||||
if(inst == temp_show){
|
throw new Config::SimpleException<QString>("参数错误", "无法回收空闲视图!");
|
||||||
temp_show->setVisible(false);
|
|
||||||
}
|
|
||||||
return;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// 呈现视图结构调整
|
// 呈现视图结构调整
|
||||||
if (inst == view_root) {
|
if(inst == temp_show){
|
||||||
|
temp_show->setVisible(false);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
else if (inst == view_root) {
|
||||||
setPresentTarget();
|
setPresentTarget();
|
||||||
inst->setParentRes(nullptr);
|
inst->setParentRes(nullptr);
|
||||||
}
|
}
|
||||||
|
@ -203,7 +162,8 @@ void SplitWindow::doRetrieve(split_frame::ViewBase *inst)
|
||||||
removePresentView(inst);
|
removePresentView(inst);
|
||||||
|
|
||||||
// 当前视图已被回收
|
// 当前视图已被回收
|
||||||
freedomHasBeenAppended(inst);
|
for(auto &lsn : listener_list)
|
||||||
|
lsn->freedomAppend(inst);
|
||||||
}
|
}
|
||||||
|
|
||||||
void SplitWindow::doClose(split_frame::ViewBase *inst)
|
void SplitWindow::doClose(split_frame::ViewBase *inst)
|
||||||
|
@ -258,7 +218,8 @@ void SplitWindow::siblingAttach(ViewBase *view, ViewBase *pos, SplitType ori)
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
freedomHasBeenRemoved(view);
|
for(auto &lsn : listener_list)
|
||||||
|
lsn->freedomRemove(view);
|
||||||
}
|
}
|
||||||
|
|
||||||
ViewBase *SplitWindow::adjustView() const
|
ViewBase *SplitWindow::adjustView() const
|
||||||
|
@ -270,49 +231,3 @@ void SplitWindow::setAdjustView(split_frame::ViewBase *target)
|
||||||
{
|
{
|
||||||
this->adjust_target = target;
|
this->adjust_target = target;
|
||||||
}
|
}
|
||||||
|
|
||||||
void SplitWindow::freedomAppend(split_frame::ViewBase *ins)
|
|
||||||
{
|
|
||||||
if(ins && !freedom_records.contains(ins->hashCode())){
|
|
||||||
freedom_records[ins->hashCode()]=std::make_tuple(ins, ins->canReplace(), ins->canClose(), ins->canRetrieve());
|
|
||||||
ins->viewConfig(false, false, false);
|
|
||||||
|
|
||||||
auto act = this->unused_stack->addAction(ins->title(), [this, ins](bool state) {
|
|
||||||
if (state) {
|
|
||||||
this->tempShow(ins);
|
|
||||||
} else {
|
|
||||||
this->tempShow(nullptr);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
act->setData(ins->hashCode());
|
|
||||||
act->setIcon(ins->icon());
|
|
||||||
act->setCheckable(true);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
void SplitWindow::freedomRemove(split_frame::ViewBase *ins)
|
|
||||||
{
|
|
||||||
if (ins && freedom_records.contains(ins->hashCode())) {
|
|
||||||
auto allacts = unused_stack->actions();
|
|
||||||
for (auto &act : allacts) {
|
|
||||||
if (act->data().toULongLong() == ins->hashCode()) {
|
|
||||||
unused_stack->removeAction(act);
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
auto record = freedom_records[ins->hashCode()];
|
|
||||||
ins->viewConfig(std::get<1>(record), std::get<2>(record), std::get<3>(record));
|
|
||||||
freedom_records.remove(ins->hashCode());
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
void SplitWindow::aboutToBeDelete(split_frame::ViewBase *inst)
|
|
||||||
{
|
|
||||||
this->freedomRemove(inst);
|
|
||||||
}
|
|
||||||
|
|
||||||
void SplitWindow::hasBeenAppend(split_frame::ViewBase *inst)
|
|
||||||
{
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
|
@ -14,7 +14,10 @@ namespace split_window {
|
||||||
/**
|
/**
|
||||||
* @brief 窗口即视图资源管理器
|
* @brief 窗口即视图资源管理器
|
||||||
*/
|
*/
|
||||||
class SPLITVIEW_EXPORT SplitWindow : public QMainWindow, public split_frame::ResManager, public split_frame::FreedomViewsListener {
|
class SPLITVIEW_EXPORT SplitWindow : public QMainWindow, public split_frame::ResManager {
|
||||||
|
typedef float pos;
|
||||||
|
typedef float width;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
bool active = false;
|
bool active = false;
|
||||||
QToolBar *const unused_stack;
|
QToolBar *const unused_stack;
|
||||||
|
@ -25,9 +28,6 @@ namespace split_window {
|
||||||
split_frame::ViewRes *view_root = nullptr, *temp_show = nullptr;
|
split_frame::ViewRes *view_root = nullptr, *temp_show = nullptr;
|
||||||
split_frame::ViewBase *adjust_target = nullptr;
|
split_frame::ViewBase *adjust_target = nullptr;
|
||||||
|
|
||||||
// freedom-records:tuple<ID,tuple<ptr,replace,close,retrieve>>
|
|
||||||
QHash<qulonglong, std::tuple<split_frame::ViewBase*, bool, bool, bool>> freedom_records;
|
|
||||||
|
|
||||||
|
|
||||||
public:
|
public:
|
||||||
SplitWindow(QWidget *parent = nullptr);
|
SplitWindow(QWidget *parent = nullptr);
|
||||||
|
@ -39,10 +39,8 @@ namespace split_window {
|
||||||
* @param t
|
* @param t
|
||||||
* @param target
|
* @param target
|
||||||
*/
|
*/
|
||||||
void tempShow(split_frame::ViewBase *target);
|
void tempShow(split_frame::DockType t, split_frame::ViewBase *target);
|
||||||
|
|
||||||
void freedomHasBeenRemoved(split_frame::ViewBase *inst);
|
|
||||||
void freedomHasBeenAppended(split_frame::ViewBase *inst);
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief 璁剧疆鎸囧畾瑙嗗浘涓烘牴瑙嗗浘鎴栬€呭彇娑 * @param inst
|
* @brief 璁剧疆鎸囧畾瑙嗗浘涓烘牴瑙嗗浘鎴栬€呭彇娑 * @param inst
|
||||||
|
@ -63,13 +61,6 @@ namespace split_window {
|
||||||
virtual void siblingAttach(split_frame::ViewBase *view, split_frame::ViewBase *pos, split_frame::SplitType ori) override;
|
virtual void siblingAttach(split_frame::ViewBase *view, split_frame::ViewBase *pos, split_frame::SplitType ori) override;
|
||||||
virtual split_frame::ViewBase *adjustView() const override;
|
virtual split_frame::ViewBase *adjustView() const override;
|
||||||
virtual void setAdjustView(split_frame::ViewBase *target) override;
|
virtual void setAdjustView(split_frame::ViewBase *target) override;
|
||||||
|
|
||||||
// FreedomViewsListener interface
|
|
||||||
public:
|
|
||||||
virtual void freedomAppend(split_frame::ViewBase *ins) override;
|
|
||||||
virtual void freedomRemove(split_frame::ViewBase *ins) override;
|
|
||||||
virtual void aboutToBeDelete(split_frame::ViewBase *inst) override;
|
|
||||||
virtual void hasBeenAppend(split_frame::ViewBase *inst) override;
|
|
||||||
};
|
};
|
||||||
|
|
||||||
} // namespace split_panel
|
} // namespace split_panel
|
||||||
|
|
|
@ -1,5 +0,0 @@
|
||||||
<RCC>
|
|
||||||
<qresource prefix="/icons/headertop">
|
|
||||||
<file>story.png</file>
|
|
||||||
</qresource>
|
|
||||||
</RCC>
|
|
|
@ -86,13 +86,6 @@ namespace split_frame {
|
||||||
public:
|
public:
|
||||||
virtual ~ViewBase() = default;
|
virtual ~ViewBase() = default;
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief 配置视图基本特性
|
|
||||||
* @param replace 可以被隐藏和替换
|
|
||||||
* @param close 可以被关闭
|
|
||||||
* @param retrieve 可以被隐藏
|
|
||||||
*/
|
|
||||||
virtual void viewConfig(bool replace, bool close, bool retrieve) = 0;
|
|
||||||
/**
|
/**
|
||||||
* @brief 视图图标
|
* @brief 视图图标
|
||||||
* @return
|
* @return
|
||||||
|
@ -136,9 +129,7 @@ namespace split_frame {
|
||||||
virtual void initViews(ViewRes *a, ViewRes *b) = 0;
|
virtual void initViews(ViewRes *a, ViewRes *b) = 0;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief 替换视图,旧视图被剔除呈现树
|
* @brief 浣跨敤鏂拌鍥炬浛鎹㈡寚瀹氳鍥撅紝閲嶆瀯鍛堢幇鏍 * @param view 瀹炰緥闇€瑕佸睘浜庨棽缃鍥撅紝璋冪敤瀹屾垚琚噸寤虹埗瀛愬紩鐢 * @param pos 瀹炰緥灞炰簬鍛堢幇鏍戯紝璋冪敤瀹屾垚灏嗚瑙i櫎鐖跺瓙寮曠敤
|
||||||
* @param view 新视图,必须闲置视图
|
|
||||||
* @param pos 目标视图
|
|
||||||
*/
|
*/
|
||||||
virtual void replaceView(ViewRes *_new, ViewRes *_old) = 0;
|
virtual void replaceView(ViewRes *_new, ViewRes *_old) = 0;
|
||||||
|
|
||||||
|
|
|
@ -40,6 +40,3 @@ else:unix: LIBS += -L$$OUT_PWD/../libConfig/ -llibConfig
|
||||||
|
|
||||||
INCLUDEPATH += $$PWD/../libConfig
|
INCLUDEPATH += $$PWD/../libConfig
|
||||||
DEPENDPATH += $$PWD/../libConfig
|
DEPENDPATH += $$PWD/../libConfig
|
||||||
|
|
||||||
RESOURCES += \
|
|
||||||
defaulticon.qrc
|
|
||||||
|
|
Binary file not shown.
Before Width: | Height: | Size: 10 KiB |
Loading…
Reference in New Issue