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; }
/// <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; }
/// <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; }
/// <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; }
/// <inheritdoc /> public override void Initialize(LayoutElementsContainer layout) { _element = layout.TextBox(); _element.TextBox.EditEnd += OnEditEnd; }
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(); }
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(); } }
/// <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)); }