1 // Copyright (c) 2006 by Mike Sharov <msharov@users.sourceforge.net>
8 /// Default constructor.
9 CItemEditDialog::CItemEditDialog (void)
13 AddChild (new CEditBox
);
14 AddChild (new CLabel
);
15 AddChild (new CLabel
);
16 assert (Children().size() == ctrl_Last
);
19 void CItemEditDialog::OnUpdate (void)
22 SetItem (Document()->CurrentItem());
25 void CItemEditDialog::OnResize (rcrect_t wr
)
27 CDialog::OnResize (wr
);
28 ItemText().OnResize (Rect (1, 1, wr
.Width() - 2, 1));
29 CreatedDate().OnResize (Rect (wr
.Width() - 26, 3, 25, 1));
30 DoneDate().OnResize (Rect (wr
.Width() - 26, 4, 25, 1));
33 void CItemEditDialog::OnKey (wchar_t key
)
36 if (ItemText().Flag (f_OffersFocus
)) {
37 if (ItemText().Flag (f_Changed
)) {
38 m_Item
.SetText (ItemText().Text());
41 SetFlag (f_OffersFocus
);
43 Document()->UpdateCurrentItem (Item());
44 else if (Document()->CurrentItem().Text().empty())
45 Document()->RemoveCurrentItem();
49 void CItemEditDialog::SetItem (rcentry_t e
)
52 ItemText().SetText (e
.Text());
53 CreatedDate().SetText (e
.CreatedDateText());
54 DoneDate().SetText (e
.Complete() ? e
.DoneDateText() : "Active");
56 ClearFlag (f_Changed
);