1 /**********************************************
2 * Copyright (C) 2009 Lukas Laag
3 * This file is part of Vectomatic.
4 *
5 * Vectomatic is free software: you can redistribute it and/or modify
6 * it under the terms of the GNU General Public License as published by
7 * the Free Software Foundation, either version 3 of the License, or
8 * (at your option) any later version.
9 *
10 * Vectomatic is distributed in the hope that it will be useful,
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 * GNU General Public License for more details.
14 *
15 * You should have received a copy of the GNU General Public License
16 * along with Vectomatic. If not, see http://www.gnu.org/licenses/
17 **********************************************/
18 package org.vectomatic.client.rep.controller;
19
20 import org.vectomatic.client.rep.RepApplication;
21 import org.vectomatic.client.rep.command.DeleteShapeCommand;
22 import org.vectomatic.client.rep.command.ICommand;
23 import org.vectomatic.client.rep.view.DrawingView;
24
25 import com.google.gwt.user.client.ui.MenuItem;
26
27 /**
28 * Controller to respond to delete shape request and turn
29 * them into DeleteShapeCommand
30 */
31 public class DeleteController extends ControllerBase {
32
33 public DeleteController(RepApplication app) {
34 super(app);
35 }
36
37 @Override
38 public void activate(DrawingView view) {
39 ICommand command = new DeleteShapeCommand(_app);
40 command.execute();
41 _app.getHistory().addCommand(command);
42 }
43
44 public MenuItem newDeleteContextItem(DrawingView view) {
45 return new ControllerContextItem(view, _app.getConstants().deleteShapeCommand(), this);
46 }
47 }