/// <summary> /// Gets the shape for modification. /// </summary> /// <param name="c">The c.</param> /// <param name="observed">The observed.</param> public OoShapeObserver GetShapeForModification(OoAccComponent c, OoAccessibleDocWnd observed) { if (observed != null && c.Role != AccessibleRole.INVALID) { //TODO: prepare name: //var shape = observed.DrawPagesObs.GetRegisteredShapeObserver(c.AccComp); OoShapeObserver shape = observed.GetRegisteredShapeObserver(c); if (shape != null) { if (shapeManipulatorFunctionProxy != null && !ImageData.Instance.Active) { OoElementSpeaker.PlayElementImmediately(shape, LL.GetTrans("tangram.lector.oo_observer.selected", String.Empty)); //audioRenderer.PlaySound("Form kann manipuliert werden"); shapeManipulatorFunctionProxy.LastSelectedShape = shape; return shape; } else // title+desc dialog handling { ImageData.Instance.NewSelectionHandling(shape); } } else { // disable the pageShapes if (c.Name.StartsWith("PageShape:")) { return null; } OoElementSpeaker.PlayElementImmediately(c, LL.GetTrans("tangram.lector.oo_observer.selected")); audioRenderer.PlaySound(LL.GetTrans("tangram.lector.oo_observer.selected_element.locked")); } } return null; }