mirror of
https://github.com/dnwSilver/tld.git
synced 2025-04-27 15:36:18 +00:00
49 lines
1.3 KiB
C#
49 lines
1.3 KiB
C#
|
using TUI.Controls.Common;
|
||
|
using TUI.Controls.Components;
|
||
|
using TUI.Domain;
|
||
|
using TUI.Engine.Attributes;
|
||
|
using TUI.Engine.Attributes.Alignments;
|
||
|
using TUI.Engine.Attributes.Orientations;
|
||
|
using TUI.Engine.Components;
|
||
|
using TUI.Engine.Containers;
|
||
|
using TUI.Engine.Nodes;
|
||
|
using TUI.Engine.Theme;
|
||
|
|
||
|
namespace TUI.Controls.Containers;
|
||
|
|
||
|
public class DependenciesContainer : ContainerBase
|
||
|
{
|
||
|
private const int VersionColumnWidth = 10;
|
||
|
private const int TitleColumnWidth = 20;
|
||
|
|
||
|
private readonly Nodes _dependencies = new();
|
||
|
|
||
|
public void AddTitleStub()
|
||
|
{
|
||
|
var size = new Size(TitleColumnWidth, 1);
|
||
|
var title = new StubComponent(size);
|
||
|
title.SetPadding(Level.Normal);
|
||
|
|
||
|
_dependencies.Add(title);
|
||
|
}
|
||
|
|
||
|
public void AddTitle(IComponent title)
|
||
|
{
|
||
|
title.SetPadding(Level.Normal);
|
||
|
title.SetFixed(Orientation.Horizontal, TitleColumnWidth);
|
||
|
|
||
|
_dependencies.Add(title);
|
||
|
}
|
||
|
|
||
|
public void AddDependency(Dependency dependency)
|
||
|
{
|
||
|
var version = new VersionComponent(VersionType.Convention, dependency.Version, dependency.Brand);
|
||
|
version.SetPadding(Level.Normal);
|
||
|
version.SetAlignment(Horizontal.Right);
|
||
|
version.SetFixed(Orientation.Horizontal, VersionColumnWidth);
|
||
|
|
||
|
_dependencies.Add(version);
|
||
|
}
|
||
|
|
||
|
public override Nodes GetNodes() => _dependencies;
|
||
|
}
|