in designer/src/com/android/tools/idea/uibuilder/handlers/constraint/ConstraintLayoutHandler.java [1128:1177]
public boolean isEnabled(List<NlComponent> selected) {
int count = selected.size();
switch (myActionType) {
case AlignVerticallyTop:
case AlignVerticallyMiddle:
case AlignVerticallyBottom:
case AlignHorizontallyLeft:
case AlignHorizontallyCenter:
case AlignHorizontallyRight:
case DistributeVertically:
case DistributeHorizontally:
case VerticalPack:
case HorizontalPack:
case AlignBaseline:
return count > 1;
case CreateHorizontalChain:
return count > 1 && !Scout.chainCheck(selected, Scout.ChainTest.InHorizontalChain);
case CreateVerticalChain:
return count > 1 && !Scout.chainCheck(selected, Scout.ChainTest.InVerticalChain);
case ExpandVertically:
case ExpandHorizontally:
case CenterHorizontallyInParent:
case CenterVerticallyInParent:
case CenterVertically:
case CenterHorizontally:
return count >= 1;
case ChainHorizontalMoveLeft:
return count == 1 && Scout.chainCheck(selected, Scout.ChainTest.InHorizontalChain) &&
!Scout.chainCheck(selected, Scout.ChainTest.IsTopOfChain);
case ChainVerticalMoveDown:
return count == 1 && Scout.chainCheck(selected, Scout.ChainTest.InVerticalChain) &&
!Scout.chainCheck(selected, Scout.ChainTest.IsBottomOfChain);
case ChainVerticalMoveUp:
return count == 1 && Scout.chainCheck(selected, Scout.ChainTest.InVerticalChain) &&
!Scout.chainCheck(selected, Scout.ChainTest.IsTopOfChain);
case ChainHorizontalMoveRight:
return count == 1 && Scout.chainCheck(selected, Scout.ChainTest.InHorizontalChain) &&
!Scout.chainCheck(selected, Scout.ChainTest.IsBottomOfChain);
case ChainHorizontalRemove:
return count == 1 && Scout.chainCheck(selected, Scout.ChainTest.InHorizontalChain);
case ChainVerticalRemove:
return count == 1 && Scout.chainCheck(selected, Scout.ChainTest.InVerticalChain);
case ChainInsertHorizontal:
return count == 1 && Scout.chainCheck(selected, Scout.ChainTest.IsNearHorizontalChain);
case ChainInsertVertical:
return count == 1 && Scout.chainCheck(selected, Scout.ChainTest.IsNearVerticalChain);
default:
return false;
}
}