//================================================================
// 3DPanel header file
//
// AUTHOR:  Gabor Nagy
// DATE:    2023-Aug-16 19:53:33
//
// Copyright (C) 1996-2026 By Gabor Nagy. All rights reserved.
//================================================================
#ifndef _E3D_InputList_h
#define _E3D_InputList_h

#include <Xe/ColumnList.h>

#if defined (__cplusplus) && (!(defined (__CPLUSLIBS)))
extern "C" {
#endif


typedef struct
{
	XeColumnListEntryCore;

	char*  ModelName; XeString  ModelNameXeStr;
	char*  ObjectName;XeString  ObjectNameXeStr;
	EBool  Active;
} E3dInputListEntry;


// Input list GUI for construction history of Models / Objects
//
typedef struct
{
	XeColumnListEntryGUICore;

	XeWidget  ModelNameW, ObjectNameW, ActiveW, ShowW, PickW, RemoveW;
} E3dInputListEntryGUI;


extern void  E3dInputListEntry_Free(XeColumnListEntry* PEntry);

extern void  E3dInputList_FreeContents(XeColumnList* PInputList);
extern void  E3dInputList_Update(XeColumnList* PInputList, const EIndex PNEntries, EPointer PCallbackClientData);


#if defined (__cplusplus) && (!(defined (__CPLUSLIBS)))
}	// Close scope of 'extern "C"' declaration
#endif

#endif	// _E3D_InputList_h
