ui/gtk/window.c

changeset 627
3f0c9fe60c68
parent 471
063a9f29098c
child 659
d6baaa93f7be
equal deleted inserted replaced
626:724c7036a03e 627:3f0c9fe60c68
100 return ui_window_close_request(obj); 100 return ui_window_close_request(obj);
101 } 101 }
102 #endif 102 #endif
103 103
104 static UiObject* create_window(const char *title, void *window_data, UiBool sidebar, UiBool simple) { 104 static UiObject* create_window(const char *title, void *window_data, UiBool sidebar, UiBool simple) {
105 CxMempool *mp = cxMempoolCreateSimple(256); 105 UiObject *obj = uic_object_new_toplevel();
106 UiObject *obj = cxCalloc(mp->allocator, 1, sizeof(UiObject));
107 obj->ref = 0;
108 106
109 #ifdef UI_LIBADWAITA 107 #ifdef UI_LIBADWAITA
110 obj->widget = adw_application_window_new(ui_get_application()); 108 obj->widget = adw_application_window_new(ui_get_application());
111 #elif !defined(UI_GTK2) 109 #elif !defined(UI_GTK2)
112 obj->widget = gtk_application_window_new(ui_get_application()); 110 obj->widget = gtk_application_window_new(ui_get_application());
113 #else 111 #else
114 obj->widget = gtk_window_new(GTK_WINDOW_TOPLEVEL); 112 obj->widget = gtk_window_new(GTK_WINDOW_TOPLEVEL);
115 #endif 113 #endif
116 114
117
118 obj->ctx = uic_context(obj, mp);
119 obj->window = window_data; 115 obj->window = window_data;
120 116
121 #if GTK_CHECK_VERSION(4, 0, 0) 117 #if GTK_CHECK_VERSION(4, 0, 0)
122 obj->ctx->action_map = G_ACTION_MAP(obj->widget); 118 obj->ctx->action_map = G_ACTION_MAP(obj->widget);
123 #endif 119 #endif
759 gtk_window_set_transient_for(GTK_WINDOW(dialog), GTK_WINDOW(parent->widget)); 755 gtk_window_set_transient_for(GTK_WINDOW(dialog), GTK_WINDOW(parent->widget));
760 if(args.modal != UI_OFF) { 756 if(args.modal != UI_OFF) {
761 gtk_window_set_modal(GTK_WINDOW(dialog), TRUE); 757 gtk_window_set_modal(GTK_WINDOW(dialog), TRUE);
762 } 758 }
763 759
764 CxMempool *mp = cxMempoolCreateSimple(256); 760 UiObject *obj = uic_object_new_toplevel();
765 UiObject *obj = cxCalloc(mp->allocator, 1, sizeof(UiObject));
766 obj->ctx = uic_context(obj, mp);
767 obj->widget = dialog; 761 obj->widget = dialog;
768 obj->ref = 0; 762 obj->ref = 0;
769 obj->destroy = ui_window_widget_destroy; 763 obj->destroy = ui_window_widget_destroy;
770 nwindows++; 764 nwindows++;
771 765

mercurial