예제 #1
0
        private string ExtractText(ComboBoxTemplate selectedOption)
        {
            string jsonString = "";

            var readerType       = (ReaderType)selectedOption.Value;
            var sourceTextReader = SourceReaderFactory.GetAppropriateReader(readerType);

            switch (selectedOption.Value)
            {
            case 3 when !string.IsNullOrEmpty(txtFileName.Text):
                jsonString = sourceTextReader.GetTextFromSource(txtFileName.Text);
                break;

            case 2 when dgTexts.SelectedItem != null:
            {
                var selectedDataGriItem = dgTexts.SelectedItem as SavedText;
                jsonString = _savedTextRepository.GetById(selectedDataGriItem.Id).TextValue;
                break;
            }

            case 1 when !string.IsNullOrEmpty(txtUserInput.Text):
                jsonString = txtUserInput.Text;
                break;
            }

            return(jsonString);
        }
예제 #2
0
        public void ApplyTemplate(ComboBoxTemplate template)
        {
            if (null == template)
            {
                throw new ArgumentNullException(nameof(template));
            }

            BeginUpdate();

            Items.Clear();

            DropDownStyle = ComboBoxStyle.DropDownList;

            var index         = 0;
            var selectedIndex = -1;

            foreach (var itemTemplate in template.Items)
            {
                if (itemTemplate.Selected)
                {
                    selectedIndex = index;
                }

                var comboBoxItem = new ComboBoxItem(itemTemplate.Text, itemTemplate.Value);
                Items.Add(comboBoxItem);

                index++;
            }

            if (-1 != selectedIndex)
            {
                SelectedIndex = selectedIndex;
            }
            else
            {
                if (Items.Count > 0)
                {
                    SelectedIndex = 0;
                }
            }

            EndUpdate();
        }
        public virtual object ReadJson(JToken jToken, JsonSerializer serializer)
        {
            if (null == jToken)
            {
                throw new ArgumentNullException(nameof(jToken));
            }

            if (null == serializer)
            {
                throw new ArgumentNullException(nameof(serializer));
            }

            var type = (string)jToken["type"];

            ControlTemplate controlTemplate;

            switch (type)
            {
            case ControlType.TextBox:
                controlTemplate = new TextBoxTemplate();
                break;

            case ControlType.ComboBox:
                controlTemplate = new ComboBoxTemplate();
                break;

            case ControlType.NumericUpDown:
                controlTemplate = new NumericUpDownTemplate();
                break;

            case ControlType.CheckBox:
                controlTemplate = new CheckBoxTemplate();
                break;

            case ControlType.TextBoxWithButton:
                controlTemplate = new TextBoxWithButtonTemplate();
                break;

            case ControlType.DateTimePicker:
                controlTemplate = new DateTimePickerTemplate();
                break;

            case ControlType.Table:
                controlTemplate = new TableTemplate();
                break;

            case ControlType.GroupBox:
                controlTemplate = new GroupBoxTemplate <ShapeColumnTemplate>();
                break;

            default:
                throw new InvalidOperationException("type == " + type);
            }

            using (var innerReader = jToken.CreateReader())
            {
                serializer.Populate(innerReader, controlTemplate);
            }

            return(controlTemplate);
        }