35 #include <winrt/Microsoft.UI.Xaml.Controls.h> |
35 #include <winrt/Microsoft.UI.Xaml.Controls.h> |
36 #include <winrt/Microsoft.UI.Xaml.Controls.Primitives.h> |
36 #include <winrt/Microsoft.UI.Xaml.Controls.Primitives.h> |
37 #include <winrt/Microsoft.UI.Xaml.XamlTypeInfo.h> |
37 #include <winrt/Microsoft.UI.Xaml.XamlTypeInfo.h> |
38 #include <winrt/Microsoft.UI.Xaml.Markup.h> |
38 #include <winrt/Microsoft.UI.Xaml.Markup.h> |
39 |
39 |
|
40 #include "appmenu.h" |
|
41 |
40 #include <stdlib.h> |
42 #include <stdlib.h> |
41 |
43 |
42 using namespace winrt; |
44 using namespace winrt; |
43 using namespace Microsoft::UI::Xaml; |
45 using namespace Microsoft::UI::Xaml; |
44 using namespace Microsoft::UI::Xaml::Controls; |
46 using namespace Microsoft::UI::Xaml::Controls; |
47 using namespace Windows::UI::Xaml::Interop; |
49 using namespace Windows::UI::Xaml::Interop; |
48 |
50 |
49 |
51 |
50 class UiWindow : UiWidget { |
52 class UiWindow : UiWidget { |
51 public: |
53 public: |
52 UiWindow(const char* title) { |
54 UiWindow(const char* title, UiObject *obj) { |
53 window = Window(); |
55 window = Window(); |
|
56 |
|
57 grid = Grid(); |
|
58 window.Content(grid); |
|
59 |
|
60 if (uic_get_menu_list()) { |
|
61 MenuBar mb = ui_create_menubar(obj); |
|
62 mb.VerticalAlignment(VerticalAlignment::Top); |
|
63 grid.Children().Append(mb); |
|
64 } |
54 } |
65 } |
55 |
66 |
56 virtual void show() { |
67 virtual void show() { |
57 window.Activate(); |
68 window.Activate(); |
58 } |
69 } |
59 |
70 |
60 Window window{ nullptr }; |
71 Window window{ nullptr }; |
|
72 Grid grid; |
61 }; |
73 }; |
62 |
74 |
63 UiObject* ui_window(const char* title, void* window_data) { |
75 UiObject* ui_window(const char* title, void* window_data) { |
64 UiObject* obj = (UiObject*)malloc(sizeof(UiObject)); |
76 UiObject* obj = (UiObject*)malloc(sizeof(UiObject)); |
65 |
77 |
66 UiWindow* window = new UiWindow(title); |
78 UiWindow* window = new UiWindow(title, obj); |
67 obj->widget = window; |
79 obj->widget = window; |
68 |
80 |
69 return obj; |
81 return obj; |
70 } |
82 } |