ui/wpf/UIcore/Menu.cs

changeset 108
77254bd6dccb
parent 107
b34bd1557c6c
child 109
c3dfcb8f0be7
--- a/ui/wpf/UIcore/Menu.cs	Sat Apr 05 17:57:04 2025 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,119 +0,0 @@
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
-using System.Windows;
-using System.Windows.Controls;
-using System.Windows.Media;
-
-namespace UI
-{
-    public class ApplicationMenu
-    {
-        private List<Menu> current = new List<Menu>();
-
-        public List<Menu> Menus = new List<Menu>();
-
-        public void AddMenu(String label)
-        {
-            current.Clear();
-            Menu menu = new Menu(label);
-            current.Add(menu);
-            Menus.Add(menu);
-        }
-
-        public Boolean IsEmpty()
-        {
-            return Menus.Count == 0 ? true : false;
-        }
-
-        public void AddSubMenu(String label)
-        {
-            Menu menu = new Menu(label);
-            current.Last().Items.Add(menu);
-            current.Add(menu);
-        }
-
-        public void EndSubMenu()
-        {
-            current.Remove(current.Last());
-        }
-
-        public void AddMenuItem(String label, Action<IntPtr> action)
-        {
-            if(current.Count != 0)
-            {
-                MenuItem item = new MenuItem(label, action);
-                current.Last().Items.Add(item);
-            }
-        }
-
-        public System.Windows.Controls.Menu CreateMenu(IntPtr uiobj)
-        {
-            System.Windows.Controls.Menu menu = new System.Windows.Controls.Menu();
-            menu.Background = new SolidColorBrush(Color.FromRgb(255, 255, 255));
-            foreach (Menu m in Menus)
-            {
-                System.Windows.Controls.MenuItem i = new System.Windows.Controls.MenuItem();
-                i.Header = m.Label;
-                m.AddItems(i, uiobj);
-                menu.Items.Add(i);
-            }
-            return menu;
-        }
-    }
-
-    public interface IMenuItem
-    {
-        void AddTo(System.Windows.Controls.MenuItem menu, IntPtr uiobj);
-    }
-
-    public class Menu : IMenuItem
-    {
-        public String Label;
-        public List<IMenuItem> Items = new List<IMenuItem>();
-
-        public Menu(String label)
-        {
-            Label = label;
-        }
-
-        public void AddItems(System.Windows.Controls.MenuItem i, IntPtr uiobj)
-        {
-            foreach (IMenuItem item in Items)
-            {
-                item.AddTo(i, uiobj);
-            }
-        }
-
-        void IMenuItem.AddTo(System.Windows.Controls.MenuItem menu, IntPtr uiobj)
-        {
-            System.Windows.Controls.MenuItem i = new System.Windows.Controls.MenuItem();
-            i.Header = Label;
-            AddItems(i, uiobj);
-            menu.Items.Add(i);
-        }
-    }
-
-    public class MenuItem : IMenuItem
-    {
-        String Label;
-        Action<IntPtr> Action;
-
-        public MenuItem(String label, Action<IntPtr> action)
-        {
-            Label = label;
-            Action = action;
-        }
-
-        void IMenuItem.AddTo(System.Windows.Controls.MenuItem menu, IntPtr uiobj)
-        {
-            System.Windows.Controls.MenuItem i = new System.Windows.Controls.MenuItem();
-            EventCallback cb = new EventCallback(uiobj, Action);
-            i.Click += cb.Callback;
-            i.Header = Label;
-            menu.Items.Add(i);
-        }
-    }
-}

mercurial