Updated bsconf to the latest from uSTL
[ttodo.git] / frame.h
blob935e9a5427db33b3fbf293911c4f3444a3c42687
1 // This file is part of a terminal todo application.
2 //
3 // Copyright (C) 2006 by Mike Sharov <msharov@users.sourceforge.net>
4 // This file is free software, distributed under the MIT License.
5 //
6 // frame.h
7 //
9 #ifndef FRAME_H_3C7C0B5325ECA7E7714C148D1DFE0331
10 #define FRAME_H_3C7C0B5325ECA7E7714C148D1DFE0331
12 #include "ilist.h"
13 #include "iedit.h"
15 /// \class CTodoFrame tdframe.h tdframe.h
16 class CTodoFrame : public CWindow {
17 public:
18 CTodoFrame (void);
19 protected:
20 virtual void OnResize (rcrect_t wr);
21 virtual void OnInitialUpdate (void);
22 virtual void OnChildClose (uoff_t i);
23 virtual void OnKey (wchar_t key);
24 virtual void OnCommand (cmd_t c);
25 virtual void OnUpdateCommandUI (rcmd_t rc) const;
26 private:
27 typedef CTodoList& relist_t;
28 typedef CItemEditDialog& reedit_t;
29 enum EPane {
30 pane_MenuBar,
31 pane_Entries,
32 pane_Editor,
33 pane_Last
35 private:
36 inline CMenuBar& MenuBar (void) { return (TCW<CMenuBar>(pane_MenuBar)); }
37 inline relist_t TodoList (void) { return (TCW<CTodoList>(pane_Entries)); }
38 inline reedit_t ItemEditor (void) { return (TCW<CItemEditDialog>(pane_Editor)); }
41 #endif