using System; using System.Collections.Generic; using System.Diagnostics; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows; using System.Windows.Controls; using System.Windows.Controls.Primitives; using System.Windows.Data; using System.Windows.Documents; using System.Windows.Input; using System.Windows.Markup; using System.Windows.Media; using System.Windows.Media.Imaging; using System.Windows.Navigation; using System.Windows.Shapes; using Tango.Editors; using Tango.BL.Entities; using Tango.MachineStudio.Technician.TechItems; using Tango.Core; namespace Tango.MachineStudio.Technician.Editors { [ContentProperty("InnerContent")] public partial class TextElementEditor : ElementEditor { /// /// Initializes a new instance of the class. /// public TextElementEditor() : base() { InitializeComponent(); } /// /// Initializes a new instance of the class. /// /// The framework element. public TextElementEditor(TextItem textItem) : this() { TextItem = textItem; DataContext = TextItem; } /// /// Initializes a new instance of the class. /// /// The framework element. /// The bounds. public TextElementEditor(TextItem textItem, Rect bounds) : this(textItem) { Left = bounds.Left; Top = bounds.Top; Width = bounds.Width; Height = bounds.Height; } private TextItem _textItem; public TextItem TextItem { get { return _textItem; } set { _textItem = value; RaisePropertyChanged(nameof(TextItem)); } } /// /// Clones this instance. /// /// public override IElementEditor Clone() { try { var clonedItem = TextItem.Clone() as TextItem; TextElementEditor cloned = new TextElementEditor(clonedItem); cloned.Top = Top; cloned.Left = Left; cloned.Width = Width; cloned.Height = Height; cloned.Angle = Angle; return cloned; } catch (Exception ex) { throw new InvalidOperationException("Could not clone this editor. You may have to create a custom editor and implement a custom Clone method.", ex); } } /// /// Gets the hosted element. /// [ParameterIgnore] public override Object HostedElement { get { return TextItem; } } private void TextBox_PreviewKeyDown(object sender, KeyEventArgs e) { if (Keyboard.IsKeyDown(Key.LeftCtrl) && e.Key == Key.V) { e.Handled = true; } } } }