XTPCalendarRemindersDialog.h
上传用户:szled88
上传日期:2015-04-09
资源大小:43957k
文件大小:8k
源码类别:

对话框与窗口

开发平台:

Visual C++

  1. //XTPCalendarRemindersDialog.h: interface for the CXTPCalendarDayViewTimeScale class.
  2. //
  3. // This file is a part of the XTREME CALENDAR MFC class library.
  4. // (c)1998-2008 Codejock Software, All Rights Reserved.
  5. //
  6. // THIS SOURCE FILE IS THE PROPERTY OF CODEJOCK SOFTWARE AND IS NOT TO BE
  7. // RE-DISTRIBUTED BY ANY MEANS WHATSOEVER WITHOUT THE EXPRESSED WRITTEN
  8. // CONSENT OF CODEJOCK SOFTWARE.
  9. //
  10. // THIS SOURCE CODE CAN ONLY BE USED UNDER THE TERMS AND CONDITIONS OUTLINED
  11. // IN THE XTREME TOOLKIT PRO LICENSE AGREEMENT. CODEJOCK SOFTWARE GRANTS TO
  12. // YOU (ONE SOFTWARE DEVELOPER) THE LIMITED RIGHT TO USE THIS SOFTWARE ON A
  13. // SINGLE COMPUTER.
  14. //
  15. // CONTACT INFORMATION:
  16. // support@codejock.com
  17. // http://www.codejock.com
  18. //
  19. /////////////////////////////////////////////////////////////////////////////
  20. //{{AFX_CODEJOCK_PRIVATE
  21. #if !defined(_XTP_CALENDAR_REMINDERS_DIALOG_H__)
  22. #define _XTP_CALENDAR_REMINDERS_DIALOG_H__
  23. //}}AFX_CODEJOCK_PRIVATE
  24. #if _MSC_VER > 1000
  25. #pragma once
  26. #endif // _MSC_VER > 1000
  27. #include "Resource.h"
  28. #include "XTPCalendarRemindersManager.h"
  29. class CXTPCalendarRemindersManager;
  30. class CXTPCalendarControl;
  31. /////////////////////////////////////////////////////////////////////////////
  32. //===========================================================================
  33. // Summary:
  34. //      This class used to display calendar reminders. This is a default
  35. //      implementation which can be used as an example or as a base class
  36. //      for custom dialogs.
  37. //      It designed to be localized - XTPResourceManager is used to load
  38. //      resources.
  39. //===========================================================================
  40. class _XTP_EXT_CLASS CXTPCalendarRemindersDialog : public CDialog
  41. {
  42. // Construction
  43. public:
  44. //{{AFX_CODEJOCK_PRIVATE
  45. enum { IDD = XTP_IDD_CALENDAR_REMINDERS};
  46. //}}AFX_CODEJOCK_PRIVATE
  47. //-----------------------------------------------------------------------
  48. // Summary:
  49. //     Dialog class constructor.
  50. // Parameters:
  51. //     pParent       - [in] Pointer to parent window. Can be NULL.
  52. //     nIDTemplate   - [in] Contains the ID number of a dialog-box template resource.
  53. //-----------------------------------------------------------------------
  54. CXTPCalendarRemindersDialog(CWnd* pParent = NULL, UINT nIDTemplate = CXTPCalendarRemindersDialog::IDD);   // standard constructor
  55. //-----------------------------------------------------------------------
  56. // Summary:
  57. //     Default object destructor.
  58. //-----------------------------------------------------------------------
  59. virtual ~CXTPCalendarRemindersDialog();
  60. //-----------------------------------------------------------------------
  61. // Summary:
  62. //     Use this method to create a dialog window..
  63. // Parameters:
  64. //     pParent  - [in] Pointer to parent window. Can be NULL.
  65. // Returns:
  66. //     TRUE if dialog window created successfully, FALSE otherwise.
  67. //-----------------------------------------------------------------------
  68. virtual BOOL Create(CWnd* pParent = NULL);
  69. //-----------------------------------------------------------------------
  70. // Summary:
  71. //     Use this method to attach dialog to calendar control (and reminders manager).
  72. // Parameters:
  73. //     pCalendar    - [in] Pointer to control.
  74. //-----------------------------------------------------------------------
  75. virtual void SetRemindersManager(CXTPCalendarControl* pCalendar);
  76. //-----------------------------------------------------------------------
  77. // Summary:
  78. //      Use this method to update dialog reminders list from the reminders
  79. //      manager.
  80. //-----------------------------------------------------------------------
  81. virtual void UpdateFromManager();
  82. //-----------------------------------------------------------------------
  83. // Summary:
  84. //      Use this method to update dialog reminders list from the calendar
  85. //      control (and reminders manager).
  86. //-----------------------------------------------------------------------
  87. virtual void Detach();
  88. //-----------------------------------------------------------------------
  89. // Summary:
  90. //     This method is used to determine is dialog window displayed in
  91. //     the Microsoft Windows taskbar.
  92. // Returns:
  93. //     TRUE if dialog displayed in the taskbar, FALSE otherwise.
  94. //-----------------------------------------------------------------------
  95. virtual BOOL IsShowInTaskBar();
  96. //-----------------------------------------------------------------------
  97. // Summary:
  98. //     This method is used to set is dialog window displayed in
  99. //     the Microsoft Windows taskbar.
  100. // Parameters:
  101. //     bShow    - [in] Set TRUE to show dialog in the taskbar, FALSE otherwise
  102. //-----------------------------------------------------------------------
  103. virtual void SetShowInTaskBar(BOOL bShow = TRUE);
  104. //-----------------------------------------------------------------------
  105. // Summary:
  106. //     This method is used to determine is dialog window pop up automatically
  107. //     when new reminders arrived.
  108. // Returns:
  109. //     TRUE if dialog pop up automatically, FALSE otherwise.
  110. //-----------------------------------------------------------------------
  111. virtual BOOL IsAutoPopup();
  112. //-----------------------------------------------------------------------
  113. // Summary:
  114. //     This method is used to set is dialog window pop up automatically
  115. //     when new reminders arrived.
  116. // Parameters:
  117. //     bAutoPopup - [in] Set TRUE to pop up  dialog automatically, FALSE otherwise
  118. //-----------------------------------------------------------------------
  119. virtual void SetAutoPopup(BOOL bAutoPopup = TRUE);
  120. protected:
  121. CXTPCalendarRemindersManager*   m_pRemindersMan;        // Store pointer to reminders manager.
  122. CXTPCalendarReminders           m_arActiveReminders;    // Store active reminders list.
  123. CXTPCalendarControl* m_pCalendar;   // Store pointer to calendar control.
  124. int m_nNextRefreshIndex;    // Store next reminder item index for automatic refresh by timer or -1 to refresh all.
  125. //{{AFX_CODEJOCK_PRIVATE
  126. DECLARE_XTP_SINK(CXTPCalendarRemindersDialog, m_Sink)
  127. virtual void OnReminders(XTP_NOTIFY_CODE Event, WPARAM wParam , LPARAM lParam);
  128. //}}AFX_CODEJOCK_PRIVATE
  129. protected:
  130. //{{AFX_CODEJOCK_PRIVATE
  131. virtual void DoDataExchange(CDataExchange* pDX);    // DDX/DDV support
  132. virtual BOOL OnInitDialog();
  133. virtual void InitSnoozeComboBox();
  134. virtual void UpdateControlsBySelection();
  135. virtual void SelectItem(int nSelItemIndex);
  136. virtual void UpdateTitle();
  137. virtual BOOL _RemoveReminderInfo(CXTPCalendarReminder* pReminder);
  138. virtual void OnOK();
  139. afx_msg void OnDismiss();
  140. afx_msg void OnDismissAll();
  141. afx_msg void OnOpenItem();
  142. afx_msg void OnSnooze();
  143. afx_msg void OnRemindersList_ItemChanged(NMHDR* pNMHDR, LRESULT* pResult);
  144. afx_msg void OnRemindersList_DblClick(NMHDR* pNMHDR, LRESULT* pResult);
  145. afx_msg void OnTimer(UINT_PTR nIDEvent);
  146. DECLARE_MESSAGE_MAP()
  147. //}}AFX_CODEJOCK_PRIVATE
  148. protected:
  149. CListCtrl   m_ctrlRemindersList;    // Reminders list control.
  150. CStatic     m_ctrlDescription;      // Description control.
  151. CComboBox   m_ctrlSnoozeTimeCB; // Snooze combobox control.
  152. CButton     m_ctrlSnoozeBtn;    // Snooze button.
  153. CButton m_ctrlDismissBtn;       // Dismiss button.
  154. CButton m_ctrlDismissAllBtn;    // Dismiss All button.
  155. CButton m_ctrlOpenItemBtn;      // Open Item button.
  156. BOOL m_bShowInTaskBar;  // Store ShowInTaskBar property value.
  157. BOOL m_bAutoPopup;      // Store AutoPopup property value.
  158. };
  159. /////////////////////////////////////////////////////////////////////////////
  160. AFX_INLINE void CXTPCalendarRemindersDialog::Detach() {
  161. SetRemindersManager(NULL);
  162. }
  163. AFX_INLINE BOOL CXTPCalendarRemindersDialog::IsAutoPopup() {
  164. return m_bAutoPopup;
  165. }
  166. AFX_INLINE void CXTPCalendarRemindersDialog::SetAutoPopup(BOOL bAutoPopup) {
  167. m_bAutoPopup = bAutoPopup;
  168. }
  169. #endif // !defined(_XTP_CALENDAR_REMINDERS_DIALOG_H__)