62 lines
1.3 KiB
C++
62 lines
1.3 KiB
C++
#pragma once
|
|
|
|
#include "xtr/ui/RSEdit.h"
|
|
#include "xtr/ui/DataGridCtrl.h"
|
|
|
|
namespace xtr::dialog {
|
|
|
|
class EditConstituentaDlg;
|
|
|
|
//! Dialog: Edit RSModel data
|
|
class RSModelPage : public CPropertyPage {
|
|
EditConstituentaDlg& parent;
|
|
|
|
CString typification;
|
|
CString textDef;
|
|
BOOL isModified{ FALSE };
|
|
BOOL canceled{ FALSE };
|
|
|
|
CComboBox nameCtrl;
|
|
ui::RSEdit exprCtrl;
|
|
ui::RSEdit textCtr;
|
|
CComboBox dataEditCtrl;
|
|
CButton textBtn;
|
|
ui::DataGridCtrl dataCtrl;
|
|
|
|
public:
|
|
explicit RSModelPage(EditConstituentaDlg& parent);
|
|
|
|
private:
|
|
void DoDataExchange(CDataExchange* pDX) override;
|
|
BOOL OnInitDialog() override;
|
|
void InitControls();
|
|
void InitCstNameList();
|
|
|
|
BOOL OnApply() override;
|
|
void OnCancel() override;
|
|
void OnOK() override;
|
|
BOOL PreTranslateMessage(MSG* pMsg) override;
|
|
|
|
DECLARE_MESSAGE_MAP()
|
|
afx_msg void OnConfirm();
|
|
afx_msg void OnSelchangeName();
|
|
afx_msg void OnCbnKillfocusEditData();
|
|
afx_msg void OnBnClickedFillInterp();
|
|
afx_msg void OnEraseData();
|
|
afx_msg void OnExportData();
|
|
afx_msg void OnImportData();
|
|
afx_msg void OnDataChange(NMHDR* pNMHDR, LRESULT* pResult);
|
|
afx_msg void OnPrev();
|
|
afx_msg void OnNext();
|
|
|
|
private:
|
|
void SetModified(BOOL bChanged = TRUE);
|
|
BOOL IsModified() const noexcept;
|
|
|
|
void UpdateFormat();
|
|
void UpdateCellText();
|
|
|
|
void CancelEdit();
|
|
};
|
|
|
|
} // namespace xtr::dialog
|