NetDocsForLLM/Models/ExportSettings.cs

75 lines
1.9 KiB
C#

using CommunityToolkit.Mvvm.ComponentModel;
namespace NetDocsForLLM.Models
{
public enum DetailLevel
{
Basic,
Standard,
Full
}
public enum OutputFormat
{
Json,
Xml,
Yaml
}
public class ExportSettings : ObservableObject
{
private bool _includePrivateMembers;
private bool _includeInheritedMembers;
private bool _includeExamples;
private bool _detailedXmlComments;
private DetailLevel _detailLevel;
private OutputFormat _outputFormat;
public bool IncludePrivateMembers
{
get => _includePrivateMembers;
set => SetProperty(ref _includePrivateMembers, value);
}
public bool IncludeInheritedMembers
{
get => _includeInheritedMembers;
set => SetProperty(ref _includeInheritedMembers, value);
}
public bool IncludeExamples
{
get => _includeExamples;
set => SetProperty(ref _includeExamples, value);
}
public bool DetailedXmlComments
{
get => _detailedXmlComments;
set => SetProperty(ref _detailedXmlComments, value);
}
public DetailLevel DetailLevel
{
get => _detailLevel;
set => SetProperty(ref _detailLevel, value);
}
public OutputFormat OutputFormat
{
get => _outputFormat;
set => SetProperty(ref _outputFormat, value);
}
public ExportSettings()
{
// Default settings
_includePrivateMembers = false;
_includeInheritedMembers = true;
_includeExamples = true;
_detailedXmlComments = true;
_detailLevel = DetailLevel.Standard;
_outputFormat = OutputFormat.Xml; // Cambiado a XML por defecto
}
}
}