ui/common/context.h

changeset 163
b70e2a77dea0
parent 162
18892c0a9adc
child 167
161511838ea6
equal deleted inserted replaced
162:18892c0a9adc 163:b70e2a77dea0
58 struct UiContext { 58 struct UiContext {
59 UiContext *parent; 59 UiContext *parent;
60 UiObject *obj; 60 UiObject *obj;
61 UcxMempool *mempool; 61 UcxMempool *mempool;
62 62
63 UcxMap *bound; // key: char* value: UiVar* deprecated 63 void *document;
64 UcxMap *vars; // key: char* value: UiVar* deprecated 64 UcxList *documents;
65 void *document; // deprecated
66 65
67 UcxMap *vars2; // manually created context vars 66 UcxMap *vars; // manually created context vars
68 UcxMap *vars_unbound; // unbound vars created by widgets 67 UcxMap *vars_unbound; // unbound vars created by widgets
69 68
70 UcxList *groups; // int list 69 UcxList *groups; // int list
71 UcxList *group_widgets; // UiGroupWidget* list 70 UcxList *group_widgets; // UiGroupWidget* list
72 71
73 void (*set_document)(UiContext *ctx, void *document); // deprecated 72 void (*attach_document)(UiContext *ctx, void *document);
74 void (*detach_document)(UiContext *ctx); // deprecated 73 void (*detach_document2)(UiContext *ctx, void *document);
75 74
76 char *title; 75 char *title;
77 76
78 #ifdef UI_GTK 77 #ifdef UI_GTK
79 GtkAccelGroup *accel_group; 78 GtkAccelGroup *accel_group;
81 80
82 ui_callback close_callback; 81 ui_callback close_callback;
83 void *close_data; 82 void *close_data;
84 }; 83 };
85 84
86 // deprecated 85 // UiVar replacement, rename it to UiVar when finished
87 struct UiVar { 86 struct UiVar {
88 void *value; 87 void *value;
89 void *orig_val;
90 UiVarType type; 88 UiVarType type;
91 UiVar *from; 89 UiVar *from;
92 }; 90 UiContext *from_ctx;
93
94 // UiVar replacement, rename it to UiVar when finished
95 struct UiVar2 {
96 void *value;
97 UiVarType type;
98 UiContext *bound_from; /* bound by this context or NULL if unbound */
99 }; 91 };
100 92
101 struct UiGroupWidget { 93 struct UiGroupWidget {
102 UIWIDGET widget; 94 UIWIDGET widget;
103 int *groups; 95 int *groups;
108 UiContext* uic_context(UiObject *toplevel, UcxMempool *mp); 100 UiContext* uic_context(UiObject *toplevel, UcxMempool *mp);
109 UiContext* uic_root_context(UiContext *ctx); 101 UiContext* uic_root_context(UiContext *ctx);
110 void uic_context_set_document(UiContext *ctx, void *document); // deprecated 102 void uic_context_set_document(UiContext *ctx, void *document); // deprecated
111 void uic_context_detach_document(UiContext *ctx); // deprecated 103 void uic_context_detach_document(UiContext *ctx); // deprecated
112 104
113 //UiVar* uic_get_var(UiContext *ctx, char *name); 105 void uic_context_attach_document(UiContext *ctx, void *document);
106 void uic_context_detach_document2(UiContext *ctx, void *document);
107 void uic_context_detach_all(UiContext *ctx);
108
109 UiVar* uic_get_var(UiContext *ctx, char *name);
114 UiVar* uic_create_var(UiContext *ctx, char *name, UiVarType type); 110 UiVar* uic_create_var(UiContext *ctx, char *name, UiVarType type);
115 void* uic_create_value(UiContext *ctx, UiVarType type); 111 void* uic_create_value(UiContext *ctx, UiVarType type);
116 112
117 void uic_copy_binding(UiVar *from, UiVar *to, UiBool copytodoc); 113 void uic_copy_binding(UiVar *from, UiVar *to, UiBool copytodoc);
118 void uic_save_var(UiVar *var); 114 void uic_save_var2(UiVar *var);
119 void uic_unbind_var(UiVar *var); 115 void uic_unbind_var(UiVar *var);
120 116
121 void uic_reg_var(UiContext *ctx, char *name, UiVarType type, void *value); 117 void uic_reg_var(UiContext *ctx, char *name, UiVarType type, void *value);
122 118
123 void uic_remove_bound_var(UiContext *ctx, UiVar *var); 119 void uic_remove_bound_var(UiContext *ctx, UiVar *var);

mercurial