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; }
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); } } }