ui/wpf/UIcore/Controls.cs

Mon, 23 Sep 2024 23:22:27 +0200

author
Olaf Wintermann <olaf.wintermann@gmail.com>
date
Mon, 23 Sep 2024 23:22:27 +0200
branch
newapi
changeset 309
02c95df91de1
parent 135
b9dc9cdfa23a
permissions
-rw-r--r--

add headerbar toggle button (GTK)

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

namespace UI
{  
    public class Controls
    {
        public static Button Button(Container container, String label, RoutedEventHandler e)
        {
            Button button = new Button();
            button.Content = label;
            container.Add(button, false);

            button.Click += e;

            return button;
        }

        public static Label Label(Container container, String str, int alignment)
        {
            HorizontalAlignment a;
            switch (alignment)
            {
                case 0: a = HorizontalAlignment.Left; break;
                case 1: a = HorizontalAlignment.Right; break;
                case 2: a = HorizontalAlignment.Center; break;
                default: a = HorizontalAlignment.Left; break;
            }

            Label label = new Label();
            label.HorizontalAlignment = a;
            label.Content = str;
            container.Add(label, false);

            return label;
        }

        public static Label Space(Container container)
        {
            return Label(container, null, 2);
        }

        public static Separator Separator(Container container)
        {
            Separator separator = new Separator();
            container.Add(separator, false);
            return separator;
        }
    }
}

mercurial