01: package fr.aliacom.form.swt.maker;
02:
03: import org.eclipse.swt.SWT;
04: import org.eclipse.swt.graphics.Image;
05: import org.eclipse.swt.widgets.ToolBar;
06: import org.eclipse.swt.widgets.ToolItem;
07: import org.w3c.dom.Element;
08:
09: import fr.aliacom.common.ui.IconFactory;
10: import fr.aliacom.form.common.FormLoader;
11: import fr.aliacom.form.common.IFormComponent;
12: import fr.aliacom.form.swt.BuilderFactory;
13: import fr.aliacom.form.swt.SWTCommandBuilder;
14: import fr.aliacom.form.swt.SWTToolItem;
15: import fr.aliacom.form.swt.utils.SWTUtils;
16:
17: /**
18: * @author tom
19: *
20: * (C) 2001, 2002 Thomas Cataldo
21: */
22: public final class ToolItemBuilder extends SWTCommandBuilder {
23:
24: /**
25: * @see fr.aliacom.form.swt.SWTBuilder#build(org.w3c.dom.Element, fr.aliacom.form.common.IFormComponent, fr.aliacom.form.common.FormLoader, fr.aliacom.form.swt.BuilderFactory)
26: */
27: public IFormComponent build(Element elem, IFormComponent parent,
28: FormLoader loader, BuilderFactory factory) {
29: ToolItem item = new ToolItem(
30: (ToolBar) parent.getNativeWidget(), SWT.PUSH);
31:
32: Image img;
33: if (elem.hasAttribute("icon")) {
34: img = (Image) IconFactory.get(elem.getAttribute("icon"))
35: .getNativeWidget();
36: } else {
37: img = (Image) IconFactory.get(null).getNativeWidget();
38: }
39: item.setImage(img);
40: SWTUtils.addDisposeHandler(item, img);
41:
42: if (elem.hasAttribute("javaAction")) {
43: initFromJavaAction(new SWTToolItem(item), elem, loader
44: .getForm());
45: } else {
46: initFromPythonAction(new SWTToolItem(item), elem, loader
47: .getForm(), loader.getCtx());
48: }
49:
50: return null;
51: }
52:
53: }
|