package org.eclipse.incquery.tooling.ui.patternregistry.views;
import org.eclipse.incquery.runtime.patternregistry.PatternInfo;
import org.eclipse.incquery.runtime.patternregistry.PatternRegistry;
import org.eclipse.incquery.runtime.patternregistry.listeners.IPatternRegistryListener;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Label;
import org.eclipse.ui.part.ViewPart;
public class PatternRegistryViewPart extends ViewPart {
private Label label;
public PatternRegistryViewPart() {
super();
}
@Override
public void setFocus() {
label.setFocus();
}
@Override
public void createPartControl(Composite parent) {
label = new Label(parent, 0);
updateLabelText();
PatternRegistry.INSTANCE.registerListener(new IPatternRegistryListener() {
@Override
public void patternRemoved(PatternInfo patternInfo) {
updateLabelText();
}
@Override
public void patternAdded(PatternInfo patternInfo) {
updateLabelText();
}
});
}
private void updateLabelText() {
String labelText = "";
for (PatternInfo patternInfo : PatternRegistry.INSTANCE.getAllPatternInfosInAspect()) {
labelText = labelText.concat(patternInfo.getId() + "\n");
}
label.setText(labelText);
}
}