// layout.marginHeight=0;
owner.setLayout(layout);
Link la = new Link(owner, SWT.NONE);
la.setText("Add view of kind:");
RootElement r = new RootElement(owner);
r.setLayoutData(GridDataFactory.fillDefaults().grab(true, false)
.create());
GridLayout layout32 = new GridLayout(7, false);
r.setLayout(layout32);
layout32.marginHeight = 3;
kindsText = new BaseViewerOneLineTextElement<String>();
Binding bnd = new Binding("");
if (kind != null) {
bnd.setValue(kind, null);
} else {
bnd.setValue("", null);
}
// bnd.setName("");
// bnd.setRequired(true);
kindsText.setContentAssistLabelProvider(new LabelProvider() {
public Image getImage(Object element) {
return imageDescriptorFromPlugin;
}
});
kindsText.setBinding(bnd);
kindsRealm = new Realm<String>();
kindsText.addListener(SWT.FocusIn, new SWTEventListener<Text>() {
public void handleEvent(AbstractUIElement<Text> element,
Event event) {
if (!isDebug()) {
addKindsFromStats();
} else {
try {
BaseDataFacade f = tableUi.getFacade();
String ns = "";
if (f != null) {
ns = f.getNamespace();
if (ns == null) {
ns = "";
}
}
appendKInds(project, ns);
} catch (Exception e) {
// e.printStackTrace();
Activator
.getDefault()
.getLog()
.log(new Status(0, Activator.PLUGIN_ID,
"Exception", e));
}
}
}
});
bnd.setRealm(kindsRealm);
kindsText.setContentAssistEnabled(true);
kindsText.setLayoutData(GridDataFactory.fillDefaults()
.grab(true, false).minSize(100, -1).create());
r.add(kindsText);
DisposeBindingListener.linkBindingLifeCycle(bnd, kindsText);
Binding b = new Binding(this);
b.setAutoCommit(true);
OneLineTextElement<String> l = new OneLineTextElement<String>();
l.setCaption("Display not more then:");
Binding binding2 = b.getBinding("limit");
binding2.setRealm(new Realm<String>("All", "10", "100", "500",
"1000", "10000"));
binding2.addCommitListener(new ICommitListener() {
public void commitPerformed(ICommand command) {
CTabItem selection = viewHolder.getSelection();
if (selection != null) {
BaseDataFacade bf = (BaseDataFacade) selection
.getData();
try {
bf.setLimit(Integer.parseInt(limit));
} catch (NumberFormatException e1) {
bf.setLimit(-1);
}
}
}
});
l.setBinding(binding2);
l.setLayoutData(GridDataFactory.fillDefaults().hint(50, -1)
.create());
ComboEnumeratedValueSelector<IProject> v = new ComboEnumeratedValueSelector<IProject>();
DisposeBindingListener.linkBindingLifeCycle(b, l);
binding = new Binding("");
binding.setRequired(true);
binding.setName("Project:");
projects = new Realm<IProject>();
initProjects(projects);
binding.setRealm(projects);
v.setBinding(binding);
if (projectString != null) {
for (IProject p : projects) {
if (p.getName().equals(projectString)) {
setProject(JavaCore.create(p));
}
}
}
DisposeBindingListener.linkBindingLifeCycle(binding, v);
binding.addValueListener(new IValueListener<Object>() {
public void valueChanged(Object oldValue, Object newValue) {
IProject pr = null;
if (newValue instanceof String) {
pr = ResourcesPlugin.getWorkspace().getRoot()
.getProject(newValue.toString());
}
if (newValue instanceof IProject) {
pr = (IProject) newValue;
}
if (pr != null) {
IJavaProject create = JavaCore.create(pr);
if (project == null
|| !create.getElementName().equals(
project.getElementName())) {
setProject(create);
}
} else {
setProject(null);
}
}
});
binding.setAdapter(ITextLabelProvider.class,
new ITextLabelProvider() {
public String getText(Object object) {
if (object == null) {
return "";
}
IProject p = (IProject) object;
return p.getName();
}
public String getDescription(Object object) {
return "";
}
});
r.add(l);
r.add(v);
r.add(new UniversalUIElement<ToolBar>(ToolBar.class, SWT.NONE) {
protected ToolBar createControl(Composite conComposite) {
ToolBarManager tm = new ToolBarManager();
tm.add(new Action("Add view") { // Add view from development