private NewObjectViewController _newController;
private IObjectSpace _objectSpace;
public CounterObjectMeasureTechnologicalProcessValueController()
{
InitializeComponent();
TargetObjectType = typeof(CounterObjectMeasureTechnologicalProcessValue);
}
protected override void OnActivated()
{
base.OnActivated();
_newController = Frame.GetController<NewObjectViewController>();
if (_newController != null)
{
_newController.ObjectCreating += NewControllerOnObjectCreating;
}
_objectSpace = Application.CreateObjectSpace(typeof(CounterObjectMeasure));
}
private void NewControllerOnObjectCreating(object sender, ObjectCreatingEventArgs e)
{
Application.DetailViewCreating += ApplicationOnDetailViewCreating;
}
private void ApplicationOnDetailViewCreating(object sender, DetailViewCreatingEventArgs e)
{
if (!(e.Obj is CounterObjectMeasureTechnologicalProcessValue)) return;
var objectMeasure = _objectSpace.CreateObject<CounterObjectMeasure>();
var detailView = Application.CreateDetailView(objectMeasure);
detailView.ViewEditMode = ViewEditMode.Edit;
e.View = detailView;
}
protected override void OnDeactivated()
{
if (_newController != null)
{
Application.DetailViewCreating -= ApplicationOnDetailViewCreating;
_newController.ObjectCreating -= NewControllerOnObjectCreating;
}
base.OnDeactivated();
}