using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows;
using System.Windows.Controls;

namespace InABox.DynamicGrid;

public abstract class DynamicEditorGridLayout : ContentControl
{
    public abstract bool TabStripVisible { get; set; }
    
    public delegate void SelectPageHandler(IDynamicEditorPage page);

    public event SelectPageHandler? OnSelectPage;

    public abstract double TotalWidth { get; }

    public abstract double TotalHeight { get; }

    protected void SelectPage(IDynamicEditorPage page)
    {
        OnSelectPage?.Invoke(page);
    }

    public abstract void LoadPages(IEnumerable<IDynamicEditorPage> pages);
}
