1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 package org.vectomatic.svg.edit.client.gxt.widget;
19
20 import org.vectomatic.svg.edit.client.SvgrealApp;
21 import org.vectomatic.svg.edit.client.command.ICommandFactory;
22 import org.vectomatic.svg.edit.client.command.IFactoryInstantiator;
23
24 import com.extjs.gxt.ui.client.event.ComponentEvent;
25 import com.extjs.gxt.ui.client.widget.menu.MenuItem;
26 import com.google.gwt.core.client.GWT;
27
28
29
30
31
32 public class CommandFactoryMenuItem extends MenuItem {
33 private IFactoryInstantiator<?> instantiator;
34 public CommandFactoryMenuItem(IFactoryInstantiator<?> instantiator) {
35 this.instantiator = instantiator;
36 setText(instantiator.getName());
37 }
38 @Override
39 protected void onClick(ComponentEvent be) {
40 GWT.log("CommandFactoryMenuItem.onClick");
41
42 ICommandFactory factory = SvgrealApp.getApp().getCommandFactorySelector().getActiveFactory();
43 if (factory != null) {
44 factory.stop();
45 }
46 instantiator.create().start(CommandFactoryMenuItem.this);
47 super.onClick(be);
48 }
49 }