windows-nt/Source/XPSP1/NT/admin/activec/conui/favui.h

187 lines
4.8 KiB
C
Raw Permalink Normal View History

2020-09-26 03:20:57 -05:00
//+-------------------------------------------------------------------------
//
// Microsoft Windows
//
// Copyright (C) Microsoft Corporation, 1999 - 1999
//
// File: favui.h
//
//--------------------------------------------------------------------------
// favui.h - favorites UI header
#ifndef _FAVUI_H_
#define _FAVUI_H_
#include "trobimpl.h"
#include "mmcres.h"
class CAddFavDialog : public CDialog
{
public:
enum { IDD = IDD_ADDFAVORITE };
CAddFavDialog(LPCTSTR szName, CFavorites* pFavorites, CWnd* pParent = NULL);
~CAddFavDialog();
HRESULT CreateFavorite(CFavObject** ppfavRet);
protected:
// method overrides
virtual BOOL OnInitDialog();
virtual void OnOK();
afx_msg void OnAddFolder();
afx_msg void OnChangeName();
IMPLEMENT_CONTEXT_HELP(g_aHelpIDs_IDD_ADDFAVORITE);
DECLARE_MESSAGE_MAP()
CTreeObserverTreeImpl m_FavTree;
CEdit m_FavName;
CFavorites* m_pFavorites;
LONG_PTR m_lAdviseCookie;
HRESULT m_hr;
CFavObject* m_pfavItem;
CString m_strName;
};
class CAddFavGroupDialog : public CDialog
{
public:
enum { IDD = IDD_NEWFAVFOLDER };
CAddFavGroupDialog(CWnd* pParent);
~CAddFavGroupDialog();
LPCTSTR GetGroupName() { return m_strName; }
protected:
// method overrides
virtual BOOL OnInitDialog();
virtual void OnOK();
IMPLEMENT_CONTEXT_HELP(g_aHelpIDs_IDD_NEWFAVFOLDER);
DECLARE_MESSAGE_MAP()
afx_msg void OnChangeName();
CEdit m_GrpName;
TCHAR m_strName[MAX_PATH];
};
class COrganizeFavDialog : public CDialog
{
public:
enum { IDD = IDD_FAVORGANIZE };
COrganizeFavDialog(CFavorites* pFavorites, CWnd* pParent = NULL);
~COrganizeFavDialog();
protected:
// method overrides
virtual BOOL OnInitDialog();
virtual void OnOK();
virtual void OnCancel();
afx_msg void OnAddFolder();
afx_msg void OnDelete();
afx_msg void OnRename();
afx_msg void OnMoveTo();
afx_msg void OnSelChanged(NMHDR* pMNHDR, LRESULT* plResult);
afx_msg void OnBeginLabelEdit(NMHDR* pMNHDR, LRESULT* plResult);
afx_msg void OnEndLabelEdit(NMHDR* pMNHDR, LRESULT* plResult);
IMPLEMENT_CONTEXT_HELP(g_aHelpIDs_IDD_FAVORGANIZE);
DECLARE_MESSAGE_MAP()
CTreeObserverTreeImpl m_FavTree;
CStatic m_FavName;
CStatic m_FavInfo;
CFont m_FontBold;
CFavorites* m_pFavorites;
LONG_PTR m_lAdviseCookie;
BOOL m_bRenameMode;
TREEITEMID m_tidRenameItem;
};
class CFavFolderDialog : public CDialog
{
public:
enum { IDD = IDD_FAVSELECTFOLDER };
CFavFolderDialog(CFavorites* pFavorites, CWnd* pParent);
~CFavFolderDialog();
TREEITEMID GetFolderID() { return m_tidFolder; }
protected:
// method overrides
virtual BOOL OnInitDialog();
virtual void OnOK();
IMPLEMENT_CONTEXT_HELP(g_aHelpIDs_IDD_FAVSELECTFOLDER);
DECLARE_MESSAGE_MAP()
CTreeObserverTreeImpl m_FavTree;
TREEITEMID m_tidFolder;
CFavorites* m_pFavorites;
LONG_PTR m_lAdviseCookie;
};
// Container for CTreeObserverTreeImpl control which makes it a favorites
// tree viewer control. This class attaches the tree control to the
// favorites data source and handles all the necessart notifications from
// the tree control. It sends a MMC message to its parent whenever the tree
// selection changes.
// The primary purpose for this class is to provide a self-contained favorites
// viewer that the node manager can use in a non-MFC dialog.
class CFavTreeCtrl : public CWnd
{
private:
/*
* Make the ctor private so it's only accessible to CreateInstace.
* That way, we can insure that instances of this class can only
* be created in well-known ways (i.e. on the heap). Using this
* technique means that this class can't be used as a base class
* or member of another class, but we can live with those restrictions.
*
* We need to go to this trouble because this class is used (only)
* on the nodemgr side of things, in the Task Wizard. It refers to
* it only by handle (see CAMCView::ScCreateFavoriteObserver), and has
* no access to this class, so it can't delete it. If we make the
* class self-deleting, everything's copasetic.
*/
CFavTreeCtrl() {}
public:
static CFavTreeCtrl* CreateInstance()
{ return (new CFavTreeCtrl); }
SC ScInitialize(CFavorites* pFavorites, DWORD dwStyles);
DECLARE_MESSAGE_MAP()
afx_msg int OnCreate(LPCREATESTRUCT lpCreateStruct);
afx_msg void OnSize(UINT nType, int cx, int cy);
afx_msg void OnSetFocus(CWnd* pOldWnd);
afx_msg void OnSelChanged(NMHDR* pMNHDR, LRESULT* plResult);
virtual void PostNcDestroy();
private:
enum {IDC_FAVTREECTRL = 1000};
CTreeObserverTreeImpl m_FavTree;
};
#endif // _FAVUI_H_