using CopaData.FileInspector.GUI.Models;
namespace CopaData.FileInspector.GUI.TilingPanels.Models;
///
/// Base data class for content that is displayed for a 's tabs or stand-alone pop-out windows.
/// Anything that you can physically see from the root is a .
/// Serving a header text, pin state and button configuration properties.
///
public abstract class TilingFrame : Observable
{
///
private string _headerText = string.Empty;
///
/// The title of the tab that will be displayed inside the tab button.
///
public string HeaderText
{
get => _headerText;
set => SetField(ref _headerText, value);
}
///
private FrameButtons _frameButtons = FrameButtons.Default;
///
/// The buttons to be displayed next to the header.
///
public FrameButtons FrameButtons
{
get => _frameButtons;
set => SetField(ref _frameButtons, value);
}
///
private bool _isPinned = false;
///
/// The title of the tab that will be displayed inside the tab button.
///
public bool IsPinned
{
get => _isPinned;
set => SetField(ref _isPinned, value);
}
///
private TilingHost? _parent;
///
/// The parent hosting this frame.
///
public TilingHost? Parent
{
get => _parent;
set => SetField(ref _parent, value);
}
public virtual object? GetOptions() => null;
public virtual void SetOptions(object? options) { }
public virtual object? GetHelp() => null;
}