public StopEntry(SliderShowValues distance, SliderShowValues percent)
            {
                this.Distance = distance;
                this.Percent = percent;

                distance.ValueChanged += new EventHandler(Slider_ValueChanged);
                percent.ValueChanged += new EventHandler(Slider_ValueChanged);
            }
            public PropSync(SliderShowValues slider, PropertyInfo prop, object item, double desiredMin, double desiredMax)
            {
                _desiredMin = desiredMin;
                _desiredMax = desiredMax;

                _slider = slider;
                _prop = prop;

                // Using the public property, because it modifies slider
                this.Item = item;

                _slider.ValueChanged += new EventHandler(Slider_ValueChanged);
            }
Example #3
0
            public PropSync(SliderShowValues slider, PropertyInfo prop, object item, double desiredMin, double desiredMax)
            {
                _desiredMin = desiredMin;
                _desiredMax = desiredMax;

                _slider = slider;
                _prop   = prop;

                // Using the public property, because it modifies slider
                this.Item = item;

                _slider.ValueChanged += new EventHandler(Slider_ValueChanged);
            }
        private void Insert(int index, double distance, double percent)
        {
            #region Validate

            if (index < 0 || index > _entries.Count)
            {
                throw new ArgumentException("Insert index is out of range");
            }

            if (distance < 0)
            {
                throw new ArgumentException("Distance can't be negative");
            }

            #endregion

            // Create the row
            SliderShowValues distanceCtrl = new SliderShowValues()
            {
                Minimum = 0,
                Maximum = Math.Max(10, distance * 4),
                Value = distance,
                HorizontalAlignment = HorizontalAlignment.Center,
                VerticalAlignment = VerticalAlignment.Center,
            };

            SliderShowValues percentCtrl = new SliderShowValues()
            {
                Minimum = Math.Min(0, percent),
                Maximum = Math.Max(1, percent),
                Value = percent,
                HorizontalAlignment = HorizontalAlignment.Center,
                VerticalAlignment = VerticalAlignment.Center,
            };

            StopEntry entry = new StopEntry(distanceCtrl, percentCtrl);

            _entries.Insert(index, entry);

            // Add to grid
            Grid.SetColumn(entry.Distance, 0);
            Grid.SetColumn(entry.Percent, 2);

            if (grdStops.RowDefinitions.Count - 1 == index)
            {
                grdStops.RowDefinitions.Add(new RowDefinition() { Height = new GridLength(1, GridUnitType.Auto) });
            }

            grdStops.Children.Add(entry.Distance);
            grdStops.Children.Add(entry.Percent);

            SyncGridRowIndices();

            entry.ValueChanged += new EventHandler(Entry_ValueChanged);

            txtInsertIndex.Text = _entries.Count.ToString();
        }
        private UIElement GetColumnVisual(ColumnStats column, Style headerStyle, Style promptStyle, Style valueStyle, Style sliderStyle)
        {
            Grid grid = new Grid();// { HorizontalAlignment = System.Windows.HorizontalAlignment.Stretch, Background = Brushes.Yellow, };
            grid.ColumnDefinitions.Add(new ColumnDefinition() { Width = new GridLength(10) });
            grid.ColumnDefinitions.Add(new ColumnDefinition() { Width = new GridLength(1, GridUnitType.Auto), SharedSizeGroup = "itemPrompt" });
            grid.ColumnDefinitions.Add(new ColumnDefinition() { Width = new GridLength(5) });
            grid.ColumnDefinitions.Add(new ColumnDefinition() { Width = new GridLength(1, GridUnitType.Star), SharedSizeGroup = "itemValue" });

            #region header

            TextBlock text = new TextBlock()
            {
                Text = column.Name,
                Style = headerStyle,
            };

            grid.RowDefinitions.Add(new RowDefinition() { Height = new GridLength() });
            Grid.SetColumn(text, 0);
            Grid.SetColumnSpan(text, 4);
            Grid.SetRow(text, grid.RowDefinitions.Count - 1);
            grid.Children.Add(text);

            #endregion
            #region datatype

            // Type
            text = new TextBlock()
            {
                Text = column.FieldStats.FieldType.ToString(),
                Style = promptStyle,
            };

            grid.RowDefinitions.Add(new RowDefinition() { Height = new GridLength(2) });
            grid.RowDefinitions.Add(new RowDefinition() { Height = new GridLength() });
            Grid.SetColumn(text, 1);
            Grid.SetRow(text, grid.RowDefinitions.Count - 1);
            grid.Children.Add(text);

            // Checkbox
            if (column.FieldStats.FieldType != SOMFieldType.AlphaNumeric && column.FieldStats.FieldType != SOMFieldType.AnyText)
            {
                CheckBox checkbox = new CheckBox()
                {
                    Content = "Force text",
                    Tag = column,
                };

                checkbox.Checked += ColumnTextCheckbox_Checked;
                checkbox.Unchecked += ColumnTextCheckbox_Checked;

                Grid.SetColumn(checkbox, 3);
                Grid.SetRow(checkbox, grid.RowDefinitions.Count - 1);
                grid.Children.Add(checkbox);
            }

            #endregion
            #region vector width

            // Prompt
            text = new TextBlock()
            {
                Text = "vector width",
                Style = promptStyle,
            };

            grid.RowDefinitions.Add(new RowDefinition() { Height = new GridLength(2) });
            grid.RowDefinitions.Add(new RowDefinition() { Height = new GridLength() });
            Grid.SetColumn(text, 1);
            Grid.SetRow(text, grid.RowDefinitions.Count - 1);
            grid.Children.Add(text);

            // Value
            SliderShowValues slider = new SliderShowValues()
            {
                Minimum = 1,
                Maximum = 10,
                Value = 5,
                IsInteger = true,
                Tag = column,
                Style = sliderStyle,
            };

            slider.ValueChanged += ColumnSlider_ValueChanged;

            Grid.SetColumn(slider, 3);
            Grid.SetRow(slider, grid.RowDefinitions.Count - 1);
            grid.Children.Add(slider);

            #endregion

            // counts
            AddDescriptionRow(grid, "count", column.FieldStats.Count.ToString("N0"), promptStyle, valueStyle);
            AddDescriptionRow(grid, "unique", column.FieldStats.UniqueCount.ToString("N0"), promptStyle, valueStyle);

            #region datatype specific fields

            switch (column.FieldStats.FieldType)
            {
                case SOMFieldType.AlphaNumeric:
                case SOMFieldType.AnyText:
                    ShowUsedColumnStats_Text(grid, column.FieldStats, promptStyle, valueStyle);
                    break;

                case SOMFieldType.DateTime:
                    ShowUsedColumnStats_Datetime(grid, column.FieldStats, promptStyle, valueStyle);
                    break;

                case SOMFieldType.FloatingPoint:
                case SOMFieldType.Integer:
                    ShowUsedColumnStats_Number(grid, column.FieldStats, promptStyle, valueStyle);
                    break;

                default:
                    throw new ApplicationException("Unknown SOMFieldType: " + column.FieldStats.FieldType.ToString());
            }

            #endregion

            return new Border()
            {
                Child = grid,
                Padding = new Thickness(4),
            };
        }