public void AddGroup(ItemGroup igroup, object instance, string targetGtkVersion) { ArrayList props = new ArrayList(); foreach (ItemDescriptor item in igroup) { if (item.IsInternal) { continue; } if (item is PropertyDescriptor && item.SupportsGtkVersion(targetGtkVersion)) { props.Add(item); } } if (props.Count == 0) { return; } InstanceData idata = new InstanceData(instance); TreeIter iter = store.AppendValues(igroup.Label, null, true, idata); foreach (PropertyDescriptor item in props) { AppendProperty(iter, (PropertyDescriptor)item, idata); } }
void PropertyData(Gtk.TreeViewColumn tree_column, Gtk.CellRenderer cell, Gtk.TreeModel model, Gtk.TreeIter iter) { CellRendererProperty rc = (CellRendererProperty)cell; bool group = (bool)model.GetValue(iter, 2); if (group) { rc.SetData(null, null, null); } else { PropertyDescriptor prop = (PropertyDescriptor)model.GetValue(iter, 1); PropertyEditorCell propCell = PropertyEditorCell.GetPropertyCell(prop); InstanceData idata = (InstanceData)model.GetValue(iter, 3); propCell.Initialize(tree, prop, idata.Instance); rc.SetData(idata.Instance, prop, propCell); } }
void GroupData(Gtk.TreeViewColumn tree_column, Gtk.CellRenderer cell, Gtk.TreeModel model, Gtk.TreeIter iter) { CellRendererPropertyGroup rc = (CellRendererPropertyGroup)cell; rc.IsGroup = (bool)model.GetValue(iter, 2); rc.Text = (string)model.GetValue(iter, 0); PropertyDescriptor prop = (PropertyDescriptor)model.GetValue(iter, 1); if (prop != null) { InstanceData idata = (InstanceData)model.GetValue(iter, 3); rc.SensitiveProperty = prop.EnabledFor(idata.Instance) && prop.VisibleFor(idata.Instance); } else { rc.SensitiveProperty = true; } }
void AppendProperty(TreeIter piter, PropertyDescriptor prop, InstanceData idata) { TreeIter iter; if (piter.Equals(TreeIter.Zero)) { iter = store.AppendValues(prop.Label, prop, false, idata); } else { iter = store.AppendValues(piter, prop.Label, prop, false, idata); } if (prop.HasDependencies) { sensitives[prop] = prop; } if (prop.HasVisibility) { invisibles[prop] = prop; } propertyRows [prop] = store.GetStringFromIter(iter); }
public void AddGroup(ItemGroup igroup, object instance, string targetGtkVersion) { ArrayList props = new ArrayList (); foreach (ItemDescriptor item in igroup) { if (item.IsInternal) continue; if (item is PropertyDescriptor && item.SupportsGtkVersion (targetGtkVersion)) props.Add (item); } if (props.Count == 0) return; InstanceData idata = new InstanceData (instance); TreeIter iter = store.AppendValues (igroup.Label, null, true, idata); foreach (PropertyDescriptor item in props) AppendProperty (iter, (PropertyDescriptor)item, idata); }
void AppendProperty(TreeIter piter, PropertyDescriptor prop, InstanceData idata) { TreeIter iter; if (piter.Equals (TreeIter.Zero)) iter = store.AppendValues (prop.Label, prop, false, idata); else iter = store.AppendValues (piter, prop.Label, prop, false, idata); if (prop.HasDependencies) sensitives[prop] = prop; if (prop.HasVisibility) invisibles[prop] = prop; propertyRows [prop] = store.GetStringFromIter (iter); }