private void AdjustExportObjectIndex(int modifier, ExportObject selectedObject, List <ExportObject> objectList) { if (selectedObject.Index == objectList.Count - 1 && modifier == 1) { foreach (ExportObject obj in objectList) { obj.Index += 1; } selectedObject.Index = 0; } else if (selectedObject.Index == 0 && modifier == -1) { foreach (ExportObject obj in objectList) { obj.Index -= 1; } selectedObject.Index = objectList.Count - 1; } else { List <ExportObject> sortedList = objectList.OrderBy(o => o.Index).ToList(); ExportObject nextObject = sortedList[selectedObject.Index + modifier]; selectedObject.Index += modifier; nextObject.Index -= modifier; } }
public void CreateProperty(ExportObject exportObject, EventHandler handler) { ExportPropertyEventArgs eventArgs = new ExportPropertyEventArgs() { NodeName = exportObject.NodeName }; handler?.Invoke(this, eventArgs); if (eventArgs.Object != null) { exportObject.AddExportProperty(eventArgs.Object); } }