Add UI for DIDKIT.
This commit is contained in:
@@ -1,15 +1,96 @@
|
||||
//
|
||||
// Created by Krad on 2022/9/20.
|
||||
//
|
||||
|
||||
#include "DIDMainWindow.h"
|
||||
#include "PACS/Widget/ImportWidget.h"
|
||||
#include "ui_DIDMainWindow.h"
|
||||
|
||||
DIDMainWindow::DIDMainWindow(QWidget *parent) {
|
||||
auto m_import = new ImportWidget(this);
|
||||
m_import->show();
|
||||
#include "MenuAction/ClearFileAction.h"
|
||||
#include "MenuAction/ClearPropertyAction.h"
|
||||
#include "MenuAction/OpenFileAction.h"
|
||||
#include "MenuAction/OpenDirAction.h"
|
||||
#include "MenuAction/OpenWorkSpaceAction.h"
|
||||
#include "MenuAction/ExitAction.h"
|
||||
#include "MenuAction/GetPacsConfigDialogAction.h"
|
||||
|
||||
#include "Model/FileModel.h"
|
||||
#include "Model/PropertyTableModel.h"
|
||||
|
||||
#include <QMessageBox>
|
||||
|
||||
#include <QTreeView>
|
||||
#include <QTableView>
|
||||
#include <QHeaderView>
|
||||
#include <QVBoxLayout>
|
||||
#include <QStandardItem>
|
||||
#include <QStandardItemModel>
|
||||
|
||||
DIDMainWindow::DIDMainWindow(QWidget *aParent)
|
||||
: QMainWindow(aParent)
|
||||
, mUI(new Ui::DIDMainWindow)
|
||||
, mTreeView(new QTreeView(this))
|
||||
, mTableModel(new PropertyTableModel(this))
|
||||
, mTreeModel(new FileModel(mTableModel,this))
|
||||
, mTableView(new QTableView(this))
|
||||
|
||||
{
|
||||
mUI->setupUi(this);
|
||||
initMenu();
|
||||
initFileWidget();
|
||||
initTable();
|
||||
}
|
||||
|
||||
DIDMainWindow::~DIDMainWindow() {
|
||||
|
||||
void DIDMainWindow::initTable() const {
|
||||
QVBoxLayout* layout = new QVBoxLayout(mUI->mPropertyWidget);
|
||||
layout->addWidget(mTableView);
|
||||
mTableView->horizontalHeader()->setStretchLastSection(true);
|
||||
mTableView->verticalHeader()->hide();
|
||||
mTableView->setModel(mTableModel);
|
||||
}
|
||||
|
||||
DIDMainWindow::~DIDMainWindow()
|
||||
{
|
||||
delete mUI;
|
||||
}
|
||||
|
||||
void DIDMainWindow::initMenu()
|
||||
{
|
||||
QMenu* openMenu = new QMenu(tr("Open"),this);
|
||||
auto fileAction = new OpenFileAction(tr("Open File"),this);
|
||||
connect(fileAction, &OpenFileAction::dataLoaded,this, &DIDMainWindow::loadPropertyTable);
|
||||
openMenu->addAction(fileAction);
|
||||
auto dirAction = new OpenDirAction(tr("Open Directory"),this);
|
||||
connect(dirAction, &OpenDirAction::dataLoaded,this, &DIDMainWindow::loadPropertyTable);
|
||||
openMenu->addAction(dirAction);
|
||||
openMenu->addAction(new OpenWorkSpaceAction(tr("Open WorkSpace"),this));
|
||||
openMenu->addSeparator();
|
||||
openMenu->addAction(new ExitAction(tr("Exit"),this));
|
||||
|
||||
QMenu* clearMenu = new QMenu(tr("Clear"),this);
|
||||
clearMenu->addAction(new ClearFileAction(tr("Clear File"),mTreeModel,this));
|
||||
clearMenu->addAction(new ClearPropertyAction(tr("Clear Property"),mTableModel,this));
|
||||
|
||||
QMenu* pacsMenu = new QMenu(tr("PACS"),this);
|
||||
pacsMenu->addAction(new GetPacsConfigDialogAction(tr("Config"),this));
|
||||
|
||||
mUI->mMenuBar->addMenu(openMenu);
|
||||
mUI->mMenuBar->addMenu(clearMenu);
|
||||
mUI->mMenuBar->addMenu(pacsMenu);
|
||||
}
|
||||
|
||||
void DIDMainWindow::initFileWidget()
|
||||
{
|
||||
QVBoxLayout* layout = new QVBoxLayout(mUI->mFileWidget);
|
||||
layout->addWidget(mTreeView);
|
||||
|
||||
mTreeView->setModel(mTreeModel);
|
||||
mTreeView->setHeaderHidden(true);
|
||||
connect(mTreeView,&QAbstractItemView::doubleClicked,mTreeModel,&FileModel::executeItemAction);
|
||||
}
|
||||
|
||||
void DIDMainWindow::loadPropertyTable(bool loadSuccess)
|
||||
{
|
||||
if (loadSuccess){
|
||||
mTreeModel->setModelData();
|
||||
}
|
||||
else{
|
||||
QMessageBox::warning(this,"Warning","No DICOM loaded");
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user