//------------------------------------------------------------------------- // File: EditPropertyDlgs.h // // Author : Kishnan Nedungadi // // created : 3/27/2000 //------------------------------------------------------------------------- class CEditProperty { public: CEditProperty(HWND hWndParent, LPCTSTR pszName, LPCTSTR pszType, VARIANT * pvValue, IWbemServices *pIWbemServices, long lSpecialCaseProperty=0); ~CEditProperty(); long Run(); enum prop_special_cases { psc_rules = 0, psc_rule = 1, psc_ranges = 2, psc_range = 3 }; protected: HWND m_hWnd; VARIANT * pvSrcValue; CComBSTR m_bstrName; CComBSTR m_bstrType; CComPtrm_pIWbemServices; long m_lSpecialCaseProperty; }; //------------------------------------------------------------------------- class CEditPropertyDlg { public: CEditPropertyDlg(LPCTSTR pszName, LPCTSTR pszType, VARIANT * pvValue); ~CEditPropertyDlg(); CComVariant m_vValue; protected: virtual STDMETHODIMP InitializeDialog(); virtual STDMETHODIMP DestroyDialog(); HWND m_hWnd; VARIANT * pvSrcValue; CComBSTR m_bstrName; CComBSTR m_bstrType; }; //------------------------------------------------------------------------- class CEditStringPropertyDlg : public CEditPropertyDlg { public: CEditStringPropertyDlg(LPCTSTR pszName, LPCTSTR pszType, VARIANT * pvValue); ~CEditStringPropertyDlg(); INT_PTR CALLBACK EditStringPropertyDlgProc(HWND hDlg, UINT iMessage, WPARAM wParam, LPARAM lParam); STDMETHODIMP OnOK(); protected: STDMETHODIMP InitializeDialog(); STDMETHODIMP DestroyDialog(); }; //------------------------------------------------------------------------- class CEditNumberPropertyDlg : public CEditPropertyDlg { public: CEditNumberPropertyDlg(LPCTSTR pszName, LPCTSTR pszType, VARIANT * pvValue); ~CEditNumberPropertyDlg(); INT_PTR CALLBACK EditNumberPropertyDlgProc(HWND hDlg, UINT iMessage, WPARAM wParam, LPARAM lParam); STDMETHODIMP OnOK(); protected: STDMETHODIMP InitializeDialog(); STDMETHODIMP DestroyDialog(); }; //------------------------------------------------------------------------- class CEditRulesPropertyDlg : public CEditPropertyDlg { public: CEditRulesPropertyDlg(LPCTSTR pszName, LPCTSTR pszType, VARIANT * pvValue, IWbemServices *pIWbemServices); ~CEditRulesPropertyDlg(); INT_PTR CALLBACK EditRulesPropertyDlgProc(HWND hDlg, UINT iMessage, WPARAM wParam, LPARAM lParam); STDMETHODIMP OnOK(); STDMETHODIMP ClearItems(); STDMETHODIMP PopulateItems(); STDMETHODIMP AddItemToList(IWbemClassObject * pIWbemClassObject, long lIndex=MAX_LIST_ITEMS); STDMETHODIMP OnAdd(); STDMETHODIMP OnEdit(); STDMETHODIMP OnDelete(); protected: STDMETHODIMP InitializeDialog(); STDMETHODIMP DestroyDialog(); HWND m_hwndListView; CComPtrm_pIWbemServices; }; //------------------------------------------------------------------------- class CEditRulePropertyDlg { public: CEditRulePropertyDlg(IWbemClassObject* pIWbemClassObject); ~CEditRulePropertyDlg(); INT_PTR CALLBACK EditRulePropertyDlgProc(HWND hDlg, UINT iMessage, WPARAM wParam, LPARAM lParam); STDMETHODIMP OnOK(); protected: STDMETHODIMP InitializeDialog(); STDMETHODIMP DestroyDialog(); CComPtrm_pIWbemClassObject; HWND m_hWnd; }; //------------------------------------------------------------------------- class CEditRangeParametersPropertyDlg : public CEditPropertyDlg { public: CEditRangeParametersPropertyDlg(LPCTSTR pszName, LPCTSTR pszType, VARIANT * pvValue, IWbemServices *pIWbemServices); ~CEditRangeParametersPropertyDlg(); INT_PTR CALLBACK EditRangeParametersPropertyDlgProc(HWND hDlg, UINT iMessage, WPARAM wParam, LPARAM lParam); STDMETHODIMP OnOK(); STDMETHODIMP ClearItems(); STDMETHODIMP PopulateItems(); STDMETHODIMP AddItemToList(IWbemClassObject * pIWbemClassObject, long lIndex=MAX_LIST_ITEMS); STDMETHODIMP OnAdd(); STDMETHODIMP OnEdit(); STDMETHODIMP OnDelete(); protected: STDMETHODIMP InitializeDialog(); STDMETHODIMP DestroyDialog(); HWND m_hwndListView; CComPtrm_pIWbemServices; }; //------------------------------------------------------------------------- class CEditRangeParameterPropertyDlg { public: CEditRangeParameterPropertyDlg(IWbemClassObject* pIWbemClassObject, IWbemServices* pIWbemServices); ~CEditRangeParameterPropertyDlg(); INT_PTR CALLBACK EditRangeParameterPropertyDlgProc(HWND hDlg, UINT iMessage, WPARAM wParam, LPARAM lParam); STDMETHODIMP OnOK(); STDMETHODIMP ClearItems(); STDMETHODIMP PopulateItems(); STDMETHODIMP AddItemToList(IWbemClassObject * pIWbemClassObject, long lIndex=MAX_LIST_ITEMS); STDMETHODIMP OnAdd(); STDMETHODIMP OnEdit(); STDMETHODIMP OnDelete(); STDMETHODIMP GetSintRangeValues(); STDMETHODIMP SetSintRangeValues(); STDMETHODIMP GetUintRangeValues(); STDMETHODIMP SetUintRangeValues(); STDMETHODIMP GetRealRangeValues(); STDMETHODIMP SetRealRangeValues(); STDMETHODIMP GetSintSetValues(); STDMETHODIMP SetSintSetValues(); STDMETHODIMP GetUintSetValues(); STDMETHODIMP SetUintSetValues(); STDMETHODIMP GetStringSetValues(); STDMETHODIMP SetStringSetValues(); STDMETHODIMP SetRangeParamValues(); enum range_types { rt_sintrange = 0, rt_uintrange = 1, rt_realrange = 2, rt_sintset = 3, rt_uintset = 4, rt_stringset = 5 }; CComVariant m_vValue; protected: STDMETHODIMP InitializeDialog(); STDMETHODIMP DestroyDialog(); STDMETHODIMP ShowControls(); HWND m_hwndListView; HWND m_hWnd; CComPtrm_pIWbemClassObject; CComPtrm_pIWbemServices; }; //-------------------------------------------------------------------------