mirror of
https://github.com/ultimatepp/ultimatepp.git
synced 2026-05-15 14:16:07 -06:00
51 lines
961 B
C++
51 lines
961 B
C++
#include <CtrlLib/CtrlLib.h>
|
|
|
|
using namespace Upp;
|
|
|
|
#define LAYOUTFILE <CtrlMapper/CtrlMapper.lay>
|
|
#include <CtrlCore/lay.h>
|
|
|
|
struct MyStruct {
|
|
String text;
|
|
bool option;
|
|
double distance;
|
|
};
|
|
|
|
struct MyDlg : WithMyDlgLayout<TopWindow> {
|
|
typedef MyDlg CLASSNAME;
|
|
|
|
void Map(CtrlMapper& m, MyStruct& s);
|
|
|
|
MyDlg();
|
|
};
|
|
|
|
MyDlg::MyDlg()
|
|
{
|
|
CtrlLayoutOK(*this, "My Dialog");
|
|
}
|
|
|
|
void MyDlg::Map(CtrlMapper& m, MyStruct& s)
|
|
{
|
|
m
|
|
(text, s.text)
|
|
(option, s.option)
|
|
(distance, s.distance, 0.001)
|
|
;
|
|
}
|
|
|
|
GUI_APP_MAIN
|
|
{
|
|
MyStruct data;
|
|
data.text = "Some text";
|
|
data.option = true;
|
|
data.distance = 1700;
|
|
|
|
MyDlg dlg;
|
|
dlg.Map(CtrlMapper().ToCtrls(), data);
|
|
if(dlg.Run() == IDOK)
|
|
dlg.Map(CtrlMapper().ToValues(), data);
|
|
|
|
PromptOK(String() << "text: [* \1" << data.text << "\1]&"
|
|
<< "option: [* " << data.option << "]&"
|
|
<< "distance: [* " << data.distance << " m]");
|
|
}
|