#include "stdafx.h" #include "xtr/dialog/ExportCstGraphDlg.h" #include "resource.h" namespace xtr::dialog { #pragma warning( push ) #pragma warning( disable : 26440 26436 26454 ) BEGIN_MESSAGE_MAP(ExportCstGraphDlg, CDialog) // NOLINT END_MESSAGE_MAP() #pragma warning( pop ) ExportCstGraphDlg::ExportCstGraphDlg(CWnd* pParent) : CDialog(IXTRD_EXPORT_CSTGRAPH, pParent) {} void ExportCstGraphDlg::DoDataExchange(CDataExchange* pDX) { CDialog::DoDataExchange(pDX); int32_t linkType{}; if (!pDX->m_bSaveAndValidate) { linkType = GetLinkType(); } ::DDX_Radio(pDX, IXTRC_FORMULA, linkType); ::DDX_Check(pDX, IXTRC_TRIPLET_CB, options.triplets); ::DDX_Check(pDX, IXTRC_EXPORT_CSV_CB, exportCSV); if (pDX->m_bSaveAndValidate) { SetLinkType(linkType); exportType = exportCSV ? FileType::csv : FileType::txt; } } int32_t ExportCstGraphDlg::GetLinkType() const noexcept { // NOLINT(bugprone-exception-escape) if (!options.linkage.has_value()) { return static_cast(io::LinkType::lexTerm) + 1; } else { return static_cast(options.linkage.value()); } } void ExportCstGraphDlg::SetLinkType(const int32_t type) noexcept { if (type > static_cast(io::LinkType::lexTerm)) { options.linkage = std::nullopt; } else { options.linkage = static_cast(type); } } } // namespace xtr::dialog