#pragma once

#include "xtr/doc/FileTypes.h"
#include "xtr/io/OptionsIO.hpp"

namespace xtr::dialog {

class ExportCstGraphDlg final : public CDialog {
public:
  FileType exportType{ FileType::txt };
  io::CstGraphOptions options{ io::LinkType::formula, FALSE };

private:
  BOOL exportCSV{ false };

public:
  explicit ExportCstGraphDlg(CWnd* pParent = nullptr);

private:
  void DoDataExchange(CDataExchange* pDX) override;
  DECLARE_MESSAGE_MAP()

private:
  [[nodiscard]] int32_t GetLinkType() const noexcept; // NOLINT(bugprone-exception-escape)
  void SetLinkType(int32_t type) noexcept;
};

} // namespace xtr::dialog