コード例 #1
0
        /// <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;
        }