#ifndef __CDTreeView__H
#define __CDTreeView__H

#include "CDDesc.h"

typedef enum ECDField_Id
{ ECDField_Album      = 0
, ECDField_AlbumAuthor= 1
, ECDField_Title      = 2
, ECDField_Author     = 3
, ECDField_FieldCount = 4
} ECDField_Id;

typedef struct CDField_Info
{
	ECDField_Id  id;
	unsigned int width;
} CDField_Info;

typedef struct CDTreeView CDTreeView;

void CDTreeViews_CDTreeViews(void);
void CDTreeViews_NotCDTreeViews(void);

CDTreeView* throw_New_CDTreeView(CDDescList* pDoc);
int CDTreeView_GetFieldList(const CDTreeView*, const CDField_Info** ppFieldList);
void CDTreeView_Show(CDTreeView* This, bool bFromChoices);
unsigned int CDTreeView_GetFieldAction(const CDTrack* pTrack, ECDField_Id id);

#endif
