50 using namespace Microsoft::UI::Xaml; |
50 using namespace Microsoft::UI::Xaml; |
51 using namespace Microsoft::UI::Xaml::Controls; |
51 using namespace Microsoft::UI::Xaml::Controls; |
52 using namespace Microsoft::UI::Xaml::XamlTypeInfo; |
52 using namespace Microsoft::UI::Xaml::XamlTypeInfo; |
53 using namespace Microsoft::UI::Xaml::Markup; |
53 using namespace Microsoft::UI::Xaml::Markup; |
54 using namespace Windows::UI::Xaml::Interop; |
54 using namespace Windows::UI::Xaml::Interop; |
55 |
55 using namespace winrt::Windows::Foundation; |
56 |
|
57 |
|
58 |
56 |
59 UiObject* ui_window(const char* title, void* window_data) { |
57 UiObject* ui_window(const char* title, void* window_data) { |
60 CxMempool* mp = cxBasicMempoolCreate(256); |
58 CxMempool* mp = cxBasicMempoolCreate(256); |
61 UiObject* obj = (UiObject*)cxCalloc(mp->allocator, 1, sizeof(UiObject)); |
59 UiObject* obj = (UiObject*)cxCalloc(mp->allocator, 1, sizeof(UiObject)); |
62 |
60 |
63 obj->ctx = uic_context(obj, mp->allocator); |
61 obj->ctx = uic_context(obj, mp->allocator); |
64 obj->window = window_data; |
62 obj->window = window_data; |
65 |
63 |
66 obj->wobj = Window(); |
64 Window window = Window(); |
|
65 |
67 Grid grid = Grid(); |
66 Grid grid = Grid(); |
68 obj->wobj.Content(grid); |
67 window.Content(grid); |
|
68 |
|
69 obj->wobj = new UiWindow(window); |
|
70 |
|
71 window.Closed([&](IInspectable const& sender, WindowEventArgs) { delete obj->wobj; } ); |
69 |
72 |
70 obj->container = new UiBoxContainer(grid, UI_CONTAINER_VBOX); |
73 obj->container = new UiBoxContainer(grid, UI_CONTAINER_VBOX); |
71 |
74 |
72 if (uic_get_menu_list()) { |
75 if (uic_get_menu_list()) { |
73 // create/add menubar |
76 // create/add menubar |