text: 
  #pragma once
  
  #include "GV_PropertyGridCtrl.h"
  #include "GV_FunctionGridCtrl.h"
  
  class CPropertiesToolBar : public CMFCToolBar
  {
  public:
  	virtual void OnUpdateCmdUI(CFrameWnd* /*pTarget*/, BOOL bDisableIfNoHndler)
  	{
  		CMFCToolBar::OnUpdateCmdUI((CFrameWnd*) GetOwner(), bDisableIfNoHndler);
  	}
  
  	virtual BOOL AllowShowOnList() const { return FALSE; }
  };
  
  class CPropertiesWnd : public CDockablePane
  {
  // Construction
  public:
  	CPropertiesWnd();
  
  	void AdjustLayout();
  	friend class CMainFrame;
  // Attributes
  public:
  	void SetVSDotNetLook(BOOL bSet)
  	{
  		m_wndPropList.SetVSDotNetLook(bSet);
  		m_wndPropList.SetGroupNameFullWidth(bSet);
  		m_wndFuncList.SetVSDotNetLook(bSet);
  		m_wndFuncList.SetGroupNameFullWidth(bSet);
  	}
  
  protected:
  	CFont m_fntPropList;
  	CComboBox m_wndObjectCombo;
  	CPropertiesToolBar m_wndToolBar;
  	GV_PropertyGridCtrl m_wndPropList;
  	GV_FunctionGridCtrl m_wndFuncList;
  
  // Implementation
  public:
  	virtual ~CPropertiesWnd();
  	void InitPropList	 ( gv::gv_object * object);
  	void InitFunctionList( gv::gv_object * object);
  
  protected:
  	afx_msg int OnCreate(LPCREATESTRUCT lpCreateStruct);
  	afx_msg void OnSize(UINT nType, int cx, int cy);
  	afx_msg void OnExpandAllProperties();
  	afx_msg void OnUpdateExpandAllProperties(CCmdUI* pCmdUI);
  	afx_msg void OnSortProperties();
  	afx_msg void OnUpdateSortProperties(CCmdUI* pCmdUI);
  	afx_msg void OnProperties1();
  	afx_msg void OnUpdateProperties1(CCmdUI* pCmdUI);
  	afx_msg void OnProperties2();
  	afx_msg void OnUpdateProperties2(CCmdUI* pCmdUI);
  	afx_msg void OnSetFocus(CWnd* pOldWnd);
  	afx_msg void OnSettingChange(UINT uFlags, LPCTSTR lpszSection);
  
  	DECLARE_MESSAGE_MAP()
  
  	
  	void SetPropListFont();
  protected:
  	gv::gv_object	*		m_selected_object;
  	gv::gv_object_location	m_object_location; 
  };
  
  