JBoolean
CMArray2DTable::ExtractInputData
	(
	const JPoint& cell
	)
{
	JXInputField* input = NULL;
	const JBoolean ok = GetXInputField(&input);
	assert( ok );
	const JString& text = input->GetText();

	if (!text.IsEmpty())
		{
		if (text != itsOrigEditValue)
			{
			const JString name = itsArrayDir->GetExpression(cell);
			(CMGetLink())->SetValue(name, text);
			}
		return kJTrue;
		}
	else
		{
		return kJFalse;
		}
}
JXInputField*
CMArray2DTable::CreateXInputField
	(
	const JPoint&		cell,
	const JCoordinate	x,
	const JCoordinate	y,
	const JCoordinate	w,
	const JCoordinate	h
	)
{
	JXInputField* input = JXStringTable::CreateXInputField(cell, x,y, w,h);
	input->SetIsRequired();

	itsOrigEditValue = input->GetText();

	return input;
}