SSR: new dialog - new short texts for tool tips

This commit is contained in:
Bas Leijdekkers
2018-09-03 17:09:21 +03:00
parent 4f6cf667bf
commit 9d4ad7c6da
3 changed files with 25 additions and 35 deletions
@@ -9,6 +9,7 @@ import com.intellij.openapi.editor.Editor;
import com.intellij.openapi.editor.LogicalPosition;
import com.intellij.openapi.editor.event.*;
import com.intellij.openapi.util.Key;
import com.intellij.openapi.util.registry.Registry;
import com.intellij.openapi.util.text.StringUtil;
import com.intellij.structuralsearch.MatchVariableConstraint;
import com.intellij.structuralsearch.NamedScriptableDefinition;
@@ -130,54 +131,45 @@ public class SubstitutionShortInfoHandler implements DocumentListener, EditorMou
if (namedScriptableDefinition instanceof MatchVariableConstraint) {
final MatchVariableConstraint constraint = (MatchVariableConstraint)namedScriptableDefinition;
if (constraint.isPartOfSearchResults()) {
if (constraint.isPartOfSearchResults() && !Registry.is("ssr.use.new.search.dialog")) {
append(buf, SSRBundle.message("target.tooltip.message"));
}
if (constraint.getRegExp() != null && !constraint.getRegExp().isEmpty()) {
append(buf, SSRBundle.message("text.tooltip.message",
constraint.isInvertRegExp() ? SSRBundle.message("not.tooltip.message") : "", constraint.getRegExp()));
append(buf, SSRBundle.message("text.tooltip.message", constraint.isInvertRegExp() ? 1 : 0, constraint.getRegExp(),
constraint.isWholeWordsOnly() ? 1 : 0, constraint.isWithinHierarchy() ? 1 : 0));
}
if (constraint.isWithinHierarchy() || constraint.isStrictlyWithinHierarchy()) {
append(buf, SSRBundle.message("within.hierarchy.tooltip.message"));
else if (constraint.isWithinHierarchy()) {
append(buf, SSRBundle.message("hierarchy.tooltip.message"));
}
if (!StringUtil.isEmpty(constraint.getReferenceConstraint())) {
final String text = StringUtil.unquoteString(constraint.getReferenceConstraint());
append(buf, SSRBundle.message("reference.target.tooltip.message",
constraint.isInvertReference() ? SSRBundle.message("not.tooltip.message") : "", text));
append(buf, SSRBundle.message("reference.target.tooltip.message", constraint.isInvertReference() ? 1 : 0, text));
}
if (constraint.getNameOfExprType() != null && !constraint.getNameOfExprType().isEmpty()) {
append(buf, SSRBundle.message("exprtype.tooltip.message",
constraint.isInvertExprType() ? SSRBundle.message("not.tooltip.message") : "",
constraint.isInvertExprType() ? 1 : 0,
constraint.getNameOfExprType(),
constraint.isExprTypeWithinHierarchy() ? SSRBundle.message("supertype.tooltip.message") : ""));
constraint.isExprTypeWithinHierarchy() ? 1 : 0));
}
if (constraint.getNameOfFormalArgType() != null && !constraint.getNameOfFormalArgType().isEmpty()) {
append(buf, SSRBundle.message("expected.type.tooltip.message",
constraint.isInvertFormalType() ? SSRBundle.message("not.tooltip.message") : "",
constraint.isInvertFormalType() ? 1 : 0,
constraint.getNameOfFormalArgType(),
constraint.isFormalArgTypeWithinHierarchy() ? SSRBundle.message("supertype.tooltip.message") : ""));
constraint.isFormalArgTypeWithinHierarchy() ? 1 : 0));
}
if (StringUtil.isNotEmpty(constraint.getWithinConstraint())) {
final String text = StringUtil.unquoteString(constraint.getWithinConstraint());
append(buf, constraint.isInvertWithinConstraint()
? SSRBundle.message("not.within.constraints.tooltip.message", text)
: SSRBundle.message("within.constraints.tooltip.message", text));
append(buf, SSRBundle.message("within.constraints.tooltip.message", constraint.isInvertWithinConstraint() ? 1 : 0, text));
}
final String name = constraint.getName();
if (!Configuration.CONTEXT_VAR_NAME.equals(name)) {
if (constraint.getMinCount() == constraint.getMaxCount()) {
append(buf, SSRBundle.message("occurs.tooltip.message", constraint.getMinCount()));
}
else {
append(buf, SSRBundle.message("min.occurs.tooltip.message", constraint.getMinCount(),
constraint.getMaxCount() == Integer.MAX_VALUE ?
StringUtil.decapitalize(SSRBundle.message("editvarcontraints.unlimited")) :
constraint.getMaxCount()));
}
final int maxCount = constraint.getMaxCount();
append(buf, SSRBundle.message("min.occurs.tooltip.message", constraint.getMinCount(),
(maxCount == Integer.MAX_VALUE) ? "∞" : maxCount));
}
}
@@ -27,7 +27,8 @@ public class TextFilter extends FilterAction {
@Override
public boolean hasFilter() {
return !StringUtil.isEmpty(myTable.getConstraint().getRegExp());
final MatchVariableConstraint constraint = myTable.getConstraint();
return !StringUtil.isEmpty(constraint.getRegExp()) || constraint.isWithinHierarchy();
}
@Override
@@ -179,18 +179,15 @@ editvarcontraints.edit.variables=Edit Variables
no.constraints.specified.tooltip.message=no constraints specified
script.option.text=Script text\:
occurs.tooltip.message=occurs: {0}
min.occurs.tooltip.message=min occurs: {0}, max occurs: {1}
min.occurs.tooltip.message=count=[{0},{1}]
target.tooltip.message=target
text.tooltip.message=text{0} like: {1}
exprtype.tooltip.message=type{2}{0} like: {1}
supertype.tooltip.message=\ or supertype
expected.type.tooltip.message=expected type{2}{0} like: {1}
not.tooltip.message=\ not
within.hierarchy.tooltip.message=search in supers
script.tooltip.message=script:\n {0}
within.constraints.tooltip.message=within {0}
not.within.constraints.tooltip.message=not within {0}
reference.target.tooltip.message=reference target{0} like: {1}
text.tooltip.message=text{0,choice,0#=|1#\u2260}{1}{2,choice,0#|1#, whole words}{3,choice,0#|1#, within hierarchy}
hierarchy.tooltip.message=search within hierarchy
exprtype.tooltip.message=type{0,choice,0#=|1#\u2260}{1}{2,choice,0#|1#, within hierarchy}
expected.type.tooltip.message=expected type{0,choice,0#=|1#\u2260}{1}{2,choice,0#|1#, within hierarchy}
script.tooltip.message=script=\n {0}
within.constraints.tooltip.message=within{0,choice,0#=|1#\u2260}{1}
reference.target.tooltip.message=reference{0,choice,0#=|1#\u2260}{1}
complete.match.variable.tooltip.message=Complete Match: {0}
replacement.variable.is.not.defined.message=Replacement variable {0} is not defined.
replacement.variable.is.not.valid=Replacement variable {0} has script code problem {1}