private void SyncPropertyListHandler(object sender, EventArgs e)
{
if (_propertyList.Editing) {
return;
}
_propertyList.Items.Clear();
foreach (Property prop in _controller.PredefinedProperties) {
ListViewItem item = new ListViewItem();
item.SubItems.Add(new ListViewSubItemEx(item, prop.Name) { ReadOnly = true });
item.SubItems.Add(prop.ToString());
item.Group = _groupPredefined;
if (_controller.SelectedProperty != null && _controller.SelectedProperty == prop) {
item.Selected = true;
}
_propertyList.Items.Add(item);
}
ListViewItem editItem = null;
foreach (Property prop in _controller.InheritedProperties) {
ListViewItem item = new ListViewItem(new string[] { "", prop.Name, prop.ToString() });
item.Group = _groupInherited;
if (_controller.SelectedProperty != null && _controller.SelectedProperty == prop) {
item.Selected = true;
if (_inAdd) {
editItem = item;
}
}
_propertyList.Items.Add(item);
}
foreach (Property prop in _controller.CustomProperties) {
ListViewItem item = new ListViewItem(new string[] { "", prop.Name, prop.ToString() });
item.Group = _groupCustom;
if (_controller.SelectedProperty != null && _controller.SelectedProperty == prop) {
item.Selected = true;
if (_inAdd) {
editItem = item;
}
}
_propertyList.Items.Add(item);
}
if (editItem != null) {
BeginEditing(editItem, 1);
}
}