2
* Created on 02-dic-2005
4
* TODO To change the template for this generated file go to
5
* Window - Preferences - Java - Code Style - Code Templates
7
package org.herac.tuxguitar.gui.items.menu;
9
import org.eclipse.swt.SWT;
10
import org.eclipse.swt.widgets.Menu;
11
import org.eclipse.swt.widgets.MenuItem;
12
import org.eclipse.swt.widgets.Shell;
13
import org.herac.tuxguitar.gui.TuxGuitar;
14
import org.herac.tuxguitar.gui.actions.measure.AddMeasureAction;
15
import org.herac.tuxguitar.gui.actions.measure.CleanMeasureAction;
16
import org.herac.tuxguitar.gui.actions.measure.CopyMeasureAction;
17
import org.herac.tuxguitar.gui.actions.measure.GoFirstMeasureAction;
18
import org.herac.tuxguitar.gui.actions.measure.GoLastMeasureAction;
19
import org.herac.tuxguitar.gui.actions.measure.GoNextMeasureAction;
20
import org.herac.tuxguitar.gui.actions.measure.GoPreviousMeasureAction;
21
import org.herac.tuxguitar.gui.actions.measure.PasteMeasureAction;
22
import org.herac.tuxguitar.gui.actions.measure.RemoveMeasureAction;
23
import org.herac.tuxguitar.gui.editors.TablatureEditor;
24
import org.herac.tuxguitar.gui.editors.tab.Caret;
25
import org.herac.tuxguitar.gui.editors.tab.MeasureCoords;
26
import org.herac.tuxguitar.gui.editors.tab.SongTrackCoords;
27
import org.herac.tuxguitar.gui.items.MenuItems;
32
* TODO To change the template for this generated type comment go to
33
* Window - Preferences - Java - Code Style - Code Templates
35
public class MeasureMenuItem implements MenuItems{
36
private TablatureEditor tablatureEditor;
37
private MenuItem measureMenuItem;
39
private MenuItem first;
40
private MenuItem last;
41
private MenuItem next;
42
private MenuItem previous;
43
private MenuItem addMeasure;
44
private MenuItem cleanMeasure;
45
private MenuItem removeMeasure;
46
private MenuItem copyMeasure;
47
private MenuItem pasteMeasure;
49
public MeasureMenuItem(Shell shell,Menu parent, int style,TablatureEditor tablatureEditor) {
50
this.measureMenuItem = new MenuItem(parent, style);
51
this.tablatureEditor = tablatureEditor;
52
this.menu = new Menu(shell, SWT.DROP_DOWN);
56
public void showItems(){
58
this.first = new MenuItem(this.menu, SWT.PUSH);
59
this.first.addSelectionListener(TuxGuitar.instance().getAction(GoFirstMeasureAction.NAME));
61
this.previous = new MenuItem(this.menu, SWT.PUSH);
62
this.previous.addSelectionListener(TuxGuitar.instance().getAction(GoPreviousMeasureAction.NAME));
64
this.next = new MenuItem(this.menu, SWT.PUSH);
65
this.next.addSelectionListener(TuxGuitar.instance().getAction(GoNextMeasureAction.NAME));
67
this.last = new MenuItem(this.menu, SWT.PUSH);
68
this.last.addSelectionListener(TuxGuitar.instance().getAction(GoLastMeasureAction.NAME));
71
new MenuItem(this.menu, SWT.SEPARATOR);
73
this.addMeasure = new MenuItem(this.menu, SWT.PUSH);
74
this.addMeasure.addSelectionListener(TuxGuitar.instance().getAction(AddMeasureAction.NAME));
76
this.cleanMeasure = new MenuItem(this.menu, SWT.PUSH);
77
this.cleanMeasure.addSelectionListener(TuxGuitar.instance().getAction(CleanMeasureAction.NAME));
79
this.removeMeasure = new MenuItem(this.menu, SWT.PUSH);
80
this.removeMeasure.addSelectionListener(TuxGuitar.instance().getAction(RemoveMeasureAction.NAME));
83
new MenuItem(this.menu, SWT.SEPARATOR);
85
this.copyMeasure = new MenuItem(this.menu, SWT.PUSH);
86
this.copyMeasure.addSelectionListener(TuxGuitar.instance().getAction(CopyMeasureAction.NAME));
88
this.pasteMeasure = new MenuItem(this.menu, SWT.PUSH);
90
this.pasteMeasure.addSelectionListener(TuxGuitar.instance().getAction(PasteMeasureAction.NAME));
93
this.measureMenuItem.setMenu(menu);
95
this.loadProperties();
100
Caret caret = tablatureEditor.getTablature().getCaret();
101
SongTrackCoords track = caret.getSongTrackCoords();
102
MeasureCoords measure = caret.getMeasureCoords();
104
this.previous.setEnabled(measure.getMeasure().getNumber() > 1);
105
this.next.setEnabled(measure.getMeasure().getNumber() < track.getTrack().getMeasures().size());
106
this.pasteMeasure.setEnabled(!tablatureEditor.getClipBoard().isEmpty());
109
public void loadProperties(){
110
this.measureMenuItem.setText(TuxGuitar.getProperty("measure"));
111
this.first.setText(TuxGuitar.getProperty("measure.first"));
112
this.last.setText(TuxGuitar.getProperty("measure.last"));
113
this.previous.setText(TuxGuitar.getProperty("measure.previous"));
114
this.next.setText(TuxGuitar.getProperty("measure.next"));
115
this.addMeasure.setText(TuxGuitar.getProperty("measure.add"));
116
this.cleanMeasure.setText(TuxGuitar.getProperty("measure.clean"));
117
this.removeMeasure.setText(TuxGuitar.getProperty("measure.remove"));
118
this.copyMeasure.setText(TuxGuitar.getProperty("measure.copy"));
119
this.pasteMeasure.setText(TuxGuitar.getProperty("measure.paste"));