164 lines
3.9 KiB
C
164 lines
3.9 KiB
C
|
/*++
|
||
|
|
||
|
Copyright (c) 1997 Microsoft Corporation
|
||
|
|
||
|
Module Name:
|
||
|
|
||
|
DfsShPrp.h
|
||
|
|
||
|
Abstract:
|
||
|
|
||
|
This module contains the declaration for CDfsShellExtProp
|
||
|
This is used to implement the property page for Shell Extension.
|
||
|
|
||
|
Author:
|
||
|
|
||
|
Constancio Fernandes (ferns@qspl.stpp.soft.net) 12-Jan-1998
|
||
|
|
||
|
Environment:
|
||
|
|
||
|
NT Only.
|
||
|
|
||
|
Revision History:
|
||
|
|
||
|
--*/
|
||
|
|
||
|
#ifndef _DFS_EXT_PROP_SHEET_H_
|
||
|
#define _DFS_EXT_PROP_SHEET_H_
|
||
|
|
||
|
#include "dfsenums.h"
|
||
|
#include "qwizpage.h" // The base class that implements the common functionality
|
||
|
// of property and wizard pages
|
||
|
// ----------------------------------------------------------------------------
|
||
|
// CDfsShellExtProp: Property Sheet Page for Shell Extension
|
||
|
|
||
|
class CDfsShellExtProp : public CQWizardPageImpl<CDfsShellExtProp>
|
||
|
{
|
||
|
public:
|
||
|
enum { IDD = IDD_DFS_SHELL_PROP };
|
||
|
|
||
|
BEGIN_MSG_MAP(CDfsShellExtProp)
|
||
|
MESSAGE_HANDLER(WM_INITDIALOG, OnInitDialog)
|
||
|
MESSAGE_HANDLER(WM_PARENT_NODE_CLOSING, OnParentClosing)
|
||
|
MESSAGE_HANDLER(WM_HELP, OnCtxHelp)
|
||
|
MESSAGE_HANDLER(WM_CONTEXTMENU, OnCtxMenuHelp)
|
||
|
MESSAGE_HANDLER(WM_NOTIFY, OnNotify)
|
||
|
COMMAND_ID_HANDLER(IDC_FLUSH_PKT, OnFlushPKT)
|
||
|
COMMAND_ID_HANDLER(IDC_CHECK_STATUS, OnCheckStatus)
|
||
|
COMMAND_ID_HANDLER(IDC_SET_ACTIVE, OnSetActiveReferral)
|
||
|
CHAIN_MSG_MAP(CQWizardPageImpl<CDfsShellExtProp>)
|
||
|
END_MSG_MAP()
|
||
|
|
||
|
CDfsShellExtProp();
|
||
|
~CDfsShellExtProp();
|
||
|
|
||
|
LRESULT OnInitDialog(
|
||
|
IN UINT i_uMsg,
|
||
|
IN WPARAM i_wParam,
|
||
|
IN LPARAM i_lParam,
|
||
|
IN OUT BOOL& io_bHandled
|
||
|
);
|
||
|
|
||
|
// Used by the node to tell the propery page to close.
|
||
|
LRESULT OnParentClosing(
|
||
|
IN UINT i_uMsg,
|
||
|
IN WPARAM i_wParam,
|
||
|
IN LPARAM i_lParam,
|
||
|
IN OUT BOOL& io_bHandled
|
||
|
);
|
||
|
|
||
|
LRESULT OnCtxHelp(
|
||
|
IN UINT i_uMsg,
|
||
|
IN WPARAM i_wParam,
|
||
|
IN LPARAM i_lParam,
|
||
|
IN OUT BOOL& io_bHandled
|
||
|
);
|
||
|
|
||
|
LRESULT OnCtxMenuHelp(
|
||
|
IN UINT i_uMsg,
|
||
|
IN WPARAM i_wParam,
|
||
|
IN LPARAM i_lParam,
|
||
|
IN OUT BOOL& io_bHandled
|
||
|
);
|
||
|
|
||
|
// Called to pass notifications.
|
||
|
LRESULT OnNotify(
|
||
|
IN UINT i_uMsg,
|
||
|
IN WPARAM i_wParam,
|
||
|
IN LPARAM i_lParam,
|
||
|
IN OUT BOOL& io_bHandled
|
||
|
);
|
||
|
|
||
|
LRESULT OnFlushPKT(
|
||
|
IN WORD i_wNotifyCode,
|
||
|
IN WORD i_wID,
|
||
|
IN HWND i_hWndCtl,
|
||
|
IN OUT BOOL& io_bHandled
|
||
|
);
|
||
|
|
||
|
LRESULT OnCheckStatus(
|
||
|
IN WORD i_wNotifyCode,
|
||
|
IN WORD i_wID,
|
||
|
IN HWND i_hWndCtl,
|
||
|
IN OUT BOOL& io_bHandled
|
||
|
);
|
||
|
|
||
|
LRESULT OnSetActiveReferral(
|
||
|
IN WORD i_wNotifyCode,
|
||
|
IN WORD i_wID,
|
||
|
IN HWND i_hWndCtl,
|
||
|
IN OUT BOOL& io_bHandled
|
||
|
);
|
||
|
|
||
|
// Getters and Setters
|
||
|
HRESULT put_DfsShellPtr(
|
||
|
IN IShellPropSheetExt* i_pDfsShell
|
||
|
);
|
||
|
|
||
|
HRESULT put_DirPaths(
|
||
|
IN BSTR i_bstrDirPath,
|
||
|
IN BSTR i_bstrEntryPath
|
||
|
);
|
||
|
|
||
|
LRESULT OnApply();
|
||
|
|
||
|
// Called when the property page gets deleted.
|
||
|
void Delete();
|
||
|
|
||
|
// Called when user double clicks an entry to make that alternate active.
|
||
|
BOOL SetActive();
|
||
|
|
||
|
// helper functions
|
||
|
|
||
|
private:
|
||
|
HRESULT _SetImageList();
|
||
|
void _SetAlternateList();
|
||
|
void _UpdateTextForReplicaState(
|
||
|
IN HWND hwndControl,
|
||
|
IN int nIndex,
|
||
|
IN enum SHL_DFS_REPLICA_STATE ReplicaState
|
||
|
);
|
||
|
|
||
|
private:
|
||
|
CComBSTR m_bstrDirPath;
|
||
|
CComBSTR m_bstrEntryPath;
|
||
|
IShellPropSheetExt* m_pIShProp;
|
||
|
CComBSTR m_bstrAlternateListPath,
|
||
|
m_bstrAlternateListActive,
|
||
|
m_bstrAlternateListStatus,
|
||
|
m_bstrAlternateListYes,
|
||
|
m_bstrAlternateListNo,
|
||
|
m_bstrAlternateListOK,
|
||
|
m_bstrAlternateListUnreachable;
|
||
|
|
||
|
};
|
||
|
|
||
|
HRESULT LoadStringFromResource(
|
||
|
IN const UINT i_uResourceID,
|
||
|
OUT BSTR* o_pbstrReadValue
|
||
|
);
|
||
|
|
||
|
HRESULT DisplayMessageBoxForHR(HRESULT i_hr);
|
||
|
|
||
|
#endif // _DFS_EXT_PROP_SHEET_H_
|