Exteor/include/xtr/dialog/InsertCstDlg.h

44 lines
880 B
C
Raw Normal View History

2024-06-07 20:30:06 +03:00
#pragma once
namespace xtr::dialog {
//! Dialog: Select constituenta from typification
class InsertCstDlg final : public CDialog {
public:
CString cstName{};
private:
const ccl::semantic::RSCore& context;
CListBox pickerControl{};
enum State : uint8_t {
DS_DEFAULT = 0,
DS_CSTS,
};
State state{ DS_DEFAULT };
CPoint position{};
CString hint{};
std::vector<CString> typifications{};
CString choice{};
public:
InsertCstDlg(const ccl::semantic::RSCore& context, CPoint pos,
CString hint, CWnd* pParent = nullptr);
private:
BOOL OnInitDialog() override;
void DoDataExchange(CDataExchange* pDX) override;
BOOL PreTranslateMessage(MSG* pMsg) override;
private:
void FitDialogSize();
void OnSelectTyping();
void OnSelectCst();
void UpdateContextNameList();
void UpdateTypingNameList();
};
} // namespace xtr::dialog