summaryrefslogtreecommitdiff
path: root/plugins/HistoryStats/src/column_wordcount.h
blob: 676a0ec300bd75eda17da84b218455816b0f28b6 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
#if !defined(HISTORYSTATS_GUARD_COLUMN_WORDCOUNT_H)
#define HISTORYSTATS_GUARD_COLUMN_WORDCOUNT_H

#include "colbase_words.h"

/*
 * ColWordCount
 */

class ColWordCount
	: public ColBaseWords
{
protected:
	int m_nVisMode;
	bool m_bDetail;

	OptionsCtrl::Radio m_hVisMode;
	OptionsCtrl::Check m_hDetail;

public:
	explicit ColWordCount();

protected:
	virtual const wchar_t* impl_getUID() const { return con::ColWordCount; }
	virtual const wchar_t* impl_getTitle() const { return LPGENW("Word count"); }
	virtual const wchar_t* impl_getDescription() const { return LPGENW("Column holding the number of (distinct) words used by you, by your contact, or by both of you."); }
	virtual void impl_copyConfig(const Column* pSource);
	virtual void impl_configRead(const SettingsTree& settings);
	virtual void impl_configWrite(SettingsTree& settings) const;
	virtual void impl_configToUI(OptionsCtrl& Opt, OptionsCtrl::Item hGroup);
	virtual void impl_configFromUI(OptionsCtrl& Opt);
	virtual void impl_contactDataFree(Contact& contact) const;
	virtual void impl_contactDataTransform(Contact& contact) const;
	virtual void impl_contactDataTransformCleanup(Contact& contact) const;
	virtual void impl_outputRenderHeader(ext::ostream& tos, int row, int rowSpan) const;
	virtual void impl_outputRenderRow(ext::ostream& tos, const Contact& contact, DisplayType display);
};

#endif // HISTORYSTATS_GUARD_COLUMN_WORDCOUNT_H