#include "WindowRuntimeView.h"
#include "WindowAppDesignerView.h"
#include "selectwidget.h"
WindowRuntimeView::WindowRuntimeView(QWidget *parent)
: QWidget(parent)
{
// 初始化Logo贴图
this->initLogoImage();
}
WindowRuntimeView::~WindowRuntimeView()
{
}
///
/// 初始化Logo贴图
///
void WindowRuntimeView::initLogoImage()
{
m_pLogoImage = new QPixmap(64, 64);
m_pLogoImage->load("./image/logo64.png");
}
///
/// 发布对应的页面
///
///
///
///
bool WindowRuntimeView::runPage(WindowAppDesignerView* pPage, bool bMainPage /* = false */)
{
// 首先创建一个等尺寸的窗体
// 枚举该页面所有的控件,照着复制一份到Runtime窗体中
QList pControls = pPage->getAllControls();
// 如果不是主页的话,界面先不显示,等着从主页切换时才显示
return true;
}
///
/// 绘制界面背景
///
///
void WindowRuntimeView::paintEvent(QPaintEvent*)
{
QRect rc = this->geometry();
// 在当前界面的右上角显示logo
QPainter painter(this);
painter.drawPixmap(rc.right() - 100, rc.top(), 64, 64, *m_pLogoImage);
}
///
/// 启动所有的UI界面(目前先只支持启动所有页面的方式)
///
void WindowRuntimeView::runAll(
WindowAppDesignerView* pMainPage,
QHash allPages
)
{
// 首先发布主页
runPage(pMainPage);
// 根据每一个 WindowAppDesignerView 生成对应的页面,并且把所有的控件都分布上去
QHashIterator it(allPages);
while (it.hasNext())
{
runPage(it.next().value());
}
}