// print("Check: " +cls + "::(" + pviter.get_value().propertyof + ")" + pviter.get_key() + " " );
var k = pviter.get_key();
// skip items we have already handled..
- if (!this.node.has(k)) {
+ if (!this.node.has(k)) {
continue;
}
// find out the type of the property...
var type = pviter.get_value().type;
type = Palete.Gir.fqtypeLookup(type, ns);
+ var ocl = (ObjectClass) cls_gtype.class_ref ();
+ var ps = ocl.find_property(k);
+
+ // attempt to read property type and enum...
+
+ if (ps != null) {
+ var vt = ps.value_type;
+ if (vt.is_enum()) {
+
+ var raw_val = this.node.get(k).strip();
+ var rv_s = raw_val.split(".");
+ if (rv_s.length > 0) {
+ raw_val = rv_s[rv_s.length-1];
+ EnumClass ec = (EnumClass) vt.class_ref ();
+ var foundit = false;
+ for (var i =0;i< ec.n_values; i++) {
+ var ev = ec.values[i].value_name;
+ var ev_s= ev.split("_");
+ if (raw_val == ev_s[ev_s.length-1]) {
+ var sval = GLib.Value(typeof(int));
+ sval.set_int(ec.values[i].value);
+ ret.set_property(k, sval);
+ foundit = true;
+ break;
+ }
+ }
+ if (foundit) {
+ continue;
+ }
+
+ }
+ }
+ }
+
+
+
+
var val = this.toValue(this.node.get(k).strip(), type);
if (val == null) {
print("skip (failed to transform value %s type = %s from %s\n",
}
labels.add(this.children.get(i));
}
- for (var i = 0; i < bodies.size; i++) {
+ for (var i = 0; i < bodies.size; i++) {
+ var lbl = (i > (labels.size -1)) ? null : labels.get(i);
+
((global::Gtk.Notebook)this.wrapped_object).append_page(
(global::Gtk.Notebook) bodies.get(i).wrapped_object,
- (labels.size > i - 1) ?
- (global::Gtk.Notebook) labels.get(i).wrapped_object :
- null
-
+ lbl != null ? (global::Gtk.Notebook) lbl.wrapped_object : null
);
var ns = this.parentObj.node.fqn().split(".")[0];
var pack = this.node.props.get("* pack").split(",");
-
-
+
+ // this tries to use the parameter names from the '*pack' function as properties in child_set_property.
+ // for a grid it's trying to do left/top/width/height.
+
+
if (cls_methods.has_key(pack[0])) {
var mparams = cls_methods.get(pack[0]).paramset.params;
for (var i = 1; i < mparams.size; i++ ) {
if (i > (pack.length -1)) {
continue;
}
-
+ Palete.Gir.checkParamOverride(mparams.get(i));
var k = mparams.get(i).name;
Value cur_val;