Пример #1
0
        void InitialiseControls()
        {
            int leftPosition = leftBorder;
            int topBorder    = MyPadding.Top + 10;

            Label     tempLabel;
            MyToolTip myToolTip;

            for (int column = 0; column <= 10; column++)
            {
                tempLabel      = new Label();
                tempLabel.Name = "heading" + column;
                tempLabel.Text = headingsText[column];

                tempLabel.Location = new Point(leftPosition, topBorder);
                leftPosition      += widths[column] + leftBorder;
                tempLabel.Size     = new Size(widths[column], defaultHeight);
                myToolTip          = new MyToolTip(tempLabel, toolTipText[column]);

                headingsLabels[column] = tempLabel;
                this.Controls.Add(headingsLabels[column]);
            }

            Label            tempLabel2;
            ParameterTextBox tempTextBox;

            leftPosition = leftBorder;

            for (int columnIndex = 0; columnIndex <= 2; columnIndex++)
            {
                for (int rowIndex = 0; rowIndex < Data.NumberOfDrivers; rowIndex++)
                {
                    tempLabel2          = new Label();
                    tempLabel2.Location = new Point(leftPosition, topBorder + (defaultHeight * (rowIndex + 1)) + (horizontalBorder * (rowIndex + 1)));
                    tempLabel2.Size     = new Size(widths[columnIndex], defaultHeight);
                    tempLabel2.Text     = paceParameterData.GetData(columnIndex, rowIndex);

                    nameBoxes[columnIndex, rowIndex] = tempLabel2;
                    this.Controls.Add(nameBoxes[columnIndex, rowIndex]);
                }
                leftPosition += widths[columnIndex] + leftBorder;
            }

            for (int columnIndex = 3; columnIndex <= 10; columnIndex++)
            {
                for (int rowIndex = 0; rowIndex < Data.NumberOfDrivers; rowIndex++)
                {
                    if (columnIndex == 5)
                    {
                        tempTextBox = new ParameterTextBox(rowIndex, columnIndex, paceParameterData.GetPaceData(columnIndex - 3, rowIndex), 0, paceParameterData.GetPaceData(3, rowIndex));
                    }
                    else
                    {
                        if (columnIndex == 4)
                        {
                            tempTextBox = new ParameterTextBox(rowIndex, columnIndex, paceParameterData.GetPaceData(columnIndex - 3, rowIndex), 0, true);
                        }
                        else
                        {
                            if (columnIndex == 6)
                            {
                                tempTextBox = new ParameterTextBox(rowIndex, columnIndex, paceParameterData.GetPaceData(columnIndex - 3, rowIndex), paceParameterData.GetPaceData(2, rowIndex), false);
                            }
                            else
                            {
                                tempTextBox = new ParameterTextBox(rowIndex, columnIndex, paceParameterData.GetPaceData(columnIndex - 3, rowIndex), 0, false);
                            }
                        }
                    }

                    tempTextBox.Location = new Point(leftPosition, topBorder + (defaultHeight * (rowIndex + 1)) + (horizontalBorder * (rowIndex + 1)));
                    tempTextBox.Size     = new Size(widths[columnIndex], defaultHeight);

                    parameterBoxes[columnIndex - 3, rowIndex] = tempTextBox;
                    parameterBoxes[columnIndex - 3, rowIndex].OnParameterChanged += paceParameterData.UpdateParameter;
                    parameterBoxes[columnIndex - 3, rowIndex].OnParameterChanged += PaceParameters_OnParameterChanged;

                    this.Controls.Add(parameterBoxes[columnIndex - 3, rowIndex]);
                }
                leftPosition += widths[columnIndex] + leftBorder;
            }

            thisToolStripDropDown = new ToolStripDropDownButton("Pace Parameters");

            save        = new ToolStripButton("Save", Properties.Resources.Save);
            save.Click += save_Click;
            thisToolStripDropDown.DropDownItems.Add(save);

            load        = new ToolStripButton("Load", Properties.Resources.Open);
            load.Click += load_Click;
            thisToolStripDropDown.DropDownItems.Add(load);

            resetDropDown        = new ToolStripButton("Reset", Properties.Resources.Reset);
            resetDropDown.Click += resetDropDown_Click;
            thisToolStripDropDown.DropDownItems.Add(resetDropDown);

            updateDropDown        = new ToolStripButton("Update", Properties.Resources.Update);
            updateDropDown.Click += updateDropDown_Click;
            thisToolStripDropDown.DropDownItems.Add(updateDropDown);

            goToStrategiesDropDown = new ToolStripDropDownButton("Start Strategies", Properties.Resources.Strategies);
            RaceDropDown FromFile = new RaceDropDown(0);

            FromFile.ButtonClicked += goToStrategies_Click;
            FromFile.Text           = "From File";
            goToStrategiesDropDown.DropDownItems.Add(FromFile);
            RaceDropDown FromData = new RaceDropDown(1);

            FromData.ButtonClicked += goToStrategies_Click;
            FromData.Text           = "From Data";
            goToStrategiesDropDown.DropDownItems.Add(FromData);

            thisToolStripDropDown.DropDownItems.Add(goToStrategiesDropDown);
            thisToolStripDropDown.DropDown.Width  = 200;
            goToStrategiesDropDown.DropDown.Width = 200;
        }
Пример #2
0
        public static void drawParameters(sapr_sim.Figures.UIEntity owner, StackPanel drawPanel, bool paramsEnabled)
        {
            drawPanel.Children.Clear();
            if (owner != null && owner.getParams() != null)
            {
                entity = owner;
                panel  = drawPanel;
                foreach (UIParam entry in owner.getParams())
                {
                    DockPanel sprow = new DockPanel()
                    {
                        LastChildFill = true, Margin = new Thickness(0, 2, 0, 5), Height = 28
                    };
                    System.Windows.Controls.Label l = new System.Windows.Controls.Label()
                    {
                        Content = entry.DisplayedText
                    };
                    ParameterInput input     = entry.ContentControl;
                    UIElement      uiControl = null;

                    if (input == null)
                    {
                        input     = new ParameterTextBox(entry.RawValue, paramsEnabled);
                        uiControl = input as UIElement;
                    }
                    else
                    {
                        input.setValue(entry.RawValue);
                        input               = input.Clone() as ParameterInput;
                        uiControl           = input as UIElement;
                        uiControl.IsEnabled = paramsEnabled;
                    }

                    if (!paramsEnabled)
                    {
                        (uiControl as FrameworkElement).MinWidth = ParameterConstants.QUICK_PANEL_WIDTH;
                        (uiControl as FrameworkElement).MaxWidth = ParameterConstants.QUICK_PANEL_WIDTH;
                    }

                    if (entry.DisplayedText == "Тип ресурса" && input is ParameterComboBox)
                    {
                        (input as ComboBox).SelectionChanged += ParameterProccesor_SelectionChanged;
                    }

                    sprow.Children.Add(l);
                    sprow.Children.Add(uiControl);

                    if (paramsEnabled)
                    {
                        l.Width = 150;
                        Image tooltip = new Image()
                        {
                            Source = new BitmapImage(new Uri(@"pack://application:,,,/Resources/param_tooltip.png", UriKind.Absolute))
                        };

                        tooltip.ToolTip = new ToolTip()
                        {
                            Content = new TextBox()
                            {
                                Text = entry.ToolTip, TextWrapping = TextWrapping.Wrap, Width = 250
                            }
                        };
                        tooltip.MouseEnter += tooltip_MouseEnter;
                        tooltip.MouseLeave += tooltip_MouseLeave;

                        sprow.Children.Add(tooltip);
                    }

                    drawPanel.Children.Add(sprow);
                }
            }
        }