1 // Description length log for display
2 // Copyright © 2009 The University of Chicago
6 class CDLHistoryListViewItem
;
9 #include <Q3ListViewItem>
11 class CDLHistoryListViewItem
: public Q3ListViewItem
{
13 CDLHistory
* m_dlhistory
;
16 CDLHistoryListViewItem(class Q3ListView
* widget
= 0);
17 CDLHistoryListViewItem(class Q3ListView
* widget
,
18 QString
= QString(), CDLHistory
* = 0, int index
= 0);
19 CDLHistoryListViewItem(class Q3ListViewItem
* widget
,
20 QString
= QString(), CDLHistory
* = 0, int index
= 0);
22 // list view item interface.
24 virtual QString
text(int column
) const;
25 virtual QString
key(int column
, bool ascending
) const;
26 virtual int compare(class Q3ListViewItem
* i
, int col
,
27 bool ascending
) const;
29 int GetIndex() { return m_index
;}
36 namespace linguistica
{ namespace ui
{ class status_user_agent
; } }
42 double unanalyzed_words_len
;
44 double signatures_len
;
47 int num_unanalyzed_words
;
48 int num_analyzed_words
;
54 std::vector
<entry
> log
;
55 linguistica::ui::status_user_agent
& s
;
57 // construction/destruction.
60 explicit CDLHistory(linguistica::ui::status_user_agent
& status_display
);
65 void DLHistoryListDisplay(class Q3ListView
* widget
);
69 /// calculate current description length and add it to the stack.
70 /// if the stack is too large, clear it first.
71 void append(QString mini_name
, QString remark
,
72 class CMiniLexicon
* mini_lexicon
);
77 Q_ASSERT(log
.size() <= static_cast<std::size_t>(
78 std::numeric_limits
<int>::max()));
79 return static_cast<int>(log
.size());
84 QString
getMini(int i
) { return log
[i
].mini_name
; }
85 QString
getRemark(int i
) { return log
[i
].remark
; }
86 double getStemDL(int i
) { return log
[i
].stems_len
; }
87 double getUnanalyzedWordDL(int i
)
88 { return log
[i
].unanalyzed_words_len
; }
89 double getAffixDL(int i
) { return log
[i
].affixes_len
; }
90 double getSigDL(int i
) { return log
[i
].signatures_len
; }
92 int getNumberOfStems(int i
) { return log
[i
].num_stems
; }
93 int getNumberOfAnalyzedWords(int i
)
94 { return log
[i
].num_analyzed_words
; }
95 int getNumberOfUnanalyzedWords(int i
)
96 { return log
[i
].num_unanalyzed_words
; }