#pragma once

//===========================================================================//
// File:	 Tree.h															 //
// Project:  gosGml				                                         //
// Contents: 																 //
//---------------------------------------------------------------------------//
// Date      Who    Modification                                             //
// 4/10/00   JR     Created													 //
//---------------------------------------------------------------------------//
// Copyright (C) 2000 Microsoft Corp.						                 //
// All Rights reserved worldwide                                             //
// This unpublished sourcecode is PROPRIETARY and CONFIDENTIAL               //
//===========================================================================//

class gosGmlTreeNode
{
	char * m_tagName;
	char * m_fileName;
	int m_linesFromTop;
	gosGmlTreeNode * m_pParent;
	gosGmlTreeNode * m_pNextChild;
	gosGmlTreeNode * m_pPrevChild;
	gosGmlTreeNode * m_pChildren;
	bool m_expanded;
public:
	gosGmlTreeNode(const char * tagName, const char * fileName);
	~gosGmlTreeNode();
	void AddChild(gosGmlTreeNode * tnp);
	gosGmlTreeNode * GetNext();
	gosGmlTreeNode * GetChildList();
	gosGmlTreeNode * GetParent();
	void SetLine(int v);
	int GetLine();
	gosGmlTreeNode * Lookup(int value);
	const char * TagName();
	const char * GetFile();
	void ToggleExpanded();
	bool IsExpanded();
};


