private static void formatStyle( final StringBuilder builder, final SimpleTextAttributes attributes) { final Color fgColor = attributes.getFgColor(); final Color bgColor = attributes.getBgColor(); final int style = attributes.getStyle(); final int pos = builder.length(); if (fgColor != null) { builder .append("color:#") .append(Integer.toString(fgColor.getRGB() & 0xFFFFFF, 16)) .append(';'); } if (bgColor != null) { builder .append("background-color:#") .append(Integer.toString(bgColor.getRGB() & 0xFFFFFF, 16)) .append(';'); } if ((style & SimpleTextAttributes.STYLE_BOLD) != 0) { builder.append("font-weight:bold;"); } if ((style & SimpleTextAttributes.STYLE_ITALIC) != 0) { builder.append("font-style:italic;"); } if ((style & SimpleTextAttributes.STYLE_UNDERLINE) != 0) { builder.append("text-decoration:underline;"); } else if ((style & SimpleTextAttributes.STYLE_STRIKEOUT) != 0) { builder.append("text-decoration:line-through;"); } if (builder.length() > pos) { builder.insert(pos, " style=\""); builder.append('"'); } }
private void updateText() { StringBuilder sb = new StringBuilder(); if (myShowSettingsBeforeRunCheckBox.isSelected()) { sb.append(ExecutionBundle.message("configuration.edit.before.run")).append(", "); } List<BeforeRunTask> tasks = myModel.getItems(); if (!tasks.isEmpty()) { LinkedHashMap<BeforeRunTaskProvider, Integer> counter = new LinkedHashMap<BeforeRunTaskProvider, Integer>(); for (BeforeRunTask task : tasks) { BeforeRunTaskProvider<BeforeRunTask> provider = BeforeRunTaskProvider.getProvider( myRunConfiguration.getProject(), task.getProviderId()); if (provider != null) { Integer count = counter.get(provider); if (count == null) { count = task.getItemsCount(); } else { count += task.getItemsCount(); } counter.put(provider, count); } } for (Iterator<Map.Entry<BeforeRunTaskProvider, Integer>> iterator = counter.entrySet().iterator(); iterator.hasNext(); ) { Map.Entry<BeforeRunTaskProvider, Integer> entry = iterator.next(); BeforeRunTaskProvider provider = entry.getKey(); String name = provider.getName(); if (name.startsWith("Run ")) { name = name.substring(4); } sb.append(name); if (entry.getValue() > 1) { sb.append(" (").append(entry.getValue().intValue()).append(")"); } if (iterator.hasNext()) sb.append(", "); } } if (sb.length() > 0) { sb.insert(0, ": "); } sb.insert(0, ExecutionBundle.message("before.launch.panel.title")); myListener.titleChanged(sb.toString()); }
private String buildLabelText( @NotNull final String text, @NotNull final Map<TextRange, ParameterInfoUIContextEx.Flag> flagsMap) { final StringBuilder labelText = new StringBuilder(text); final String disabledTag = FLAG_TO_TAG.get(ParameterInfoUIContextEx.Flag.DISABLE); final Map<Integer, Integer> faultMap = new HashMap<>(); if (isDisabledBeforeHighlight) { final String tag = getTag(disabledTag); labelText.insert(0, tag); faultMap.put(0, tag.length()); } for (Map.Entry<TextRange, ParameterInfoUIContextEx.Flag> entry : flagsMap.entrySet()) { final TextRange highlightRange = entry.getKey(); final ParameterInfoUIContextEx.Flag flag = entry.getValue(); final String tagValue = FLAG_TO_TAG.get(flag); final String tag = getTag(tagValue); int startOffset = highlightRange.getStartOffset(); int endOffset = highlightRange.getEndOffset() + tag.length(); for (Map.Entry<Integer, Integer> entry1 : faultMap.entrySet()) { if (entry1.getKey() < highlightRange.getStartOffset()) { startOffset += entry1.getValue(); } if (entry1.getKey() < highlightRange.getEndOffset()) { endOffset += entry1.getValue(); } } if (flag == ParameterInfoUIContextEx.Flag.HIGHLIGHT && isDisabledBeforeHighlight) { final String disableCloseTag = getClosingTag(disabledTag); labelText.insert(startOffset, disableCloseTag); faultMap.put(highlightRange.getStartOffset(), disableCloseTag.length()); } labelText.insert(startOffset, tag); faultMap.put(highlightRange.getStartOffset(), tag.length()); final String endTag = getClosingTag(tagValue); labelText.insert(endOffset, endTag); faultMap.put(highlightRange.getEndOffset(), endTag.length()); } return XmlStringUtil.wrapInHtml(labelText); }
@NotNull public static String rightJustify(@NotNull String text, int width, char fillChar) { final StringBuilder builder = new StringBuilder(text); for (int i = text.length(); i < width; i++) { builder.insert(0, fillChar); } return builder.toString(); }
@Override public void insertString( DocumentFilter.FilterBypass fp, int offset, String string, AttributeSet aset) throws BadLocationException { Document doc = fp.getDocument(); String oldText = doc.getText(0, doc.getLength()); StringBuilder sb = new StringBuilder(oldText); sb.insert(offset, string); int len = string.length(); boolean isValidInteger = true; for (int i = 0; i < len; i++) { if (!Character.isDigit(string.charAt(i))) { isValidInteger = false; break; } } if (isValidInteger && verifyText(sb.toString())) super.insertString(fp, offset, string, aset); else Toolkit.getDefaultToolkit().beep(); }
@Override public final void customize( final JList list, final T value, final int index, final boolean selected, final boolean hasFocus) { myText = StringBuilderSpinAllocator.alloc(); try { doCustomize(list, value, index, selected, hasFocus); if (myText.length() == 0) { setText(null); } else { myText.insert(0, "<html><body style=\"white-space:nowrap\">"); myText.append("</body></html>"); setText(myText.toString()); } } finally { StringBuilderSpinAllocator.dispose(myText); myText = null; } }