You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
200 lines
7.5 KiB
C++
200 lines
7.5 KiB
C++
// XTPCalendarRemindersDialog.h: interface for the CXTPCalendarDayViewTimeScale class.
|
|
//
|
|
// This file is a part of the XTREME CALENDAR MFC class library.
|
|
// (c)1998-2012 Codejock Software, All Rights Reserved.
|
|
//
|
|
// THIS SOURCE FILE IS THE PROPERTY OF CODEJOCK SOFTWARE AND IS NOT TO BE
|
|
// RE-DISTRIBUTED BY ANY MEANS WHATSOEVER WITHOUT THE EXPRESSED WRITTEN
|
|
// CONSENT OF CODEJOCK SOFTWARE.
|
|
//
|
|
// THIS SOURCE CODE CAN ONLY BE USED UNDER THE TERMS AND CONDITIONS OUTLINED
|
|
// IN THE XTREME TOOLKIT PRO LICENSE AGREEMENT. CODEJOCK SOFTWARE GRANTS TO
|
|
// YOU (ONE SOFTWARE DEVELOPER) THE LIMITED RIGHT TO USE THIS SOFTWARE ON A
|
|
// SINGLE COMPUTER.
|
|
//
|
|
// CONTACT INFORMATION:
|
|
// support@codejock.com
|
|
// http://www.codejock.com
|
|
//
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
|
|
//{{AFX_CODEJOCK_PRIVATE
|
|
#if !defined(_XTP_CALENDAR_REMINDERS_DIALOG_H__)
|
|
#define _XTP_CALENDAR_REMINDERS_DIALOG_H__
|
|
//}}AFX_CODEJOCK_PRIVATE
|
|
|
|
#if _MSC_VER > 1000
|
|
#pragma once
|
|
#endif // _MSC_VER > 1000
|
|
|
|
|
|
class CXTPCalendarRemindersManager;
|
|
class CXTPCalendarControl;
|
|
class CXTPNotifySink;
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
//===========================================================================
|
|
// Summary:
|
|
// This class used to display calendar reminders. This is a default
|
|
// implementation which can be used as an example or as a base class
|
|
// for custom dialogs.
|
|
// It designed to be localized - XTPResourceManager is used to load
|
|
// resources.
|
|
//===========================================================================
|
|
class _XTP_EXT_CLASS CXTPCalendarRemindersDialog : public CDialog
|
|
{
|
|
// Construction
|
|
public:
|
|
//{{AFX_CODEJOCK_PRIVATE
|
|
enum { IDD = XTP_IDD_CALENDAR_REMINDERS};
|
|
//}}AFX_CODEJOCK_PRIVATE
|
|
|
|
//-----------------------------------------------------------------------
|
|
// Summary:
|
|
// Dialog class constructor.
|
|
// Parameters:
|
|
// pParent - [in] Pointer to parent window. Can be NULL.
|
|
// nIDTemplate - [in] Contains the ID number of a dialog-box template resource.
|
|
//-----------------------------------------------------------------------
|
|
CXTPCalendarRemindersDialog(CWnd* pParent = NULL,
|
|
UINT nIDTemplate = CXTPCalendarRemindersDialog::IDD);
|
|
|
|
//-----------------------------------------------------------------------
|
|
// Summary:
|
|
// Default object destructor.
|
|
//-----------------------------------------------------------------------
|
|
virtual ~CXTPCalendarRemindersDialog();
|
|
|
|
//-----------------------------------------------------------------------
|
|
// Summary:
|
|
// Use this method to create a dialog window..
|
|
// Parameters:
|
|
// pParent - [in] Pointer to parent window. Can be NULL.
|
|
// Returns:
|
|
// TRUE if dialog window created successfully, FALSE otherwise.
|
|
//-----------------------------------------------------------------------
|
|
virtual BOOL Create(CWnd* pParent = NULL);
|
|
|
|
//-----------------------------------------------------------------------
|
|
// Summary:
|
|
// Use this method to attach dialog to calendar control (and reminders manager).
|
|
// Parameters:
|
|
// pCalendar - [in] Pointer to control.
|
|
//-----------------------------------------------------------------------
|
|
virtual void SetRemindersManager(CXTPCalendarControl* pCalendar);
|
|
|
|
//-----------------------------------------------------------------------
|
|
// Summary:
|
|
// Use this method to update dialog reminders list from the reminders
|
|
// manager.
|
|
//-----------------------------------------------------------------------
|
|
virtual void UpdateFromManager();
|
|
|
|
//-----------------------------------------------------------------------
|
|
// Summary:
|
|
// Use this method to update dialog reminders list from the calendar
|
|
// control (and reminders manager).
|
|
//-----------------------------------------------------------------------
|
|
virtual void Detach();
|
|
|
|
//-----------------------------------------------------------------------
|
|
// Summary:
|
|
// This method is used to determine is dialog window displayed in
|
|
// the Microsoft Windows taskbar.
|
|
// Returns:
|
|
// TRUE if dialog displayed in the taskbar, FALSE otherwise.
|
|
//-----------------------------------------------------------------------
|
|
virtual BOOL IsShowInTaskBar();
|
|
|
|
//-----------------------------------------------------------------------
|
|
// Summary:
|
|
// This method is used to set is dialog window displayed in
|
|
// the Microsoft Windows taskbar.
|
|
// Parameters:
|
|
// bShow - [in] Set TRUE to show dialog in the taskbar, FALSE otherwise
|
|
//-----------------------------------------------------------------------
|
|
virtual void SetShowInTaskBar(BOOL bShow = TRUE);
|
|
|
|
//-----------------------------------------------------------------------
|
|
// Summary:
|
|
// This method is used to determine is dialog window pop up automatically
|
|
// when new reminders arrived.
|
|
// Returns:
|
|
// TRUE if dialog pop up automatically, FALSE otherwise.
|
|
//-----------------------------------------------------------------------
|
|
BOOL IsAutoPopup() const;
|
|
|
|
//-----------------------------------------------------------------------
|
|
// Summary:
|
|
// This method is used to set is dialog window pop up automatically
|
|
// when new reminders arrived.
|
|
// Parameters:
|
|
// bAutoPopup - [in] Set TRUE to pop up dialog automatically, FALSE otherwise
|
|
//-----------------------------------------------------------------------
|
|
void SetAutoPopup(BOOL bAutoPopup = TRUE);
|
|
|
|
protected:
|
|
CXTPCalendarRemindersManager* m_pRemindersMan; // Store pointer to reminders manager.
|
|
CXTPCalendarReminders m_arActiveReminders; // Store active reminders list.
|
|
|
|
CXTPCalendarControl* m_pCalendar; // Store pointer to calendar control.
|
|
|
|
int m_nNextRefreshIndex; // Store next reminder item index for automatic refresh by timer or -1 to refresh all.
|
|
|
|
CXTPNotifySink* m_pSink;
|
|
|
|
virtual void OnReminders(XTP_NOTIFY_CODE Event, WPARAM wParam , LPARAM lParam);
|
|
|
|
protected:
|
|
//{{AFX_CODEJOCK_PRIVATE
|
|
virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support
|
|
virtual BOOL OnInitDialog();
|
|
virtual void InitSnoozeComboBox();
|
|
|
|
virtual void UpdateControlsBySelection();
|
|
virtual void SelectItem(int nSelItemIndex);
|
|
virtual void UpdateTitle();
|
|
virtual BOOL _RemoveReminderInfo(CXTPCalendarReminder* pReminder);
|
|
|
|
virtual void OnOK();
|
|
afx_msg void OnDismiss();
|
|
afx_msg void OnDismissAll();
|
|
afx_msg void OnOpenItem();
|
|
afx_msg void OnSnooze();
|
|
afx_msg void OnRemindersList_ItemChanged(NMHDR* pNMHDR, LRESULT* pResult);
|
|
afx_msg void OnRemindersList_DblClick(NMHDR* pNMHDR, LRESULT* pResult);
|
|
|
|
afx_msg void OnTimer(UINT_PTR nIDEvent);
|
|
|
|
DECLARE_MESSAGE_MAP()
|
|
//}}AFX_CODEJOCK_PRIVATE
|
|
|
|
protected:
|
|
CListCtrl m_ctrlRemindersList; // Reminders list control.
|
|
CStatic m_ctrlDescription; // Description control.
|
|
|
|
CComboBox m_ctrlSnoozeTimeCB; // Snooze combobox control.
|
|
CButton m_ctrlSnoozeBtn; // Snooze button.
|
|
|
|
CButton m_ctrlDismissBtn; // Dismiss button.
|
|
CButton m_ctrlDismissAllBtn; // Dismiss All button.
|
|
CButton m_ctrlOpenItemBtn; // Open Item button.
|
|
|
|
BOOL m_bShowInTaskBar; // Store ShowInTaskBar property value.
|
|
BOOL m_bAutoPopup; // Store AutoPopup property value.
|
|
};
|
|
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
AFX_INLINE void CXTPCalendarRemindersDialog::Detach() {
|
|
SetRemindersManager(NULL);
|
|
}
|
|
|
|
AFX_INLINE BOOL CXTPCalendarRemindersDialog::IsAutoPopup() const {
|
|
return m_bAutoPopup;
|
|
}
|
|
|
|
AFX_INLINE void CXTPCalendarRemindersDialog::SetAutoPopup(BOOL bAutoPopup) {
|
|
m_bAutoPopup = bAutoPopup;
|
|
}
|
|
|
|
#endif // !defined(_XTP_CALENDAR_REMINDERS_DIALOG_H__)
|