diagramBackup/diagramCavas/source/diagramEditor/diagramEditorBayPreviewDlg.cpp

60 lines
1.9 KiB
C++
Raw Normal View History

#include "diagramEditor/diagramEditorBayPreviewDlg.h"
#include "diagramEditor/diagramEditorBayDetailSettingDlg.h"
#include "diagramEditor/editView.h"
#include "diagramEditor/editScene.h"
#include "graphicsDataModel/diagramEditorModel.h"
2026-03-13 08:31:37 +08:00
//#include "global.h"
#include "common/core_model/constants.h"
DiagramEditorBayPreviewDlg::DiagramEditorBayPreviewDlg(QWidget *parent)
: QDialog(parent)
,_pView(nullptr)
,_pScene(nullptr)
,_pMainLayout(nullptr)
,_pParent(nullptr)
{
2026-03-02 20:15:22 +08:00
this->setWindowFlags(Qt::FramelessWindowHint | windowFlags());
QRect recParent = parent->geometry();
setGeometry(recParent.right(),recParent.y(),recParent.width(),recParent.height());
initial();
}
DiagramEditorBayPreviewDlg::~DiagramEditorBayPreviewDlg()
{
}
void DiagramEditorBayPreviewDlg::initial()
{
_pMainLayout = new QVBoxLayout(this);
_pView = new EditView(this);
2026-03-02 20:15:22 +08:00
_pView->scale(0.5,0.5); //缩放为一半
_pMainLayout->addWidget(_pView);
_pScene = new EditPreviewScene(this);
2026-03-13 08:31:37 +08:00
_pScene->setSceneRect(-Constants::SCENE_WIDTH / 2, -Constants::SCENE_HEIGHT / 2, Constants::SCENE_WIDTH, Constants::SCENE_HEIGHT); //初始大小
_pView->setScene(_pScene);
2025-08-28 10:59:04 +08:00
}
2025-09-12 17:28:47 +08:00
void DiagramEditorBayPreviewDlg::showDlg(int nLayout)
2025-08-28 10:59:04 +08:00
{
if(_pParent){
_pParent->getModel()->setCurPreviewScene(_pScene);
}
2026-03-02 20:15:22 +08:00
//show();
2025-09-12 17:28:47 +08:00
int nDir = 0;
if(nLayout == 0){ //纵,下右
nDir = 41;
}
else if(nLayout == 1){ //横,右下
nDir = 14;
}
2025-10-17 18:14:44 +08:00
_pParent->getModel()->clearCompoDir(_pParent->getBayInfo().mapRoute,_pParent->getBayInfo().mapComponent,0);
2025-09-26 18:50:21 +08:00
_pParent->getModel()->updateTarget(_pParent->getBayInfo().mapRoute,_pParent->getBayInfo().mapComponent,nDir,0);
}
2026-03-02 20:15:22 +08:00
void DiagramEditorBayPreviewDlg::setSceneRect(const QRect rec)
{
if(_pScene)
_pScene->setSceneRect(-rec.width()*0.5,-rec.height()*0.5,rec.width(),rec.height());
}