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.CommandHistory;
22 import org.vectomatic.client.rep.events.ICommandHistoryListener;
23 import org.vectomatic.client.rep.view.DrawingView;
24
25
26
27
28 public class RedoController extends ControllerBase implements ICommandHistoryListener {
29 private ControllerPushButton _redoButton;
30 private ControllerMenuItem _redoMenuItem;
31
32 public RedoController(RepApplication app) {
33 super(app);
34 _app.getHistory().addCommandHistoryListener(this);
35 _redoButton = new ControllerPushButton(app.getView(), _app.getIcons().redoIcon().createImage(), _app.getIcons().redoDisabledIcon().createImage(), _app.getConstants().redoCommand(), this);
36 _redoMenuItem = new ControllerMenuItem(app.getView(), _app.getConstants().redoCommand(), this);
37 commandHistoryChange(_app.getHistory());
38 }
39 @Override
40 public void activate(DrawingView view) {
41 _app.getHistory().redo();
42 }
43
44 public void commandHistoryChange(CommandHistory commandHistory) {
45 boolean canRedo = _app.getHistory().canRedo();
46 _redoButton.setEnabled(canRedo);
47 _redoMenuItem.setEnabled(canRedo);
48 String text = _app.getConstants().redoCommand();
49 if (canRedo) {
50 text += " " + _app.getHistory().getRedoCommand().getDescription();
51 _redoMenuItem.setText(text);
52 } else {
53 _redoMenuItem.setText(text);
54 }
55 }
56 public ControllerPushButton getRedoButton() {
57 return _redoButton;
58 }
59 public ControllerMenuItem getRedoMenuItem() {
60 return _redoMenuItem;
61 }
62 }