// aplCharacteristicGroupTreeItem.h

#include "aplTreeItem.h"



class CaplCharacteristicGroupTreeItem : public CaplTreeItem
{
        //Attributes
public:
	CaplInstance *m_group;

protected:
	aplExtent m_characteristics;

public:
    CaplCharacteristicGroupTreeItem(CTreeCtrl *tree=0, CPSMDoc *doc=0,
		CaplInstance *group=0);
	~CaplCharacteristicGroupTreeItem(){RemoveFromParenContents(m_group);}
    bool GetName(CString &name);
    bool RefreshItem();
	void ShowCmd(long cmd);
	//void ShowToolBarButton(CToolBarCtrl *tb);
	BOOL ShowToolBarButton(CCmdUI* pCmdUI);
    bool TrackPopupMenu(CWnd *wnd, CPoint &point, UINT view_mode= APLICM_NORMALE);
    bool CreateTreeItem(HTREEITEM parent_item);
    //bool Expand(UINT action);
	void GetAccessedInstances(aplExtent &ext);
    
	bool ShowInListCtrl(CListCtrl *list);
	void ShowProperties();
//	void CreateApproval();
//	void CreateCharacteristic(CaplInstance *val=0);

	bool PasteItem(CaplTreeItem *item, CPoint *point);

	void GetGroupAss(aplExtent &ext);
	bool Expand(UINT action);
	bool CheckOut();
	bool CheckIn();
	bool UndoCheckOut();

};

