|
|
/////////////////////////////////////////////////////////////////////////////
// Copyright (C) 1993-1996 Microsoft Corporation. All Rights Reserved.
//
// MODULE: Order.h
//
// PURPOSE: Header file for the order articles dialog
//
#define IDC_MESSAGE_LIST 1001
#define IDC_MOVE_UP 1002
#define IDC_MOVE_DOWN 1003
#define IDC_DOWNLOAD_AVI 2001
#define IDC_GENERAL_TEXT 2002
#define IDC_SPECIFIC_TEXT 2003
#define IDC_DOWNLOAD_PROG 2004
/////////////////////////////////////////////////////////////////////////////
// Class CCombineAndDecode
//
class CCombineAndDecode : public IStoreCallback, public ITimeoutCallback { public: /////////////////////////////////////////////////////////////////////////
// Construction and Initialization
//
CCombineAndDecode(); ~CCombineAndDecode();
HRESULT Start(HWND hwndParent, IMessageTable *pTable, ROWINDEX *rgRows, DWORD cRows, FOLDERID idFolder);
/////////////////////////////////////////////////////////////////////////
// IUnknown
//
STDMETHODIMP QueryInterface(THIS_ REFIID riid, LPVOID *ppvObj); STDMETHOD_(ULONG, AddRef)(THIS); STDMETHOD_(ULONG, Release)(THIS); /////////////////////////////////////////////////////////////////////////
// IStoreCallback interface
//
STDMETHODIMP OnBegin(STOREOPERATIONTYPE tyOperation, STOREOPERATIONINFO *pOpInfo, IOperationCancel *pCancel); STDMETHODIMP OnProgress(STOREOPERATIONTYPE tyOperation, DWORD dwCurrent, DWORD dwMax, LPCSTR pszStatus); STDMETHODIMP OnTimeout(LPINETSERVER pServer, LPDWORD pdwTimeout, IXPTYPE ixpServerType); STDMETHODIMP CanConnect(LPCSTR pszAccountId, DWORD dwFlags); STDMETHODIMP OnLogonPrompt(LPINETSERVER pServer, IXPTYPE ixpServerType); STDMETHODIMP OnComplete(STOREOPERATIONTYPE tyOperation, HRESULT hrComplete, LPSTOREOPERATIONINFO pOpInfo, LPSTOREERROR pErrorInfo); STDMETHODIMP OnPrompt(HRESULT hrError, LPCTSTR pszText, LPCTSTR pszCaption, UINT uType, INT *piUserResponse); STDMETHODIMP GetParentWindow(DWORD dwReserved, HWND *phwndParent);
/////////////////////////////////////////////////////////////////////////
// ITimeoutCallback
//
STDMETHODIMP OnTimeoutResponse(TIMEOUTRESPONSE eResponse);
/////////////////////////////////////////////////////////////////////////
// Order dialog message handling stuff
//
public: static INT_PTR CALLBACK OrderDlgProc(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam);
private: INT_PTR CALLBACK _OrderDlgProc(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam);
BOOL _Order_OnInitDialog(HWND hwnd, HWND hwndFocus, LPARAM lParam); void _Order_OnCommand(HWND hwnd, int id, HWND hwndCtl, UINT codeNotify); void _Order_OnClose(HWND hwnd); LRESULT _Order_OnDragList(HWND hwnd, int idCtl, LPDRAGLISTINFO lpdli);
/*
void _Order_OnGetMinMaxInfo(HWND hwnd, LPMINMAXINFO lpmmi); void _Order_OnSize(HWND hwnd, UINT state, int cx, int cy); void _Order_OnPaint(HWND hwnd); */
/////////////////////////////////////////////////////////////////////////
// Order dialog message handling stuff
//
public: static INT_PTR CALLBACK CombineDlgProc(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam);
private: INT_PTR CALLBACK _CombineDlgProc(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam);
BOOL _Combine_OnInitDialog(HWND hwnd, HWND hwndFocus, LPARAM lParam); void _Combine_OnCommand(HWND hwnd, int id, HWND hwndCtl, UINT codeNotify); void _Combine_OnDestroy(HWND hwnd);
/////////////////////////////////////////////////////////////////////////
// Utility Functions
//
void _Combine_GetNextArticle(HWND hwnd); void _Combine_OnMsgAvail(HWND hwnd); void _Combine_OpenNote(HWND hwnd);
/////////////////////////////////////////////////////////////////////////
// Member Data
//
private: ULONG m_cRef;
// Groovy Window Handles
HWND m_hwndParent;
// Interface pointers and all that
IMessageTable *m_pTable; ROWINDEX *m_rgRows; DWORD m_cRows; FOLDERID m_idFolder;
// Order dialog state variables
LPTSTR m_pszBuffer; LPARAM m_lpData; UINT m_iItemToMove;
// Combine dialog state variables
DWORD m_cLinesTotal; DWORD m_cCurrentLine; DWORD m_cPrevLine; DWORD m_dwCurrentArt; IMimeMessageParts *m_pMsgParts; IOperationCancel *m_pCancel; STOREOPERATIONTYPE m_type; HTIMEOUT m_hTimeout; HWND m_hwndDlg; };
#if 0
typedef struct tagORDERPARAMS { // This stuff get's passed in
PINETMSGHDR *rgpMsgs; DWORD cMsgs; HWND hwndOwner; CNNTPServer *pNNTPServer; CGroup *pGroup; TCHAR szGroup[256]; // This stuff is private data for the dialog
DWORD cLinesTotal; DWORD cCurrentLine; DWORD cPrevLine; DWORD dwCurrentArt; LPMIMEMESSAGEPARTS pMsgParts; } ORDERPARAMS, *PORDERPARAMS;
BOOL CALLBACK OrderMsgsDlg(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam); BOOL CALLBACK CombineAndDecodeProg(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam); #endif
|