Initial commit
This commit is contained in:
commit
b7d90b9afe
16245 files changed
+3396666
No files matched your search
+98
@@ -0,0 +1,98 @@
|
||||
/**
|
||||
* @RDE_HEADER@
|
||||
* LtsFileDialogWidget and LtsFileDialog - custom widgets
|
||||
* $Id$
|
||||
* $HeadURL$
|
||||
* $Author$
|
||||
*
|
||||
* Created by Iuliana Ojog & Mike Wille, SLSE, 2017-09-15
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
|
||||
#include "lts_file_dialog.h"
|
||||
|
||||
#include <LtsFileDialog/ltsfiledialog_export.h>
|
||||
#include <Plugins/FileManagement/flm_data_plugin_interface.h>
|
||||
#include <Plugins/OperatorManagement/opm_data_plugin_interface.h>
|
||||
#include <Plugins/ExerciseManagement/exm_data_plugin_interface.h>
|
||||
|
||||
#include <QWidget>
|
||||
|
||||
namespace LtsWidgets
|
||||
{
|
||||
class DialogModelFile;
|
||||
class DialogModelFolder;
|
||||
class DialogModelProxyFolder;
|
||||
class DialogFileProxyModel;
|
||||
|
||||
class LTSFILEDIALOG_EXPORT LtsFileDialogWidget : public QWidget
|
||||
{
|
||||
friend class LtsFileDialog;
|
||||
Q_OBJECT
|
||||
|
||||
public:
|
||||
explicit LtsFileDialogWidget(QWidget *parent = nullptr);
|
||||
~LtsFileDialogWidget();
|
||||
|
||||
bool init(LtsSession::LtsSession *session,
|
||||
const std::shared_ptr<FileManagement::Interface::Dtc> &dtc,
|
||||
const std::shared_ptr<OperatorManagement::Interface::Dtc> &opmDtc,
|
||||
const std::shared_ptr<ExerciseManagement::Interface::Dtc> &exmDtc,
|
||||
const FileDialogMode &dlgMode = FileDialogMode::modeOpenFile,
|
||||
const QVector<FileManagement::MainFolder> &mainFolders = {},
|
||||
const QVector<FileManagement::FileType> &fileTypes = {FileManagement::FileType::Unknown},
|
||||
const int &folderId = 0,
|
||||
const QString &xmlType = QString());
|
||||
|
||||
void requestReadingSelectedFile();
|
||||
QString dragMimeType() const;
|
||||
|
||||
signals:
|
||||
void enableButtons();
|
||||
void accepted();
|
||||
void readSelectedFile(int fileId);
|
||||
|
||||
private:
|
||||
void enaDisa();
|
||||
void saveFileName(const QString &name);
|
||||
|
||||
QModelIndex selectedIndexViewFolder();
|
||||
void selectFolder();
|
||||
|
||||
protected slots:
|
||||
// folders
|
||||
void onFolderSelectionChanged(const QItemSelection & /*selected*/,
|
||||
const QItemSelection& /*deselected*/);
|
||||
void onFolderChanged(const FileManagement::Folder &data, DataModification modType);
|
||||
|
||||
// files
|
||||
FileManagement::FileContent onSelectFile();
|
||||
void onChooseFileName();
|
||||
void onFileChanged(const FileManagement::FileContent &data, DataModification modType);
|
||||
bool showFile(const FileManagement::FileContent &fc, const QString &xmlType);
|
||||
|
||||
private:
|
||||
DialogModelFolder *m_modelFolder{nullptr};
|
||||
DialogModelProxyFolder *m_proxyModelFolder{nullptr};
|
||||
DialogModelFile *m_modelFile{nullptr};
|
||||
DialogFileProxyModel *m_proxyModelFile{nullptr};
|
||||
std::shared_ptr<FileManagement::Interface::Dtc> m_dtc;
|
||||
std::shared_ptr<OperatorManagement::Interface::Dtc> m_opmDtc;
|
||||
std::shared_ptr<ExerciseManagement::Interface::Dtc> m_exmDtc;
|
||||
|
||||
Ui::LtsFileDialogWidget *m_ui{nullptr};
|
||||
LtsSession::LtsSession *m_session{nullptr};
|
||||
|
||||
int m_selectedFolderId{-1};
|
||||
FileManagement::FileContent m_selectedFileContent;
|
||||
|
||||
QString m_fileName;
|
||||
QVector<FileManagement::FileType> m_fileTypes;
|
||||
QString m_xmlType;
|
||||
FileDialogMode m_dialogMode;
|
||||
QVector<FileManagement::MainFolder> m_mainFolders;
|
||||
};
|
||||
|
||||
} // namespace LtsWidgets
|
||||
|
||||
Reference in new issue
Block a user