91 lines
3.2 KiB
C#
91 lines
3.2 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.ComponentModel;
|
|
using System.Data;
|
|
using System.Drawing;
|
|
using System.Linq;
|
|
using System.Text;
|
|
using System.Threading.Tasks;
|
|
using System.Windows.Forms;
|
|
using CaeMesh;
|
|
using System.Reflection;
|
|
using CaeGlobals;
|
|
using DynamicTypeDescriptor;
|
|
|
|
namespace CPSO.Forms
|
|
{
|
|
public partial class FrmGetValue : Form
|
|
{
|
|
// Variables
|
|
private ViewDoubleValue _viewValue;
|
|
private double _labelRatio = 2.0; // larger value means wider second column
|
|
|
|
|
|
|
|
// Properties
|
|
public double Value
|
|
{
|
|
get { return _viewValue.Value; }
|
|
set { _viewValue.Value = value; }
|
|
}
|
|
public byte NumOfDigits { get { return _viewValue.NumOfDigits; } set { _viewValue.NumOfDigits = value; } }
|
|
public double MaxValue { get { return _viewValue.MaxValue; } set { _viewValue.MaxValue = value; } }
|
|
public double MinValue { get { return _viewValue.MinValue; } set { _viewValue.MinValue = value; } }
|
|
|
|
|
|
// Constructors
|
|
public FrmGetValue(Controller controller)
|
|
{
|
|
InitializeComponent();
|
|
//
|
|
_viewValue = new ViewDoubleValue();
|
|
//
|
|
propertyGrid.SetLabelColumnWidth(_labelRatio);
|
|
//
|
|
propertyGrid.BuildAutocompleteMenu(controller.GetAllParameterNames());
|
|
}
|
|
|
|
|
|
// Event handlers
|
|
private void propertyGrid_PropertyValueChanged(object s, PropertyValueChangedEventArgs e)
|
|
{
|
|
propertyGrid.Refresh();
|
|
}
|
|
|
|
private void btnOK_Click(object sender, EventArgs e)
|
|
{
|
|
try
|
|
{
|
|
DialogResult = DialogResult.OK;
|
|
Close();
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
ExceptionTools.Show(this, ex);
|
|
}
|
|
}
|
|
|
|
|
|
// Methods
|
|
public void PrepareForm(string title, string valueName, string valueDescription,
|
|
double value, OrderedDictionary<string, double> presetValues,
|
|
TypeConverter typeConverter = null)
|
|
{
|
|
Text = title;
|
|
//
|
|
_viewValue.Value = value;
|
|
_viewValue.PresetValues = presetValues;
|
|
//
|
|
_viewValue.SetDisplayName(valueName);
|
|
_viewValue.SetDescription(valueDescription);
|
|
if (typeConverter != null) _viewValue.SetTypeConverter(typeConverter);
|
|
else _viewValue.SetTypeConverter(new StringDoubleConverter());
|
|
//
|
|
propertyGrid.SelectedObject = _viewValue;
|
|
propertyGrid.Select();
|
|
}
|
|
|
|
|
|
}
|
|
}
|