void BringToView(ModelItem modelItem) { if (modelItem != null) { modelItem.Focus(); } }
public ModelItem addActivity(Activity a) { ModelItem newItem = null; ModelService modelService = wfDesigner.Context.Services.GetService <ModelService>(); using (ModelEditingScope editingScope = modelService.Root.BeginEdit("Implementation")) { var lastSequence = GetSequence(selectedActivity); if (lastSequence == null && selectedActivity != null) { lastSequence = GetActivitiesScope(selectedActivity.Parent); } if (lastSequence != null) { ModelItemCollection Activities = null; if (lastSequence.Properties["Activities"] != null) { Activities = lastSequence.Properties["Activities"].Collection; } else { Activities = lastSequence.Properties["Nodes"].Collection; } var insertAt = Activities.Count; for (var i = 0; i < Activities.Count; i++) { if (Activities[i].Equals(selectedActivity)) { insertAt = (i + 1); } } if (lastSequence.Properties["Activities"] != null) { newItem = Activities.Insert(insertAt, a); } else { FlowStep step = new FlowStep(); step.Action = a; newItem = Activities.Insert(insertAt, step); } //Selection.Select(wfDesigner.Context, selectedActivity); //ModelItemExtensions.Focus(selectedActivity); } editingScope.Complete(); //WorkflowInspectionServices.CacheMetadata(a); } if (newItem != null) { selectedActivity = newItem; newItem.Focus(20); Selection.SelectOnly(wfDesigner.Context, newItem); } return(newItem); }
void NavigateToError(object sourceDetail) { Fx.Assert(this.modelTreeManager != null, "ModelTreeManager is null."); ModelItem modelItem = this.modelTreeManager.GetModelItem(sourceDetail) ?? FindModelItem(this.modelTreeManager, sourceDetail); if (modelItem != null) { if (this.modelSearchService != null) { this.modelSearchService.NavigateTo(modelItem); } else { // For any Expression, need to focus to its parent instead. Activity activity = modelItem.GetCurrentValue() as Activity; if (activity != null && (activity.IsExpression())) { ModelItem parent = modelItem.Parent; while (parent != null) { bool hasDesignerAttribute = this.ViewService.GetDesignerType(parent.ItemType) != null; // ModelItemKeyValuePair type also has DesignerAttribute. // Since we do not want to put a focus on that type, special-casing it here. bool isModelItemKeyValuePair = parent.ItemType.IsGenericType && parent.ItemType.GetGenericTypeDefinition() == typeof(ModelItemKeyValuePair <,>); if (hasDesignerAttribute && !isModelItemKeyValuePair) { break; } parent = parent.Parent; } if (parent != null) { modelItem = parent; } } modelItem.Focus(); } } }