public UiEncodingLabeledWatermark(string label, string watermark, int width, TextChangedEventHandler onValueChanged)
        {
            ColumnDefinitions.Add(new ColumnDefinition()
            {
                Width = GridLength.Auto
            });
            ColumnDefinitions.Add(new ColumnDefinition());

            Margin = new Thickness(5);

            UiTextBlock labelControl = UiTextBlockFactory.Create(label);

            {
                labelControl.Margin            = new Thickness(5, 5, 2, 5);
                labelControl.VerticalAlignment = VerticalAlignment.Center;
                AddUiElement(labelControl, 0, 0);
            }

            _textControl = UiWatermarkTextBoxFactory.Create(watermark);
            {
                _textControl.Width        = width;
                _textControl.Margin       = new Thickness(2, 5, 5, 5);
                _textControl.TextChanged += onValueChanged;
                AddUiElement(_textControl, 0, 1);
            }
        }
예제 #2
0
        public UiInputWindow(string watermark, string text)
        {
            #region Construct

            SizeToContent = SizeToContent.WidthAndHeight;
            WindowStartupLocation = WindowStartupLocation.CenterScreen;
            WindowStyle = WindowStyle.None;

            UiGrid root = UiGridFactory.Create(1, 2);
            {
                root.ColumnDefinitions[1].Width = GridLength.Auto;

                _textBox = UiWatermarkTextBoxFactory.Create(watermark, text);
                {
                    _textBox.Width = 320;
                    _textBox.Margin = new Thickness(3);
                    root.AddUiElement(_textBox, 0, 0);
                }

                UiButton button = UiButtonFactory.Create("OK");
                {
                    button.Width = 70;
                    button.Margin = new Thickness(3);
                    button.Click += OnOkButtonClick;
                    root.AddUiElement(button, 0, 1);
                }
            }
            Content = root;

            #endregion
        }
예제 #3
0
        public static UiWatermarkTextBox Create(string watermark, string text = null)
        {
            Exceptions.CheckArgumentNull(watermark, "watermark");

            UiWatermarkTextBox textBlock = new UiWatermarkTextBox {Watermark = watermark, Text = text ?? string.Empty};

            return textBlock;
        }
예제 #4
0
        public static UiWatermarkTextBox Create(string watermark, string text = null)
        {
            Exceptions.CheckArgumentNull(watermark, "watermark");

            UiWatermarkTextBox textBlock = new UiWatermarkTextBox {
                Watermark = watermark, Text = text ?? string.Empty
            };

            return(textBlock);
        }
예제 #5
0
        private void OnOutputTextChanged(object sender, TextChangedEventArgs e)
        {
            if (_source == null || _index < 0)
            {
                return;
            }

            UiWatermarkTextBox box  = (UiWatermarkTextBox)sender;
            string             text = box.Text;

            if (text != null && text.Length > 1)
            {
                box.Text       = text[text.Length - 1].ToString(CultureInfo.CurrentCulture);
                box.CaretIndex = text.Length;
                return;
            }

            char ch = string.IsNullOrEmpty(text) ? '\0' : text[0];

            _source.Chars[_littleIndex] = ch;
        }
예제 #6
0
        public UiEncodingLabeledWatermark(string label, string watermark, int width, TextChangedEventHandler onValueChanged)
        {
            ColumnDefinitions.Add(new ColumnDefinition() {Width = GridLength.Auto});
            ColumnDefinitions.Add(new ColumnDefinition());

            Margin = new Thickness(5);

            UiTextBlock labelControl = UiTextBlockFactory.Create(label);
            {
                labelControl.Margin = new Thickness(5, 5, 2, 5);
                labelControl.VerticalAlignment = VerticalAlignment.Center;
                AddUiElement(labelControl, 0, 0);
            }

            _textControl = UiWatermarkTextBoxFactory.Create(watermark);
            {
                _textControl.Width = width;
                _textControl.Margin = new Thickness(2, 5, 5, 5);
                _textControl.TextChanged += onValueChanged;
                AddUiElement(_textControl, 0, 1);
            }
        }
예제 #7
0
        private void OnInputTextChanged(object sender, TextChangedEventArgs e)
        {
            if (_source == null || _index < 0)
            {
                return;
            }

            foreach (char oldCh in _oldInputText)
            {
                _source.Codes.Remove(oldCh);
            }

            _oldInputText = string.Empty;

            UiWatermarkTextBox box  = (UiWatermarkTextBox)sender;
            string             text = box.Text ?? string.Empty;

            if (text.Length < 1)
            {
                return;
            }

            if (text.Length > 4)
            {
                box.Text       = text.Remove(0, text.Length - 4);
                box.CaretIndex = text.Length;
                return;
            }

            foreach (char ch in text)
            {
                _source.Codes[ch] = (short)_littleIndex;
            }

            _oldInputText = text;
        }
예제 #8
0
        public UiEncodingAdditionalCharacterControl()
        {
            Orientation       = Orientation.Horizontal;
            VerticalAlignment = VerticalAlignment.Center;

            #region Construct

            _indexLabel = UiTextBlockFactory.Create("#");
            {
                _indexLabel.Margin            = new Thickness(5);
                _indexLabel.VerticalAlignment = VerticalAlignment.Center;
                Children.Add(_indexLabel);
            }

            UiTextBlock rowLabel = UiTextBlockFactory.Create(Lang.EncodingEditor.Extra.Row);
            {
                rowLabel.Margin            = new Thickness(5, 5, 2, 5);
                rowLabel.VerticalAlignment = VerticalAlignment.Center;
                Children.Add(rowLabel);
            }

            _rowNumber = UiIntegerUpDownFactory.Create(0, byte.MaxValue);
            {
                _rowNumber.Width         = 50;
                _rowNumber.Margin        = new Thickness(2, 5, 5, 5);
                _rowNumber.ValueChanged += OnRowValueChanged;
                Children.Add(_rowNumber);
            }

            UiTextBlock colLabel = UiTextBlockFactory.Create(Lang.EncodingEditor.Extra.Column);
            {
                colLabel.Margin            = new Thickness(5, 5, 2, 5);
                colLabel.VerticalAlignment = VerticalAlignment.Center;
                Children.Add(colLabel);
            }

            _colNumber = UiIntegerUpDownFactory.Create(0, byte.MaxValue);
            {
                _colNumber.Width         = 50;
                _colNumber.Margin        = new Thickness(2, 5, 5, 5);
                _colNumber.ValueChanged += OnColValueChanged;
                Children.Add(_colNumber);
            }

            UiTextBlock outputLabel = UiTextBlockFactory.Create(Lang.EncodingEditor.Extra.ToText);
            {
                outputLabel.Margin            = new Thickness(5, 5, 2, 5);
                outputLabel.VerticalAlignment = VerticalAlignment.Center;
                Children.Add(outputLabel);
            }

            _output = UiWatermarkTextBoxFactory.Create("0x31->\"1\"");
            {
                _output.Width        = 60;
                _output.Margin       = new Thickness(2, 5, 5, 5);
                _output.TextChanged += OnOutputTextChanged;
                Children.Add(_output);
            }

            UiTextBlock inputLabel = UiTextBlockFactory.Create(Lang.EncodingEditor.Extra.FromText);
            {
                inputLabel.Margin            = new Thickness(5, 5, 2, 5);
                inputLabel.VerticalAlignment = VerticalAlignment.Center;
                Children.Add(inputLabel);
            }

            _input = UiWatermarkTextBoxFactory.Create("0x31<-\"1\"");
            {
                _input.Width        = 100;
                _input.Margin       = new Thickness(2, 5, 5, 5);
                _input.TextChanged += OnInputTextChanged;
                Children.Add(_input);
            }

            #endregion
        }
        public UiEncodingAdditionalCharacterControl()
        {
            Orientation = Orientation.Horizontal;
            VerticalAlignment = VerticalAlignment.Center;

            #region Construct

            _indexLabel = UiTextBlockFactory.Create("#");
            {
                _indexLabel.Margin = new Thickness(5);
                _indexLabel.VerticalAlignment = VerticalAlignment.Center;
                Children.Add(_indexLabel);
            }

            UiTextBlock rowLabel = UiTextBlockFactory.Create(Lang.EncodingEditor.Extra.Row);
            {
                rowLabel.Margin = new Thickness(5, 5, 2, 5);
                rowLabel.VerticalAlignment = VerticalAlignment.Center;
                Children.Add(rowLabel);
            }

            _rowNumber = UiIntegerUpDownFactory.Create(0, byte.MaxValue);
            {
                _rowNumber.Width = 50;
                _rowNumber.Margin = new Thickness(2, 5, 5, 5);
                _rowNumber.ValueChanged += OnRowValueChanged;
                Children.Add(_rowNumber);
            }

            UiTextBlock colLabel = UiTextBlockFactory.Create(Lang.EncodingEditor.Extra.Column);
            {
                colLabel.Margin = new Thickness(5, 5, 2, 5);
                colLabel.VerticalAlignment = VerticalAlignment.Center;
                Children.Add(colLabel);
            }

            _colNumber = UiIntegerUpDownFactory.Create(0, byte.MaxValue);
            {
                _colNumber.Width = 50;
                _colNumber.Margin = new Thickness(2, 5, 5, 5);
                _colNumber.ValueChanged += OnColValueChanged;
                Children.Add(_colNumber);
            }

            UiTextBlock outputLabel = UiTextBlockFactory.Create(Lang.EncodingEditor.Extra.ToText);
            {
                outputLabel.Margin = new Thickness(5, 5, 2, 5);
                outputLabel.VerticalAlignment = VerticalAlignment.Center;
                Children.Add(outputLabel);
            }

            _output = UiWatermarkTextBoxFactory.Create("0x31->\"1\"");
            {
                _output.Width = 60;
                _output.Margin = new Thickness(2, 5, 5, 5);
                _output.TextChanged += OnOutputTextChanged;
                Children.Add(_output);
            }

            UiTextBlock inputLabel = UiTextBlockFactory.Create(Lang.EncodingEditor.Extra.FromText);
            {
                inputLabel.Margin = new Thickness(5, 5, 2, 5);
                inputLabel.VerticalAlignment = VerticalAlignment.Center;
                Children.Add(inputLabel);
            }

            _input = UiWatermarkTextBoxFactory.Create("0x31<-\"1\"");
            {
                _input.Width = 100;
                _input.Margin = new Thickness(2, 5, 5, 5);
                _input.TextChanged += OnInputTextChanged;
                Children.Add(_input);
            }

            #endregion
        }