1 // Copyright (c) 2006 by Mike Sharov <msharov@users.sourceforge.net>
6 #ifndef TDDOC_H_31474BC008E2711A4DD60C960CFF3439
7 #define TDDOC_H_31474BC008E2711A4DD60C960CFF3439
12 /// \class CTodoDocument tddoc.h tddoc.h
13 class CTodoDocument
: public CDocument
{
15 typedef const todolist_t
& rctodolist_t
;
16 typedef const CTodoEntry
& rcentry_t
;
17 typedef CTodoEntry::id_t itemid_t
;
20 virtual void read (istream
& is
);
21 virtual void write (ostream
& os
) const;
22 virtual size_t stream_size (void) const;
24 void SaveData (void) const;
25 void UpdateCurrentEntry (rcentry_t e
);
26 rcentry_t
CurrentEntry (void) const;
27 void SetList (itemid_t lid
);
28 inline uoff_t
Selection (void) const { return (m_Selection
); }
29 inline size_t ListSize (void) const { return (m_Todos
.size()); }
30 inline rctodolist_t
List (void) const { return (m_Todos
); }
31 inline void SetSelection (uoff_t v
) { m_Selection
= v
; UpdateAllViews(); }
32 void RemoveCurrentEntry (void);
33 void AppendEntry (void);
34 void MarkEntryComplete (void);
36 typedef multimap
<itemid_t
, itemid_t
> depmap_t
;
38 todolist_t m_Todos
; ///< List of entries.
39 depmap_t m_Deps
; ///< List of dependencies between todos.
40 uoff_t m_Selection
; ///< Index of the selected entry.
41 uint32_t m_ItemId
; ///< Currently selected list's parent item.