Quintiq file version 2.0
|
#parent: #root
|
Method NewUnit (
|
internal[GUIComponent] parent,
|
Unit parentunit,
|
Number x,
|
Number y
|
) as Unit id:Method_DialogCreateEditUnit_NewUnit
|
{
|
#keys: '[121072.0.301552331]'
|
Body:
|
[*
|
// To create a new unit
|
|
data := MacroPlan.Unit( relshadow,
|
Parent := parentunit,
|
Currency_MP := MacroPlan.BaseCurrency(),
|
UnitOfMeasure_MP := MacroPlan.DefaultUnitOfMeasure(),
|
ID := ''
|
);
|
Dialog.Data( data );
|
|
Dialog.SetDefaultCapacity();
|
Dialog.SetDefaultValue( parentunit, null( Group ) );
|
Dialog.EnableDisableComponent();
|
Dialog.SetTooltip();
|
|
result := this.DoModal( parent );
|
|
if( result > 0 )
|
{
|
// Calculate the default x and y position, then set to data
|
gridx := 0;
|
gridy := 0;
|
scv := DataHolderView.Data();
|
Node::NearestGridPoint( x - scv.OffsetX(), y - scv.OffsetY(), gridx, gridy, scv.GridPointDistance() );
|
data.DefaultGridX( gridx );
|
data.DefaultGridY( gridy );
|
|
data.Commit();
|
}
|
|
return data.WrappedInstance();
|
*]
|
}
|