diff options
author | George Hazan <george.hazan@gmail.com> | 2014-03-04 23:23:45 +0000 |
---|---|---|
committer | George Hazan <george.hazan@gmail.com> | 2014-03-04 23:23:45 +0000 |
commit | 15855fa84a09fd1fd486d357c38db0f2bd181e74 (patch) | |
tree | c98d1ae74abca41c776522059343eda13a7e0a31 /plugins/HistoryStats/src/column_split.h | |
parent | 819f8efabea6b0d7d971f9e6e4b21bbc18838874 (diff) |
HistoryStats compiles ok now
git-svn-id: http://svn.miranda-ng.org/main/trunk@8399 1316c22d-e87f-b044-9b9b-93d7a3e3ba9c
Diffstat (limited to 'plugins/HistoryStats/src/column_split.h')
-rw-r--r-- | plugins/HistoryStats/src/column_split.h | 74 |
1 files changed, 74 insertions, 0 deletions
diff --git a/plugins/HistoryStats/src/column_split.h b/plugins/HistoryStats/src/column_split.h new file mode 100644 index 0000000000..03d0ce6055 --- /dev/null +++ b/plugins/HistoryStats/src/column_split.h @@ -0,0 +1,74 @@ +#if !defined(HISTORYSTATS_GUARD_COLUMN_SPLIT_H)
+#define HISTORYSTATS_GUARD_COLUMN_SPLIT_H
+
+#include "column.h"
+
+/*
+ * ColSplit
+ */
+
+class ColSplit
+ : public Column
+{
+public:
+ struct SplitParams {
+ int alignment; // 0 = day, 1 = week
+ int hours_in_block;
+ int blocks_in_column;
+ int effective_vis_mode;
+ };
+
+private:
+ int m_nSource; // 0 = characters, 1 = messages, 2 = chats
+ int m_nSourceType; // 0 = in, 1 = out, 2 = total
+ int m_nVisMode; // 0 = hours of day, 1 = days of week, 2 = custom
+ bool m_bDetail;
+ int m_nBlockUnit; // 0 = hours, 1 = days, 2 = weeks
+ int m_nUnitsPerBlock;
+ int m_nBlocks;
+ int m_nGraphAlign; // 0 = day boundary, 1 = week boundary
+
+ OptionsCtrl::Combo m_hSource;
+ OptionsCtrl::Radio m_hVisMode;
+ OptionsCtrl::Check m_hDetail;
+ OptionsCtrl::Combo m_hBlockUnit;
+ OptionsCtrl::Edit m_hUnitsPerBlock;
+ OptionsCtrl::Edit m_hBlocks;
+ OptionsCtrl::Radio m_hGraphAlign;
+
+ ext::string m_CSS;
+ DWORD m_nTimeDiv;
+ DWORD m_nTimeMod;
+ DWORD m_nTimeOffset;
+
+private:
+ SplitParams getParams() const;
+ void addToSlot(Contact& contact, DWORD localTimestamp, int toAdd);
+
+public:
+ explicit ColSplit();
+
+protected:
+ virtual const mu_text* impl_getUID() const { return con::ColSplit; }
+ virtual const mu_text* impl_getTitle() const { return i18n(muT("\"Split\"")); }
+ virtual const mu_text* impl_getDescription() const { return i18n(muT("Column holding a graphical overview of your chatting amount split by day of week or by hour of day. Different chatting amount measures are available.")); }
+ virtual void impl_copyConfig(const Column* pSource);
+ virtual int impl_getFeatures() const { return cfHasConfig | cfAcquiresData; }
+ 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 int impl_configGetRestrictions(ext::string* pDetails) const;
+ virtual ext::string impl_contactDataGetUID() const;
+ virtual void impl_contactDataBeginAcquire();
+ virtual void impl_contactDataPrepare(Contact& contact) const;
+ virtual void impl_contactDataFree(Contact& contact) const;
+ virtual void impl_contactDataAcquireMessage(Contact& contact, Message& msg);
+ virtual void impl_contactDataAcquireChat(Contact& contact, bool bOutgoing, DWORD localTimestampStarted, DWORD duration);
+ virtual void impl_contactDataMerge(Contact& contact, const Contact& include) const;
+ virtual StyleList impl_outputGetAdditionalStyles(IDProvider& idp);
+ 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_SPLIT_H
\ No newline at end of file |