107 lines
3.9 KiB
C#
107 lines
3.9 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.Linq;
|
|
using System.Text;
|
|
using System.Threading.Tasks;
|
|
using System.Windows.Forms;
|
|
using CaeGlobals;
|
|
|
|
|
|
namespace CPSO.Forms
|
|
{
|
|
class FrmModelProperties : UserControls.FrmProperties, IFormBase
|
|
{
|
|
// Variables
|
|
private ViewModelProperties _viewModelProperties;
|
|
private Controller _controller;
|
|
|
|
// Properties
|
|
public CaeModel.ModelProperties ModelProperties
|
|
{
|
|
get { return _viewModelProperties.GetBase(); }
|
|
set {_viewModelProperties = new ViewModelProperties(value);}
|
|
}
|
|
|
|
|
|
// Constructors
|
|
public FrmModelProperties(Controller controller)
|
|
: base(1.75)
|
|
{
|
|
InitializeComponent();
|
|
//
|
|
_controller = controller;
|
|
_viewModelProperties = null;
|
|
//
|
|
_addNew = false;
|
|
}
|
|
private void InitializeComponent()
|
|
{
|
|
this.gbProperties.SuspendLayout();
|
|
this.SuspendLayout();
|
|
//
|
|
// btnOkAddNew
|
|
//
|
|
this.btnOkAddNew.Text = "Apply";
|
|
//
|
|
// FrmModelProperties
|
|
//
|
|
this.ClientSize = new System.Drawing.Size(334, 411);
|
|
this.Name = "FrmModelProperties";
|
|
this.Text = "Edit Part";
|
|
this.gbProperties.ResumeLayout(false);
|
|
this.ResumeLayout(false);
|
|
|
|
}
|
|
|
|
|
|
// Overrides
|
|
protected override void OnApply(bool onOkAddNew)
|
|
{
|
|
_viewModelProperties = (ViewModelProperties)propertyGrid.SelectedObject;
|
|
//
|
|
if (_viewModelProperties.ModelType == CaeModel.ModelType.Submodel)
|
|
{
|
|
string fileName = _viewModelProperties.GlobalResultsFileName;
|
|
fileName = System.IO.Path.Combine(_controller.Settings.GetWorkDirectory(), fileName);
|
|
//
|
|
if (!System.IO.File.Exists(fileName))
|
|
throw new CaeException("The selected global results file " + fileName +" does not exist.");
|
|
}
|
|
else if (_viewModelProperties.ModelType == CaeModel.ModelType.SlipWearModel)
|
|
{
|
|
if (_viewModelProperties.NumberOfCycles % _viewModelProperties.CyclesIncrement != 0)
|
|
throw new CaeException("The number of slip wear cycles must be divided by the cycles increment.");
|
|
}
|
|
// Replace
|
|
if (_propertyItemChanged)
|
|
{
|
|
_controller.ReplaceModelPropertiesCommand(_viewModelProperties.Name, _viewModelProperties.GetBase());
|
|
}
|
|
}
|
|
protected override bool OnPrepareForm(string stepName, string modelToEditName)
|
|
{
|
|
// Disable selection
|
|
_controller.SetSelectByToOff();
|
|
//
|
|
_propertyItemChanged = false;
|
|
_viewModelProperties = null;
|
|
//
|
|
_viewModelProperties = new ViewModelProperties(_controller.Model.Properties.DeepClone());
|
|
_viewModelProperties.Name = _controller.Model.Name;
|
|
//
|
|
propertyGrid.SelectedObject = _viewModelProperties;
|
|
propertyGrid.Select();
|
|
//
|
|
propertyGrid.BuildAutocompleteMenu(_controller.GetAllParameterNames());
|
|
//
|
|
return true;
|
|
}
|
|
|
|
|
|
// Methods
|
|
|
|
|
|
|
|
}
|
|
}
|