Sat, 31 Jan 2015 11:51:54 +0100
added box layout and button (WPF)
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading; using System.Threading.Tasks; using System.Windows; using System.Windows.Controls; namespace UI { public class MainWindow : Window, Container { public IntPtr Object; public Container Container; public MainWindow(String title, IntPtr uiobj) { Title = title; Object = uiobj; Width = 300; Height = 300; Grid windowGrid = new Grid(); ColumnDefinition column = new ColumnDefinition(); column.Width = new GridLength(1, GridUnitType.Star); windowGrid.ColumnDefinitions.Add(column); AddChild(windowGrid); int rowIndex = 0; // menu Application app = Application.GetInstance(); if (!app.AppMenu.IsEmpty()) { System.Windows.Controls.Menu menu = app.AppMenu.CreateMenu(uiobj); RowDefinition menuRow = new RowDefinition(); menuRow.Height = GridLength.Auto; windowGrid.RowDefinitions.Add(menuRow); Grid.SetRow(menu, 0); Grid.SetColumn(menu, rowIndex); windowGrid.Children.Add(menu); rowIndex++; } // TODO: toolbar // content RowDefinition contentRow = new RowDefinition(); contentRow.Height = new GridLength(1, GridUnitType.Star); windowGrid.RowDefinitions.Add(contentRow); Grid content = new Grid(); Grid.SetColumn(content, 0); Grid.SetRow(content, rowIndex); windowGrid.Children.Add(content); rowIndex++; Container = new BoxContainer(content, BoxOrientation.VERTICAL); Closed += CloseEvent; } public static MainWindow CreateMainWindow(String title, IntPtr uiobj) { return Application.GetInstance().Exec<MainWindow>(() => new MainWindow(title, uiobj)); } public void ShowWindow() { Application.GetInstance().Exec(() => this.Show()); Application.GetInstance().AddWindow(this); } public void CloseEvent(object sender, System.EventArgs e) { Application.GetInstance().RemoveWindow(this); } public void Add(UIElement control, bool fill) { Container.Add(control, fill); } } }