1 package org.simantics.plant3d.dialog;
3 import org.eclipse.jface.viewers.LabelProvider;
4 import org.simantics.plant3d.utils.Item;
6 public class ComponentLabelProvider extends LabelProvider{
9 public String getText(Object element) {
10 Item item = (Item)element;
11 String label = item.getLabel();
12 return label != null ? label : fromCamelCase(item.getName());
15 private static String fromCamelCase(String name) {
16 StringBuilder b = new StringBuilder(name);
17 for (int i = 0; i < b.length(); i++) {
18 char ch = b.charAt(i);
19 if (i == 0 && Character.isLowerCase(ch)) {
20 b.setCharAt(i, Character.toUpperCase(ch));
23 if (i == 0 || b.charAt(i-1) == ' ') {
31 else if (i >= 2 && Character.isLowerCase(ch) &&
32 Character.isUpperCase(b.charAt(i-1)) &&
33 b.charAt(i-2) != ' ') {