1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 package org.vectomatic.client.rep.controller;
19
20 import org.vectomatic.client.rep.RepApplication;
21 import org.vectomatic.client.rep.command.GroupCommand;
22 import org.vectomatic.client.rep.events.IShapeSelectionListener;
23 import org.vectomatic.client.rep.view.DrawingView;
24
25 import com.google.gwt.user.client.ui.MenuItem;
26
27
28
29
30
31 public class GroupController extends ControllerBase implements IShapeSelectionListener {
32 private ControllerMenuItem _groupMenuItem;
33 private ControllerContextItem _groupContextItem;
34
35 public GroupController(RepApplication app) {
36 super(app);
37 _app.getSelection().addShapeSelectionListener(this);
38 _groupMenuItem = new ControllerMenuItem(_app.getView(), app.getConstants().groupCommand(), this);
39 _groupContextItem = new ControllerContextItem(_app.getView(), app.getConstants().groupCommand(), this);
40 selectionChanged(_app.getSelection());
41 }
42
43 @Override
44 public void activate(DrawingView view) {
45 GroupCommand groupCommand = new GroupCommand(_app);
46 groupCommand.execute();
47 _app.getHistory().addCommand(groupCommand);
48 }
49
50 public void selectionChanged(ShapeSelection selection) {
51 _groupMenuItem.setEnabled((selection.getSelectedShapes().size() > 1));
52 }
53
54 public MenuItem getGroupMenuItem() {
55 return _groupMenuItem;
56 }
57
58 public MenuItem getGroupContextItem() {
59 return _groupContextItem;
60 }
61 }