// Copyright (c) Microsoft Corporation.
// Licensed under the MIT license.

import "ColorSchemeViewModel.idl";

namespace Microsoft.Terminal.Settings.Editor
{
    enum ColorSchemesSubPage
    {
        Base = 0,
        EditColorScheme = 1
    };

    runtimeclass ColorSchemesPageViewModel : Windows.UI.Xaml.Data.INotifyPropertyChanged
    {
        ColorSchemesPageViewModel(Microsoft.Terminal.Settings.Model.CascadiaSettings settings);
        void UpdateSettings(Microsoft.Terminal.Settings.Model.CascadiaSettings settings);

        ColorSchemeViewModel RequestAddNew();
        Boolean RequestRenameCurrentScheme(String newName);
        void RequestDeleteCurrentScheme();
        void RequestDuplicateCurrentScheme();
        void RequestEditSelectedScheme();
        void RequestSetSelectedSchemeAsDefault();

        ColorSchemeViewModel CurrentScheme;
        Boolean HasCurrentScheme { get; };
        Boolean CanDeleteCurrentScheme { get; };
        ColorSchemesSubPage CurrentPage;
        Windows.Foundation.Collections.IObservableVector<ColorSchemeViewModel> AllColorSchemes { get; };

        void SchemeListItemClicked(IInspectable sender, Windows.UI.Xaml.Controls.ItemClickEventArgs args);
    }
}
