ui/winui/window.cpp

branch
newapi
changeset 180
f34953bf4ac7
parent 177
e79a60b3a7cb
child 181
c52d88ea020b
equal deleted inserted replaced
179:34f4d78647be 180:f34953bf4ac7
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 }

mercurial