예제 #1
0
        public override void Instantiate()
        {
            base.Instantiate();
            TextBoxElement textBoxElement = (TextBoxElement)this.TextSource;

            this.TextBox.Text = textBoxElement.Text;
            IPropertyId propertyKey = (IPropertyId)textBoxElement.ProjectContext.ResolveProperty(TextBoxElement.TextWrappingProperty);

            if (propertyKey != null)
            {
                this.TextBox.TextWrapping = (TextWrapping)textBoxElement.GetComputedValue(propertyKey);
            }
            if (this.TextSource.ProjectContext.ResolveProperty(TextBoxElement.CaretBrushProperty) != null)
            {
                this.CopyProperty(TextBoxElement.CaretBrushProperty);
            }
            if (this.TextSource.ProjectContext.IsCapabilitySet(PlatformCapability.IsWpf))
            {
                return;
            }
            Thickness padding = this.TextBox.Padding;

            padding.Left        -= 2.0;
            padding.Right       -= 2.0;
            padding.Bottom      -= 3.0;
            this.TextBox.Padding = padding;
        }
예제 #2
0
        /// <summary>
        /// Adds new text box element.
        /// </summary>
        /// <param name="isMultiline">Enable/disable multiline text input support</param>
        /// <returns>The created element.</returns>
        public TextBoxElement TextBox(bool isMultiline = false)
        {
            TextBoxElement element = new TextBoxElement(isMultiline);

            OnAddElement(element);
            return(element);
        }
        /// <inheritdoc />
        protected override void Deinitialize()
        {
            base.Deinitialize();

            _idElement    = null;
            _valueElement = null;
        }
예제 #4
0
        /// <summary>
        /// Disposes the control.
        /// </summary>
        /// <param name="disposing">Whether Dispose has been called.</param>
        protected override void Dispose(bool disposing)
        {
            base.Dispose(disposing);

            if (disposing)
            {
                this.textBoxElement = null;
            }
        }
        /// <inheritdoc />
        public override void Initialize(LayoutElementsContainer layout)
        {
            base.Initialize(layout);

            if (layout.Children.Count == 0)
            {
                return;
            }
            var propList = layout.Children[layout.Children.Count - 1] as PropertiesListElement;

            if (propList == null || propList.Children.Count != 2)
            {
                return;
            }
            var idElement    = propList.Children[0] as TextBoxElement;
            var valueElement = propList.Children[1] as TextBoxElement;

            if (idElement == null || valueElement == null)
            {
                return;
            }
            _idElement    = idElement;
            _valueElement = valueElement;

            var attributes = Values.GetAttributes();
            var multiLine  = attributes?.FirstOrDefault(x => x is MultilineTextAttribute);

            if (multiLine != null)
            {
                valueElement.TextBox.IsMultiline = true;
                valueElement.TextBox.Height     *= 3;
            }

            var selectString = new Button
            {
                Width       = 16.0f,
                Text        = "...",
                TooltipText = "Select localized text from Localization Settings...",
                Parent      = idElement.TextBox,
            };

            selectString.SetAnchorPreset(AnchorPresets.MiddleRight, false, true);
            selectString.ButtonClicked += OnSelectStringClicked;

            var addString = new Button
            {
                Width       = 16.0f,
                Text        = "+",
                TooltipText = "Add new localized text to Localization Settings (all used locales)",
                Parent      = _valueElement.TextBox,
                Enabled     = IsSingleObject,
            };

            addString.SetAnchorPreset(AnchorPresets.MiddleRight, false, true);
            addString.ButtonClicked += OnAddStringClicked;
        }
예제 #6
0
        /// <inheritdoc />
        public override void Initialize(LayoutElementsContainer layout)
        {
            bool isMultiLine = false;

            var attributes = Values.GetAttributes();
            var multiLine  = attributes?.FirstOrDefault(x => x is MultilineTextAttribute);

            if (multiLine != null)
            {
                isMultiLine = true;
            }

            _element = layout.TextBox(isMultiLine);
            _element.TextBox.EditEnd += () => SetValue(_element.Text);
        }
 public Navigator UseWindow(int windowIndex)
 {
     _windowId = windowIndex;
     _container = _runningApp.GetWindows()[windowIndex];
     _button = null;
     _checkBox = null;
     _label = null;
     _radioButton = null;
     _textBox = null;
     _comboBox = null;
     _image = null;
     _tab = null;
     _treeView = null;
     _panel = null;
     return this;
 }
예제 #8
0
 /// <inheritdoc />
 public override void Initialize(LayoutElementsContainer layout)
 {
     _element = layout.TextBox();
     _element.TextBox.EditEnd += OnEditEnd;
 }
예제 #9
0
        public FindAndReplaceElement(View view)
            : base(view)
        {
            // Main Panel
            var mainPanel = new GridPanelElement(view);

            mainPanel.SetColumns(12);

            // Rows
            var findWhatRow    = mainPanel.AddRow();
            var replaceWithRow = mainPanel.AddRow();
            var settingsRow    = mainPanel.AddRow();

            // Find What
            var findWhatTextCell = findWhatRow.AddCell(10);
            var findWhatText     = new TextBoxElement(view);

            findWhatText.SetPlaceholder(Resources.FindAndReplaceElementFindWhat);
            findWhatText.OnKeyDown += OnFindWhatTextKeyDownHandler;
            findWhatTextCell.AddItem(findWhatText);

            // Find Menu
            var findWhatMenuCell = findWhatRow.AddCell(2);
            var findWhatMenu     = new ToolBarElement(view);

            findWhatMenuCell.AddItem(findWhatMenu);

            // Find Previous
            var findPreviousButton = new ToolBarButtonItem(view);

            findPreviousButton.SetImage("Actions/FindPrevious_16x16");
            findPreviousButton.SetToolTip(Resources.FindAndReplaceElementFindPreviousButtonToolTip);
            findPreviousButton.SetHotkey("Shift+F3");
            findPreviousButton.OnClick += OnFindPreviousHandler;
            findWhatMenu.AddItem(findPreviousButton);

            // Find Next
            var findNextButton = new ToolBarButtonItem(view);

            findNextButton.SetImage("Actions/FindNext_16x16");
            findNextButton.SetToolTip(Resources.FindAndReplaceElementFindNextButtonToolTip);
            findNextButton.SetHotkey("F3");
            findNextButton.OnClick += OnFindNextHandler;
            findWhatMenu.AddItem(findNextButton);

            // Replace With
            var replaceWithTextCell = replaceWithRow.AddCell(10);
            var replaceWithText     = new TextBoxElement(view);

            replaceWithText.SetPlaceholder(Resources.FindAndReplaceElementReplaceWith);
            replaceWithTextCell.AddItem(replaceWithText);

            // Replace Menu
            var replaceWithMenuCell = replaceWithRow.AddCell(2);
            var replaceWithMenu     = new ToolBarElement(view);

            replaceWithMenuCell.AddItem(replaceWithMenu);

            // Replace
            var replaceButton = new ToolBarButtonItem(view);

            replaceButton.SetImage("Actions/Replace_16x16");
            replaceButton.SetToolTip(Resources.FindAndReplaceElementReplaceButtonToolTip);
            replaceButton.SetHotkey("Alt+R");
            replaceButton.OnClick += OnReplaceHandler;
            replaceWithMenu.AddItem(replaceButton);

            // Replace All
            var replaceAllButton = new ToolBarButtonItem(view);

            replaceAllButton.SetImage("Actions/ReplaceAll_16x16");
            replaceAllButton.SetToolTip(Resources.FindAndReplaceElementReplaceAllButtonToolTip);
            replaceAllButton.SetHotkey("Alt+A");
            replaceAllButton.OnClick += OnReplaceAllHandler;
            replaceWithMenu.AddItem(replaceAllButton);

            // Match Case
            var matchCaseCell  = settingsRow.AddCell(2);
            var matchCaseCheck = new CheckBoxElement(view);

            matchCaseCheck.SetText(Resources.FindAndReplaceElementMatchCase);
            matchCaseCheck.SetHorizontalAlignment(ElementHorizontalAlignment.Left);
            matchCaseCell.AddItem(matchCaseCheck);

            // Whole Word
            var wholeWordCell  = settingsRow.AddCell(2);
            var wholeWordCheck = new CheckBoxElement(view);

            wholeWordCheck.SetText(Resources.FindAndReplaceElementWholeWord);
            wholeWordCheck.SetHorizontalAlignment(ElementHorizontalAlignment.Left);
            wholeWordCell.AddItem(wholeWordCheck);

            _setReplaceMode = replaceMode =>
            {
                replaceWithText.SetVisible(replaceMode);
                replaceButton.SetVisible(replaceMode);
                replaceAllButton.SetVisible(replaceMode);
            };

            _findWhatText    = findWhatText;
            _replaceWithText = replaceWithText;
            _matchCaseCheck  = matchCaseCheck;
            _wholeWordCheck  = wholeWordCheck;

            Control.Content = mainPanel.GetControl();
        }
예제 #10
0
        public virtual void PostProcessing(SceneNode oldElement, SceneNode newElement, DocumentCompositeNode styleNode)
        {
            SceneViewModel viewModel = newElement.ViewModel;

            if (!PlatformTypes.TextBox.IsAssignableFrom((ITypeId)newElement.Type) && !PlatformTypes.ContentControl.IsAssignableFrom((ITypeId)newElement.Type))
            {
                return;
            }
            StyleNode    styleElement;
            DocumentNode templateNode = MakeControlCommand.GetTemplateNode(newElement, styleNode, out styleElement);

            if (templateNode == null)
            {
                return;
            }
            DocumentCompositeNode documentCompositeNode1 = templateNode.FindFirst(new Predicate <DocumentNode>(this.SelectTextBlockPredicate)) as DocumentCompositeNode;

            if (documentCompositeNode1 == null)
            {
                return;
            }
            TextBlockElement      textBlockSceneNode     = styleElement.ViewModel.GetSceneNode((DocumentNode)documentCompositeNode1) as TextBlockElement;
            TextBoxElement        textBoxElement         = newElement as TextBoxElement;
            ContentControlElement contentControlElement1 = newElement as ContentControlElement;

            using (SceneEditTransaction editTransaction = styleElement.ViewModel.CreateEditTransaction(this.UndoString))
            {
                DocumentCompositeNode documentCompositeNode2 = templateNode.FindFirst(new Predicate <DocumentNode>(this.SelectContentPresenterPredicate)) as DocumentCompositeNode;
                if (textBoxElement != null)
                {
                    Dictionary <IPropertyId, IPropertyId> properties = new Dictionary <IPropertyId, IPropertyId>()
                    {
                        {
                            TextBlockElement.FontFamilyProperty,
                            ControlElement.FontFamilyProperty
                        },
                        {
                            TextBlockElement.FontWeightProperty,
                            ControlElement.FontWeightProperty
                        },
                        {
                            TextBlockElement.FontSizeProperty,
                            ControlElement.FontSizeProperty
                        },
                        {
                            TextBlockElement.FontStyleProperty,
                            ControlElement.FontStyleProperty
                        },
                        {
                            TextBlockElement.TextAlignmentProperty,
                            TextBoxElement.TextAlignmentProperty
                        },
                        {
                            TextBlockElement.PaddingProperty,
                            ControlElement.PaddingProperty
                        }
                    };
                    if (viewModel.ProjectContext.ResolveProperty(TextBoxElement.TextDecorationsProperty) != null && viewModel.ProjectContext.ResolveProperty(TextBlockElement.TextDecorationsProperty) != null)
                    {
                        properties.Add(TextBlockElement.TextDecorationsProperty, TextBoxElement.TextDecorationsProperty);
                    }
                    this.SetTextPropertiesOnStyle(viewModel, styleElement, textBlockSceneNode, properties);
                    ContentControlElement contentControlElement2 = (ContentControlElement)styleElement.ViewModel.CreateSceneNode(PlatformTypes.ScrollViewer);
                    if (viewModel.ProjectContext.IsCapabilitySet(PlatformCapability.IsWpf))
                    {
                        contentControlElement2.Name = "PART_ContentHost";
                        DocumentNode documentNode = (DocumentNode)DocumentNodeUtilities.NewTemplateBindingNode((DocumentNode)documentCompositeNode1, Base2DElement.SnapsToDevicePixelsProperty);
                        contentControlElement2.SetValue(Base2DElement.SnapsToDevicePixelsProperty, (object)documentNode);
                    }
                    else
                    {
                        contentControlElement2.Name = "ContentElement";
                        DocumentNode documentNode = (DocumentNode)DocumentNodeUtilities.NewTemplateBindingNode((DocumentNode)documentCompositeNode1, ControlElement.PaddingProperty);
                        contentControlElement2.SetValue(ControlElement.PaddingProperty, (object)documentNode);
                        contentControlElement2.SetLocalValueAsWpf(ControlElement.BorderThicknessProperty, (object)new Thickness(0.0));
                        contentControlElement2.SetLocalValue(ControlElement.IsTabStopProperty, (object)false);
                    }
                    textBoxElement.SetValue(TextBoxElement.TextProperty, textBlockSceneNode.GetLocalOrDefaultValue(TextBlockElement.TextProperty));
                    if (PlatformTypes.TextBox.IsAssignableFrom((ITypeId)newElement.Type) && PlatformTypes.TextBlock.IsAssignableFrom((ITypeId)oldElement.Type))
                    {
                        this.TransferLayoutProperties(MakeControlCommand.RenderTransformsProperties, (BaseFrameworkElement)textBlockSceneNode, (SceneElement)textBoxElement);
                        bool addRenderTransforms = true;
                        this.ClearLayoutProperties(this.GetLayoutProperties((SceneElement)textBlockSceneNode, addRenderTransforms), (SceneElement)contentControlElement2);
                    }
                    else
                    {
                        bool addRenderTransforms = true;
                        this.TransferLayoutProperties(this.GetLayoutProperties((SceneElement)textBlockSceneNode, addRenderTransforms), (BaseFrameworkElement)textBlockSceneNode, (SceneElement)contentControlElement2);
                    }
                    SceneNode parent           = textBlockSceneNode.Parent;
                    IProperty propertyForChild = parent.GetPropertyForChild((SceneNode)textBlockSceneNode);
                    ISceneNodeCollection <SceneNode> collectionForProperty = parent.GetCollectionForProperty((IPropertyId)propertyForChild);
                    int index = collectionForProperty.IndexOf((SceneNode)textBlockSceneNode);
                    collectionForProperty[index] = (SceneNode)contentControlElement2;
                    if (documentCompositeNode2 != null)
                    {
                        (styleElement.ViewModel.GetSceneNode((DocumentNode)documentCompositeNode2) as ContentPresenterElement).Remove();
                    }
                }
                else
                {
                    Dictionary <IPropertyId, IPropertyId> properties = new Dictionary <IPropertyId, IPropertyId>()
                    {
                        {
                            TextBlockElement.FontFamilyProperty,
                            ControlElement.FontFamilyProperty
                        },
                        {
                            TextBlockElement.FontWeightProperty,
                            ControlElement.FontWeightProperty
                        },
                        {
                            TextBlockElement.FontSizeProperty,
                            ControlElement.FontSizeProperty
                        },
                        {
                            TextBlockElement.FontStyleProperty,
                            ControlElement.FontStyleProperty
                        }
                    };
                    this.SetTextPropertiesOnStyle(viewModel, styleElement, textBlockSceneNode, properties);
                    contentControlElement1.SetValue((IPropertyId)contentControlElement1.DefaultContentProperty, textBlockSceneNode.GetLocalOrDefaultValue(TextBlockElement.TextProperty));
                    if (documentCompositeNode2 != null)
                    {
                        ContentPresenterElement presenterElement = (ContentPresenterElement)styleElement.ViewModel.GetSceneNode((DocumentNode)documentCompositeNode2);
                        if (PlatformTypes.ContentControl.IsAssignableFrom((ITypeId)newElement.Type) && PlatformTypes.TextBlock.IsAssignableFrom((ITypeId)oldElement.Type))
                        {
                            this.TransferLayoutProperties(MakeControlCommand.RenderTransformsProperties, (BaseFrameworkElement)textBlockSceneNode, (SceneElement)newElement);
                            bool addRenderTransforms = true;
                            this.ClearLayoutProperties(this.GetLayoutProperties((SceneElement)textBlockSceneNode, addRenderTransforms), (SceneElement)presenterElement);
                        }
                        else
                        {
                            bool addRenderTransforms = true;
                            this.TransferLayoutProperties(this.GetLayoutProperties((SceneElement)textBlockSceneNode, addRenderTransforms), (BaseFrameworkElement)textBlockSceneNode, (SceneElement)presenterElement);
                        }
                    }
                    textBlockSceneNode.Remove();
                }
                if (textBlockSceneNode.IsSet(TextBlockElement.ForegroundProperty) == PropertyState.Set)
                {
                    styleElement.SetValue(ControlElement.ForegroundProperty, textBlockSceneNode.GetLocalValue(TextBlockElement.ForegroundProperty));
                }
                editTransaction.Commit();
            }
        }
예제 #11
0
 /// <inheritdoc />
 public override void Initialize(LayoutElementsContainer layout)
 {
     element = layout.TextBox();
     element.TextBox.EditEnd += () => SetValue(element.Text);
 }
 public TextBoxElement TextBox()
 {
     return _textBox ?? (_textBox = new TextBoxElement(_container));
 }