Leaked source code of windows server 2003
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

80 lines
2.4 KiB

  1. /******************************************************************************
  2. Header File: Profile Property Sheet.H
  3. This defines the classes used to implement the profile management property
  4. sheet as defined in the ICM 2.0 shell extension functional specification.
  5. This class supplies one of two basic dialogs, depending upon whether or not
  6. the profile has already been installed. We use the C++ profile class to
  7. hide any details of that knowledge from this code.
  8. All structures needed by any of the individual pages or resulting dialogs
  9. are kept here. This allows us to easily handle the final Install/Don't
  10. Install/Associate/Don't Associate decisions.
  11. Copyright (c) 1996 by Microsoft Corporation
  12. A Pretty Penny Enterprises Production
  13. Change History:
  14. 11-01-96 a-robkj@microsoft.com- original version
  15. ******************************************************************************/
  16. #if !defined(PROFILE_PROPSHEET)
  17. #define PROFILE_PROPSHEET
  18. #include "Profile.H"
  19. #include "Dialog.H"
  20. // class CProfilePropertySheet - cpps
  21. class CProfilePropertySheet : public CDialog {
  22. CProfile& m_cpTarget;
  23. CDialog *m_pcdPage[2];
  24. RECT m_rcTab; // Client area of tab Control
  25. BOOL m_bDelete;
  26. CUintArray m_cuaAdd; // Device associatins to be added
  27. CUintArray m_cuaDelete; // Device associations to zap
  28. CUintArray m_cuaAssociate; // Tentative list of associated devices
  29. void ConstructAssociations();
  30. public:
  31. CProfilePropertySheet(HINSTANCE hiWhere, CProfile& cpTarget);
  32. ~CProfilePropertySheet();
  33. HWND Window() const { return m_hwnd; }
  34. HINSTANCE Instance() const { return m_hiWhere; }
  35. CProfile& Profile() { return m_cpTarget; }
  36. BOOL DeleteIsOK() const { return m_bDelete; }
  37. unsigned AssociationCount() const {
  38. return m_cuaAssociate.Count();
  39. }
  40. unsigned Association(unsigned u) { return m_cuaAssociate[u]; }
  41. LPCTSTR DisplayName(unsigned u) {
  42. return m_cpTarget.DisplayName(m_cuaAssociate[u]);
  43. }
  44. void DeleteOnUninstall(BOOL bOn) {
  45. m_bDelete = bOn;
  46. }
  47. void Associate(unsigned u);
  48. void Dissociate(unsigned u);
  49. virtual BOOL OnInit();
  50. virtual BOOL OnNotify(int idCtrl, LPNMHDR pnmh);
  51. virtual BOOL OnCommand(WORD wNotifyCode, WORD wid, HWND hwndControl);
  52. };
  53. #endif