using System;
using System.Collections.Concurrent;
using System.Collections.Generic;
using System.Windows;
using InABox.Core;

namespace InABox.DynamicGrid
{
    public interface IDynamicEditorPage
    {
        DynamicEditorGrid EditorGrid { get; set; }

        bool Ready { get; set; }

        void Load(object item, Func<Type, CoreTable>? PageDataHandler);

        void BeforeSave(object item);

        void AfterSave(object item);

        Size MinimumSize();

        string Caption();

        int Order();
    }

//public class DynamicEditorPage 
//{
//	public String Name { get; set; }
//	public Control Page { get; set; }

//	public DynamicEditorPage(String name, Control page) : base()
//	{
//		Name = name;
//		Page = page;
//	}

//}

    public class DynamicEditorPages : List<IDynamicEditorPage>
    {
        public DynamicEditorPages() : base()
        {
            
        }

        public DynamicEditorPages(IEnumerable<IDynamicEditorPage> pages) : this()
        {
            foreach (var page in pages)
                Add(page);
        }
        
    }
}