ui/common/document.c

changeset 1196
296b8b6eaae6
parent 1195
6ec3c71ba298
equal deleted inserted replaced
1195:6ec3c71ba298 1196:296b8b6eaae6
85 85
86 UiObject* ui_context_obj(UiContext *ctx) { 86 UiObject* ui_context_obj(UiContext *ctx) {
87 return ctx->obj; 87 return ctx->obj;
88 } 88 }
89 89
90 void ui_document_onattach(void *doc, ui_callback cb, void *data) { 90 void ui_document_onattach(void *doc, ui_callback cb, void *data) {
91 UiContext *ctx = ui_document_context(doc); 91 UiContext *ctx = ui_document_context(doc);
92 ctx->onattach = cb; 92 ctx->onattach = cb;
93 ctx->onattachdata = data; 93 ctx->onattachdata = data;
94 } 94 }
95 95
96 void ui_document_ondetach(void *doc, ui_callback cb, void *data) { 96 void ui_document_ondetach(void *doc, ui_callback cb, void *data) {
97 UiContext *ctx = ui_document_context(doc); 97 UiContext *ctx = ui_document_context(doc);
98 ctx->ondetach = cb; 98 ctx->ondetach = cb;
99 ctx->ondetachdata = data; 99 ctx->ondetachdata = data;
100 } 100 }
101
102 static void attachment_action_callback(UiEvent *event, void *action) {
103 if(event->document) {
104 UiContext *ctx = ui_document_context(event->document);
105 ui_call_action_on(ctx, action);
106 }
107 }
108
109 void ui_document_onattach_action(void *doc, const char *action) {
110 UiContext *ctx = ui_document_context(doc);
111 ctx->onattach = attachment_action_callback;
112 ctx->onattachdata = ui_strdup(ctx, action);
113 }
114
115 void ui_document_ondetach_action(void *doc, const char *action) {
116 UiContext *ctx = ui_document_context(doc);
117 ctx->ondetach = attachment_action_callback;
118 ctx->ondetachdata = ui_strdup(ctx, action);
119 }
120

mercurial