Exemplo n.º 1
0
        protected void SetStyledTextAlignmentBase(
            AlignmentModificationKinds kinds,
            Mkamo.Common.DataType.HorizontalAlignment horizontaliAlign,
            VerticalAlignment verticalAlign
            )
        {
            if (_EditorCanvas.FocusManager.IsEditorFocused)
            {
                /// Focusがある場合はその内容を変更する
                var focus = _EditorCanvas.FocusManager.Focus as StyledTextFocus;
                if (focus != null)
                {
                    if ((kinds & AlignmentModificationKinds.Horizontal) == AlignmentModificationKinds.Horizontal)
                    {
                        focus.SetHorizontalAlignment(horizontaliAlign);
                    }
                    if ((kinds & AlignmentModificationKinds.Vertical) == AlignmentModificationKinds.Vertical)
                    {
                        focus.SetVerticalAlignment(verticalAlign);
                    }
                }

                return;
            }

            var selecteds = _EditorCanvas.SelectionManager.SelectedEditors;

            if (selecteds.Any())
            {
                var bundle   = new EditorBundle(_EditorCanvas.SelectionManager.SelectedEditors);
                var executor = _EditorCanvas.CommandExecutor;

                //var nodeFig = selecteds.First().Figure as INode;
                //if (nodeFig != null) {
                //    var req = new SetPlainTextFontRequest() {
                //        Font = fontProvider(nodeFig.Font),
                //    };
                //    bundle.PerformCompositeRequest(req, executor);
                //}

                var node = selecteds.First().Model as MemoStyledText;
                if (node != null)
                {
                    var req = new SetStyledTextAlignmentRequest()
                    {
                        Kinds = kinds,
                        HorizontalAlignment = horizontaliAlign,
                        VerticalAlignment   = verticalAlign,
                    };
                    bundle.PerformCompositeRequest(req, executor);
                }
            }
        }
Exemplo n.º 2
0
        public SetStyledTextAlignmentCommand(
            IEditor target,
            Func <StyledText> styledTextProvider,
            VerticalAlignment newVerticalAlignment
            )
        {
            _target             = target;
            _styledTextProvider = styledTextProvider;
            _kinds = AlignmentModificationKinds.Vertical;
            _newVerticalAlignment = newVerticalAlignment;

            _command = null;
        }
Exemplo n.º 3
0
 // ========================================
 // constructor
 // ========================================
 public SetStyledTextAlignmentRole(StyledTextProvider styledTextProvider, AlignmentModificationKinds supportKinds)
 {
     _styledTextProvider = styledTextProvider;
     _supportKinds       = supportKinds;
 }