ui/gtk/container.c

changeset 765
ee08f7859b78
parent 732
3920f803ef19
child 766
8b984742f45b
equal deleted inserted replaced
764:5ff4b9c0cf96 765:ee08f7859b78
1083 newobj->container = ui_splitpane_container(obj, pane0, orientation, max, args->initial_position); 1083 newobj->container = ui_splitpane_container(obj, pane0, orientation, max, args->initial_position);
1084 uic_obj_add(obj, newobj); 1084 uic_obj_add(obj, newobj);
1085 1085
1086 g_object_set_data(G_OBJECT(pane0), "ui_splitpane", newobj->container); 1086 g_object_set_data(G_OBJECT(pane0), "ui_splitpane", newobj->container);
1087 1087
1088 UiVar *var = uic_widget_var(obj->ctx, current->ctx, args->value, args->varname, UI_VAR_INTEGER);
1089 if(var) {
1090 UiSplitPaneContainer *s = (UiSplitPaneContainer*)newobj->container;
1091 UiInteger *i = var->value;
1092 s->initial_position = i->value;
1093
1094 i->obj = s;
1095 i->get = ui_splitpane_get;
1096 i->set = ui_splitpane_set;
1097 }
1098
1088 return pane0; 1099 return pane0;
1089 } 1100 }
1090 1101
1091 UIWIDGET ui_hsplitpane_create(UiObject *obj, UiSplitPaneArgs *args) { 1102 UIWIDGET ui_hsplitpane_create(UiObject *obj, UiSplitPaneArgs *args) {
1092 return splitpane_create(obj, UI_HORIZONTAL, args); 1103 return splitpane_create(obj, UI_HORIZONTAL, args);
1136 } 1147 }
1137 1148
1138 s->pos = 0; 1149 s->pos = 0;
1139 s->nchildren++; 1150 s->nchildren++;
1140 } 1151 }
1152 }
1153
1154 int64_t ui_splitpane_get(UiInteger *i) {
1155 UiSplitPaneContainer *s = i->obj;
1156 i->value = gtk_paned_get_position(GTK_PANED(s->container.widget));
1157 return i->value;
1158 }
1159
1160 void ui_splitpane_set(UiInteger *i, int64_t value) {
1161 UiSplitPaneContainer *s = i->obj;
1162 i->value = value;
1163 gtk_paned_set_position(GTK_PANED(s->container.widget), (int)value);
1141 } 1164 }
1142 1165
1143 UIEXPORT void ui_splitpane_set_visible(UIWIDGET splitpane, int child_index, UiBool visible) { 1166 UIEXPORT void ui_splitpane_set_visible(UIWIDGET splitpane, int child_index, UiBool visible) {
1144 UiSplitPaneContainer *ct = g_object_get_data(G_OBJECT(splitpane), "ui_splitpane"); 1167 UiSplitPaneContainer *ct = g_object_get_data(G_OBJECT(splitpane), "ui_splitpane");
1145 if(!ct) { 1168 if(!ct) {

mercurial