horizontalSnapModel.getGridModel().setGridSize(StrictGeomUtility.toInternalValue(getGridSize()));
verticalSnapModel.getGridModel().setGridSize(StrictGeomUtility.toInternalValue(getGridSize()));
horizontalSnapModel.setEnableGrid(WorkspaceSettings.getInstance().isSnapToGrid());
verticalSnapModel.setEnableGrid(WorkspaceSettings.getInstance().isSnapToGrid());
final SnapToPositionModel horizontalGuildesPositions = horizontalSnapModel.getGuidesModel();
horizontalGuildesPositions.clear();
final GuideLine[] hlines = horizontalLinealModel.getGuideLines();
for (int i = 0; i < hlines.length; i++)
{
final GuideLine guideLine = hlines[i];
if (guideLine.isActive())
{
horizontalGuildesPositions.add(StrictGeomUtility.toInternalValue(guideLine.getPosition()), null);
}
}
final SnapToPositionModel verticalGuidesPositions = verticalSnapModel.getGuidesModel();
verticalGuidesPositions.clear();
final GuideLine[] vlines = verticalLinealModel.getGuideLines();
for (int i = 0; i < vlines.length; i++)
{
final GuideLine guideLine = vlines[i];
if (guideLine.isActive())
{
verticalGuidesPositions.add(StrictGeomUtility.toInternalValue(guideLine.getPosition()), null);
}
}
final SnapToPositionModel hElementModel = horizontalSnapModel.getElementModel();
hElementModel.clear();
final BreakPositionsList horizontalPositions = getHorizontalEdgePositions();
final long[] horizontalKeys;
if (horizontalPositionsModel == null)
{
horizontalKeys = horizontalPositions.getKeys();
}
else
{
horizontalKeys = horizontalPositionsModel.getBreaks();
}
for (int i = 0; i < horizontalKeys.length; i++)
{
final long key = horizontalKeys[i];
hElementModel.add(key, horizontalPositions.getOwner(key));
}
final SnapToPositionModel vElementModel = verticalSnapModel.getElementModel();
vElementModel.clear();
final BreakPositionsList verticalPositions = getVerticalEdgePositions();
final long[] verticalKeys = verticalPositions.getKeys();
for (int i = 0; i < verticalKeys.length; i++)
{
final long key = verticalKeys[i];
vElementModel.add(key, verticalPositions.getOwner(key));
}
switch (currentIndicator)
{
case MOVE: