From f04d64869f3b1de54fb343f28f955584780001b8 Mon Sep 17 00:00:00 2001 From: mataes2007 Date: Sat, 26 Nov 2011 15:41:10 +0000 Subject: Project folders rename part 3 git-svn-id: http://miranda-plugins.googlecode.com/svn/trunk@215 e753b5eb-9565-29b2-b5c5-2cc6f99dfbcb --- UserInfoEx/ctrl_annivedit.h | 104 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 104 insertions(+) create mode 100644 UserInfoEx/ctrl_annivedit.h (limited to 'UserInfoEx/ctrl_annivedit.h') 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 -- cgit v1.2.3