コード例 #1
0
        public void Test_ElementList()
        {
            ElementList elementList = new ElementList(0, 0, true);
            Label       a           = new Label(0, 0, "A");
            Label       b           = new Label(0, 0, "B");
            Label       c           = new Label(0, 0, "C");

            elementList.AddElement(a);
            elementList.AddElements(b, c);

            elementList.Reorder();

            Assert.AreEqual(0, a.X);
            Assert.AreEqual(1, b.X);
            Assert.AreEqual(2, c.X);

            elementList.X = 1;

            Assert.AreEqual(1, a.X);
            Assert.AreEqual(2, b.X);
            Assert.AreEqual(3, c.X);

            elementList.Horizontal = false;

            Assert.AreEqual(1, a.X);
            Assert.AreEqual(1, b.X);
            Assert.AreEqual(1, c.X);
            Assert.AreEqual(0, a.Y);
            Assert.AreEqual(1, b.Y);
            Assert.AreEqual(2, c.Y);

            elementList.Padding = 1;

            Assert.AreEqual(0, a.Y);
            Assert.AreEqual(2, b.Y);
            Assert.AreEqual(4, c.Y);
        }
コード例 #2
0
        static void Main()
        {
            using UiHub uiHub = UiHub.Register(80, 25, true);

            uiHub.Title = "Demo";

            View mainView = uiHub.AddView("Main");

            ElementList elementList = new ElementList(30, 10, false);

            Label a = new Label(0, 0, "Hellooo");
            Label b = new Label(0, 0, "World");
            Label c = new Label(0, 0, "!!");

            Label d = new Label(20, 0, 50, 1);

            ElementGrid elementGrid = new ElementGrid(60, 2, 2, 2);

            Rectangle r1 = new Rectangle(0, 0, 3, 2)
            {
                Filler = '#'
            };
            Rectangle r2 = new Rectangle(0, 0, 1, 3)
            {
                Filler = '-'
            };
            Rectangle r3 = new Rectangle(0, 0, 1, 1);
            Rectangle r4 = new Rectangle(0, 0, 1, 1)
            {
                Filler = '0'
            };

            elementGrid.AddElements(r1, r2, r3, r4);
            elementGrid.Reorder();


            elementList.AddElements(a, b, c);

            elementList.Reorder();

            mainView.AddElements(a, b, c, d);
            mainView.AddElements(r1, r2, r3, r4);


            Label label = mainView.AddElement(new Label(0, 0, 10, 1));

            mainView.AddElement(new Button(10, 5, 20, 4, "Button 1")).Pressed += () =>
            {
                label.Text             = "Pressed B1";
                elementList.Horizontal = !elementList.Horizontal;
            };
            mainView.AddElement(new Button(10, 10, 20, 4, "Button 2")).Pressed += () =>
            {
                label.Text    = "Pressed B2";
                elementList.X = 30 + ((elementList.X + 1) % 10);
            };

            RotoList <int> rotoList = new RotoList <int>(0, 15, 20, 1);

            rotoList.ChangedElement += e =>
            {
                label.Text          = "Switch " + e.Value.ToString();
                elementList.Padding = e.Value;
            };

            rotoList.SetElements(new[]
            {
                new RotoList <int> .Element <int>("One", 1),
                new RotoList <int> .Element <int>("Two", 2),
                new RotoList <int> .Element <int>("Three", 3),
                new RotoList <int> .Element <int>("Pi", 4),
            });

            mainView.AddElement(rotoList);

            uiHub.UnhandledKeyPress += (s, e) => d.Text = $"I: {e.KeyInfo.Modifiers}+{e.KeyInfo.Key}";

            uiHub.Run();
        }