diff options
author | kreol13 <kreol13@e753b5eb-9565-29b2-b5c5-2cc6f99dfbcb> | 2011-04-21 13:03:39 +0000 |
---|---|---|
committer | kreol13 <kreol13@e753b5eb-9565-29b2-b5c5-2cc6f99dfbcb> | 2011-04-21 13:03:39 +0000 |
commit | 19b6f534d2e784a1e120bf52c4aa07004798f473 (patch) | |
tree | d0d22a2ac54ed02b702d7e183e02d2441c9270d4 /userinfoex/ctrl_annivedit.h | |
parent | e44e7d0d204198d771a328d1553f6c3fcc548395 (diff) |
initial commit
git-svn-id: http://miranda-plugins.googlecode.com/svn/trunk@6 e753b5eb-9565-29b2-b5c5-2cc6f99dfbcb
Diffstat (limited to 'userinfoex/ctrl_annivedit.h')
-rw-r--r-- | userinfoex/ctrl_annivedit.h | 104 |
1 files changed, 104 insertions, 0 deletions
diff --git a/userinfoex/ctrl_annivedit.h b/userinfoex/ctrl_annivedit.h new file mode 100644 index 0000000..412afa8 --- /dev/null +++ b/userinfoex/ctrl_annivedit.h @@ -0,0 +1,104 @@ +/*
+UserinfoEx plugin for Miranda IM
+
+Copyright:
+ฉ 2006-2010 DeathAxe, Yasnovidyashii, Merlin, K. Romanov, Kreol
+
+This program is free software; you can redistribute it and/or
+modify it under the terms of the GNU General Public License
+as published by the Free Software Foundation; either version 2
+of the License, or (at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program; if not, write to the Free Software
+Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+
+===============================================================================
+
+File name : $HeadURL: https://userinfoex.googlecode.com/svn/trunk/ctrl_annivedit.h $
+Revision : $Revision: 187 $
+Last change on : $Date: 2010-09-08 16:05:54 +0400 (ะกั, 08 ัะตะฝ 2010) $
+Last change by : $Author: ing.u.horn $
+
+===============================================================================
+*/
+#ifndef _UINFOEX_CTRLANNIVEDIT_H_
+#define _UINFOEX_CTRLANNIVEDIT_H_
+
+#include "ctrl_base.h"
+
+#define MAX_DESC 50
+
+class CAnnivEditCtrl : public CBaseCtrl
+{
+ HWND _hwndDlg; // owning dialog box
+ HWND _hwndDate; // date picker
+ HWND _hBtnMenu; // anniversary dropdown button
+ HWND _hBtnEdit; // edit anniversary button
+ HWND _hBtnAdd; // add anniversary button
+ HWND _hBtnDel; // delete anniversary button
+
+ BOOLEAN _ReminderEnabled;
+
+ MAnnivDate** _pDates;
+ WORD _numDates;
+ WORD _curDate;
+
+ BOOLEAN ItemValid(WORD wIndex) const;
+ BOOLEAN CurrentItemValid() const;
+
+ INT_PTR DBGetBirthDay(HANDLE hContact, LPCSTR pszProto);
+ INT_PTR DBWriteBirthDay(HANDLE hContact);
+
+ INT_PTR DBGetAnniversaries(HANDLE hContact);
+ INT_PTR DBWriteAnniversaries(HANDLE hContact);
+
+ CAnnivEditCtrl(HWND hDlg, WORD idCtrl, LPCSTR pszSetting);
+ ~CAnnivEditCtrl();
+
+public:
+
+ MAnnivDate* Current() { return CurrentItemValid() ? _pDates[_curDate] : NULL; };
+ WORD CurrentIndex() const { return _curDate; };
+ WORD NumDates() const { return _numDates; };
+ BOOLEAN ReminderEnabled() const { return _ReminderEnabled; };
+
+ MAnnivDate* FindDateById(const WORD wId);
+
+ VOID EnableCurrentItem();
+ VOID EnableReminderCtrl(BOOLEAN bEnabled);
+
+ INT_PTR SetCurSel(WORD wIndex);
+
+ INT_PTR AddDate(MAnnivDate &mda);
+ INT_PTR DeleteDate(WORD wIndex);
+
+ VOID SetZodiacAndAge(MAnnivDate *mt);
+
+ // notification handlers
+ VOID OnMenuPopup();
+ VOID OnDateChanged(LPNMDATETIMECHANGE lpChange);
+ VOID OnRemindEditChanged();
+ VOID OnReminderChecked();
+
+ /**
+ * CBaseCtrl interface:
+ **/
+ static FORCEINLINE CAnnivEditCtrl* GetObj(HWND hCtrl)
+ { return (CAnnivEditCtrl*) GetUserData(hCtrl); }
+ static FORCEINLINE CAnnivEditCtrl* GetObj(HWND hDlg, WORD idCtrl)
+ { return GetObj(GetDlgItem(hDlg, idCtrl)); }
+
+ static CBaseCtrl* CreateObj(HWND hDlg, WORD idCtrl, LPCSTR pszSetting);
+
+ virtual VOID Release();
+ virtual BOOL OnInfoChanged(HANDLE hContact, LPCSTR pszProto);
+ virtual VOID OnApply(HANDLE hContact, LPCSTR pszProto);
+};
+
+#endif /* _UINFOEX_CTRLANNIVEDIT_H_ */
\ No newline at end of file |