111 lines
4.7 KiB
C
111 lines
4.7 KiB
C
|
#ifndef __SCHEDUI_H__
|
||
|
#define __SCHEDUI_H__
|
||
|
|
||
|
/////////////////////////////////////////////////////////////////////////////
|
||
|
// External functions
|
||
|
/////////////////////////////////////////////////////////////////////////////
|
||
|
HRESULT GetRunTimes(TASK_TRIGGER & jt, TASK_DATA * ptd, LPSYSTEMTIME pstBracketBegin, LPSYSTEMTIME pstBracketEnd, WORD * pCount, FILETIME * pRunList);
|
||
|
typedef HRESULT (* GRTFUNCTION)(TASK_TRIGGER & jt, TASK_DATA * ptd, LPSYSTEMTIME pstBracketBegin, LPSYSTEMTIME pstBracketEnd, WORD * pCount, FILETIME * pRunList);
|
||
|
|
||
|
/////////////////////////////////////////////////////////////////////////////
|
||
|
// Structs
|
||
|
/////////////////////////////////////////////////////////////////////////////
|
||
|
struct SSUIDLGINFO
|
||
|
{
|
||
|
// Set outside ShowScheduleUIDlgProc
|
||
|
DWORD dwFlags;
|
||
|
|
||
|
// Used inside ShowScheduleUIDlgProc
|
||
|
BOOL bScheduleChanged;
|
||
|
BOOL bScheduleNameChanged;
|
||
|
BOOL bDataChanged;
|
||
|
BOOL bInitializing;
|
||
|
TASK_TRIGGER ttTaskTrigger;
|
||
|
PNOTIFICATIONCOOKIE pGroupCookie;
|
||
|
|
||
|
HINSTANCE hinstURLMON;
|
||
|
GRTFUNCTION pfnGetRunTimes;
|
||
|
|
||
|
DWORD dwRepeatHrsAreMins;
|
||
|
};
|
||
|
|
||
|
struct CTLGRPITEM
|
||
|
{
|
||
|
int idContainer;
|
||
|
int idFirst;
|
||
|
int idLast;
|
||
|
};
|
||
|
|
||
|
/////////////////////////////////////////////////////////////////////////////
|
||
|
// Functions
|
||
|
/////////////////////////////////////////////////////////////////////////////
|
||
|
HRESULT ScheduleSummaryFromGroup(
|
||
|
/* [in] */ PNOTIFICATIONCOOKIE pGroupCookie,
|
||
|
/* [in][out] */ LPTSTR pszSummary,
|
||
|
/* [in] */ UINT cchSummary);
|
||
|
|
||
|
HRESULT ScheduleSummaryFromTaskTrigger(
|
||
|
/* [in] */ TASK_TRIGGER * pTaskTrigger,
|
||
|
/* [in][out] */ LPTSTR pszSummary,
|
||
|
/* [in] */ UINT cchSummary);
|
||
|
|
||
|
#define SSUI_CREATENEWSCHEDULE 0x0001
|
||
|
#define SSUI_EDITSCHEDULE 0x0002
|
||
|
#define SSUI_INFLAGMASK 0x00FF
|
||
|
|
||
|
#define SSUI_SCHEDULECREATED 0x1000
|
||
|
#define SSUI_SCHEDULECHANGED 0x2000
|
||
|
#define SSUI_SCHEDULEREMOVED 0x3000
|
||
|
#define SSUI_SCHEDULELISTUPDATED (SSUI_SCHEDULECREATED | SSUI_SCHEDULECHANGED | SSUI_SCHEDULEREMOVED)
|
||
|
#define SSUI_OUTFLAG_MASK 0xFF00
|
||
|
|
||
|
HRESULT ShowScheduleUI(
|
||
|
/* [in] */ HWND hwndParent,
|
||
|
/* [in][out] */ PNOTIFICATIONCOOKIE pGroupCookie,
|
||
|
/* [in][out] */ DWORD * pdwFlags);
|
||
|
|
||
|
HRESULT CreateScheduleGroup(
|
||
|
/* [in] */ PTASK_TRIGGER pTaskTrigger,
|
||
|
/* [in] */ PTASK_DATA pTaskData,
|
||
|
/* [in] */ PGROUPINFO pGroupInfo,
|
||
|
/* [in] */ GROUPMODE grfGroupMode,
|
||
|
/* [out] */ PNOTIFICATIONCOOKIE pGroupCookie);
|
||
|
|
||
|
HRESULT ModifyScheduleGroup(
|
||
|
/* [in] */ PNOTIFICATIONCOOKIE pGroupCookie,
|
||
|
/* [in] */ PTASK_TRIGGER pTaskTrigger,
|
||
|
/* [in] */ PTASK_DATA pTaskData,
|
||
|
/* [in] */ PGROUPINFO pGroupInfo,
|
||
|
/* [in] */ GROUPMODE grfGroupMode);
|
||
|
|
||
|
HRESULT DeleteScheduleGroup(
|
||
|
/* [in] */ PNOTIFICATIONCOOKIE pGroupCookie);
|
||
|
|
||
|
BOOL ScheduleGroupExists(
|
||
|
/* [in] */ LPCTSTR pszGroupName);
|
||
|
|
||
|
/////////////////////////////////////////////////////////////////////////////
|
||
|
// Schedule group combo box helpers
|
||
|
/////////////////////////////////////////////////////////////////////////////
|
||
|
HRESULT SchedGroupComboBox_Fill(HWND hwndCombo);
|
||
|
HRESULT SchedGroupComboBox_Clear(HWND hwndCombo);
|
||
|
HRESULT SchedGroupComboBox_AddGroup(HWND hwndCombo, LPCTSTR pszGroupName, PNOTIFICATIONCOOKIE pGroupCookie);
|
||
|
HRESULT SchedGroupComboBox_RemoveGroup(HWND hwndCombo, PNOTIFICATIONCOOKIE pGroupCookie);
|
||
|
HRESULT SchedGroupComboBox_SetCurGroup(HWND hwndCombo, PNOTIFICATIONCOOKIE pGroupCookie);
|
||
|
HRESULT SchedGroupComboBox_GetCurGroup(HWND hwndCombo, PNOTIFICATIONCOOKIE pGroupCookie);
|
||
|
|
||
|
//wrappers for SchedGrupComboBox functions (fill and setcurgroup) that need to peek at the OOEBuf
|
||
|
HRESULT FillScheduleList (HWND hwndCombo, POOEBuf pBuf);
|
||
|
HRESULT SetScheduleGroup (HWND hwndCombo, CLSID* pGroupCookie, POOEBuf pBuf);
|
||
|
|
||
|
/////////////////////////////////////////////////////////////////////////////
|
||
|
// Helper macros
|
||
|
/////////////////////////////////////////////////////////////////////////////
|
||
|
#define UpDown_GetRange(hwndCtl) ((DWORD)SendMessage((hwndCtl), UDM_GETRANGE, 0, 0))
|
||
|
#define UpDown_SetRange(hwndCtl, posMin, posMax) ((int)(DWORD)SendMessage((hwndCtl), UDM_SETRANGE, 0, MAKELPARAM((posMax), (posMin))))
|
||
|
#define UpDown_GetBuddy(hwndCtl) ((HWND)SendMessage((hwndCtl), UDM_GETBUDDY, 0, 0))
|
||
|
#define UpDown_SetBuddy(hwndCtl, hwndBuddy) ((HWND)SendMessage((hwndCtl), UDM_SETBUDDY, (WPARAM)(hwndBuddy), 0))
|
||
|
#define UpDown_SetAccel(hwndCtl, nAccels, aAccels) ((BOOL)SendMessage((hwndCtl), UDM_SETACCEL, nAccels, (LPARAM)(aAccels)))
|
||
|
|
||
|
#endif // __SCHEDUI_H__
|