Add UI for DIDKIT.

This commit is contained in:
Krad
2022-09-23 13:13:41 +08:00
parent 90ead1ce1a
commit cc4326ded3
31 changed files with 1014 additions and 69 deletions

View File

@@ -0,0 +1,19 @@
#include "ClearFileAction.h"
#include "Model/FileModel.h"
ClearFileAction::ClearFileAction(const QString& aName, FileModel* aModel, QWidget* aParent)
: QAction(aName, aParent)
, mModel(aModel)
{
connect(this,&QAction::triggered,this,&ClearFileAction::executeAction);
}
ClearFileAction::~ClearFileAction()
{
}
void ClearFileAction::executeAction()
{
mModel->clearModelData();
}

View File

@@ -0,0 +1,21 @@
#ifndef CLEARFILEACTION_H
#define CLEARFILEACTION_H
#include <QAction>
class FileModel;
class ClearFileAction : public QAction
{
public:
ClearFileAction(const QString& aName,FileModel* aModel, QWidget* aParent = nullptr);
~ClearFileAction() override;
private:
void executeAction();
private:
FileModel* mModel;
};
#endif // CLEARFILEACTION_H

View File

@@ -0,0 +1,20 @@
#include "ClearPropertyAction.h"
#include "Model/PropertyTableModel.h"
ClearPropertyAction::ClearPropertyAction(const QString& aName, PropertyTableModel* aModel, QWidget* aParent)
: QAction(aName, aParent)
, mModel(aModel)
{
connect(this,&QAction::triggered,this,&ClearPropertyAction::executeAction);
}
ClearPropertyAction::~ClearPropertyAction()
{
}
void ClearPropertyAction::executeAction()
{
mModel->removeRows(0,mModel->rowCount());;
}

View File

@@ -0,0 +1,21 @@
#ifndef CLEARPROPERTYACTION_H
#define CLEARPROPERTYACTION_H
#include <QAction>
class PropertyTableModel;
class ClearPropertyAction : public QAction
{
public:
ClearPropertyAction(const QString& aName,PropertyTableModel* aModel, QWidget* aParent = nullptr);
~ClearPropertyAction() override;
private:
void executeAction();
private:
PropertyTableModel* mModel;
};
#endif // CLEARPROPERTYACTION_H

View File

@@ -0,0 +1,17 @@
#include "ExitAction.h"
ExitAction::ExitAction(const QString& aName,QWidget* aParent)
: QAction(aName, aParent)
{
connect(this,&QAction::triggered,this,&ExitAction::executeAction);
}
ExitAction::~ExitAction()
{
}
void ExitAction::executeAction()
{
exit(0);
}

View File

@@ -0,0 +1,16 @@
#ifndef EXITACTION_H
#define EXITACTION_H
#include <QAction>
class ExitAction : public QAction
{
public:
ExitAction(const QString& aName, QWidget* aParent = nullptr);
~ExitAction() override;
private:
void executeAction();
};
#endif // EXITACTION_H

View File

@@ -0,0 +1,20 @@
#include "GetPacsConfigDialogAction.h"
#include "PACS/Widget/importwidget.h"
GetPacsConfigDialogAction::GetPacsConfigDialogAction(const QString& aName,QWidget* aParent)
: QAction(aName, aParent)
, mWidget(new ImportWidget(aParent))
{
connect(this,&QAction::triggered,this,&GetPacsConfigDialogAction::executeAction);
}
GetPacsConfigDialogAction::~GetPacsConfigDialogAction()
{
}
void GetPacsConfigDialogAction::executeAction()
{
mWidget->show();
}

View File

@@ -0,0 +1,21 @@
#ifndef GETPACSCONFIGDIALOGACTION_H
#define GETPACSCONFIGDIALOGACTION_H
#include <QAction>
class ImportWidget;
class GetPacsConfigDialogAction : public QAction
{
public:
GetPacsConfigDialogAction(const QString& aName, QWidget* aParent = nullptr);
~GetPacsConfigDialogAction() override;
private:
void executeAction();
private:
ImportWidget* mWidget;
};
#endif // GETPACSCONFIGDIALOGACTION_H

View File

@@ -0,0 +1,41 @@
#include "OpenDirAction.h"
#include <QFileDialog>
#include <QMenu>
#include "IO/DICOM/DicomLoader.h"
#include "DICOMPropertiesStore.h"
OpenDirAction::OpenDirAction(const QString& aName,QWidget* aParent)
: QAction(aName, aParent)
{
connect(this,&QAction::triggered,this,&OpenDirAction::executeAction);
}
OpenDirAction::~OpenDirAction()
{
}
void OpenDirAction::executeAction()
{
QString path = QFileDialog::getExistingDirectory(menu(),
tr("Open Directory"), QDir::currentPath(),
QFileDialog::ShowDirsOnly | QFileDialog::DontResolveSymlinks);
DicomLoader::InitCodecs();
std::string dir = path.toStdString();
std::vector<ExtendMedicalImageProperties*> vector;
int count = 0;
DicomLoader::readPropertiesFromDir(dir,vector, count);
DicomLoader::FinalizeCodecs();
if( vector.empty()){
emit dataLoaded(false);
return;
}
DICOMPropertiesStore::GetInstance()->reset();
for (auto item : vector) {
DICOMPropertiesStore::GetInstance()->addProperty(item);
}
emit dataLoaded(true);
}

View File

@@ -0,0 +1,18 @@
#ifndef OPENDIRACTION_H
#define OPENDIRACTION_H
#include <QAction>
class OpenDirAction : public QAction
{
Q_OBJECT
public:
OpenDirAction(const QString& aName, QWidget* aParent = nullptr);
~OpenDirAction() override;
signals:
void dataLoaded(bool loadSuccess);
private:
void executeAction();
};
#endif // OPENDIRACTION_H

View File

@@ -0,0 +1,41 @@
#include "OpenFileAction.h"
#include <QDebug>
#include <QFileDialog>
#include <QMenu>
#include <QDir>
#include "IO/DICOM/DicomLoader.h"
#include "DICOMPropertiesStore.h"
OpenFileAction::OpenFileAction(const QString& aName,QWidget* aParent)
: QAction(aName, aParent)
{
connect(this,&QAction::triggered,this,&OpenFileAction::executeAction);
}
OpenFileAction::~OpenFileAction()
{
}
void OpenFileAction::executeAction()
{
QString path = QFileDialog::getOpenFileName(menu());;
DicomLoader::InitCodecs();
std::string file = path.toStdString();
std::vector<ExtendMedicalImageProperties*> vector;
int count = 0;
DicomLoader::readPropertiesFromFile(file,vector, count);
DicomLoader::FinalizeCodecs();
if( vector.empty()){
emit dataLoaded(false);
return;
}
DICOMPropertiesStore::GetInstance()->reset();
for (auto item : vector) {
DICOMPropertiesStore::GetInstance()->addProperty(item);
}
emit dataLoaded(true);
}

View File

@@ -0,0 +1,18 @@
#ifndef OPENFILEACTION_H
#define OPENFILEACTION_H
#include <QAction>
class OpenFileAction : public QAction
{
Q_OBJECT
public:
OpenFileAction(const QString& aName, QWidget* aParent = nullptr);
~OpenFileAction() override;
signals:
void dataLoaded(bool loadSuccess);
private:
void executeAction();
};
#endif // OPENFILEACTION_H

View File

@@ -0,0 +1,22 @@
#include "OpenWorkSpaceAction.h"
#include <QFileDialog>
#include <QMenu>
#include <QDir>
OpenWorkSpaceAction::OpenWorkSpaceAction(const QString& aName,QWidget* aParent)
: QAction(aName, aParent)
{
connect(this,&QAction::triggered,this,&OpenWorkSpaceAction::executeAction);
}
OpenWorkSpaceAction::~OpenWorkSpaceAction()
{
}
void OpenWorkSpaceAction::executeAction()
{
}

View File

@@ -0,0 +1,16 @@
#ifndef OPENWORKSPACEACTION_H
#define OPENWORKSPACEACTION_H
#include <QAction>
class OpenWorkSpaceAction : public QAction
{
public:
OpenWorkSpaceAction(const QString& aName, QWidget* aParent = nullptr);
~OpenWorkSpaceAction() override;
private:
void executeAction();
};
#endif // OPENWORKSPACEACTION_H