~ubuntu-branches/ubuntu/oneiric/tuxguitar/oneiric

« back to all changes in this revision

Viewing changes to TuxGuitar/src/org/herac/tuxguitar/gui/items/menu/MeasureMenuItem.java

  • Committer: Bazaar Package Importer
  • Author(s): Philippe Coval
  • Date: 2008-06-19 00:30:30 UTC
  • mto: (5.1.2 sid)
  • mto: This revision was merged to the branch mainline in revision 3.
  • Revision ID: james.westby@ubuntu.com-20080619003030-h719szrhsngou7c6
Tags: upstream-1.0
ImportĀ upstreamĀ versionĀ 1.0

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
/*
 
2
 * Created on 02-dic-2005
 
3
 *
 
4
 * TODO To change the template for this generated file go to
 
5
 * Window - Preferences - Java - Code Style - Code Templates
 
6
 */
 
7
package org.herac.tuxguitar.gui.items.menu;
 
8
 
 
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.tab.TGMeasureImpl;
 
24
import org.herac.tuxguitar.gui.items.MenuItems;
 
25
 
 
26
/**
 
27
 * @author julian
 
28
 *
 
29
 * TODO To change the template for this generated type comment go to
 
30
 * Window - Preferences - Java - Code Style - Code Templates
 
31
 */
 
32
public class MeasureMenuItem implements MenuItems{
 
33
        
 
34
        private MenuItem measureMenuItem;
 
35
        private Menu menu; 
 
36
        private MenuItem first;
 
37
        private MenuItem last;
 
38
        private MenuItem next;
 
39
        private MenuItem previous;
 
40
        private MenuItem addMeasure;
 
41
        private MenuItem cleanMeasure;
 
42
        private MenuItem removeMeasure;
 
43
        private MenuItem copyMeasure;
 
44
        private MenuItem pasteMeasure;
 
45
        
 
46
        public MeasureMenuItem(Shell shell,Menu parent, int style) {
 
47
                this.measureMenuItem = new MenuItem(parent, style);
 
48
                this.menu = new Menu(shell, SWT.DROP_DOWN);
 
49
        }
 
50
        
 
51
        public void showItems(){
 
52
                //--first--
 
53
                this.first = new MenuItem(this.menu, SWT.PUSH);
 
54
                this.first.addSelectionListener(TuxGuitar.instance().getAction(GoFirstMeasureAction.NAME));
 
55
                //--previous--
 
56
                this.previous = new MenuItem(this.menu, SWT.PUSH);
 
57
                this.previous.addSelectionListener(TuxGuitar.instance().getAction(GoPreviousMeasureAction.NAME));
 
58
                //--next--
 
59
                this.next = new MenuItem(this.menu, SWT.PUSH);
 
60
                this.next.addSelectionListener(TuxGuitar.instance().getAction(GoNextMeasureAction.NAME));
 
61
                //--last--
 
62
                this.last = new MenuItem(this.menu, SWT.PUSH);
 
63
                this.last.addSelectionListener(TuxGuitar.instance().getAction(GoLastMeasureAction.NAME));
 
64
                
 
65
                //--SEPARATOR
 
66
                new MenuItem(this.menu, SWT.SEPARATOR);
 
67
                //--add--
 
68
                this.addMeasure = new MenuItem(this.menu, SWT.PUSH);
 
69
                this.addMeasure.addSelectionListener(TuxGuitar.instance().getAction(AddMeasureAction.NAME));
 
70
                //--clean--
 
71
                this.cleanMeasure = new MenuItem(this.menu, SWT.PUSH);
 
72
                this.cleanMeasure.addSelectionListener(TuxGuitar.instance().getAction(CleanMeasureAction.NAME));
 
73
                //--remove--
 
74
                this.removeMeasure = new MenuItem(this.menu, SWT.PUSH);
 
75
                this.removeMeasure.addSelectionListener(TuxGuitar.instance().getAction(RemoveMeasureAction.NAME));
 
76
                
 
77
                //--SEPARATOR
 
78
                new MenuItem(this.menu, SWT.SEPARATOR);
 
79
                //--copy--
 
80
                this.copyMeasure = new MenuItem(this.menu, SWT.PUSH);
 
81
                this.copyMeasure.addSelectionListener(TuxGuitar.instance().getAction(CopyMeasureAction.NAME));
 
82
                //--paste--
 
83
                this.pasteMeasure = new MenuItem(this.menu, SWT.PUSH);
 
84
                
 
85
                this.pasteMeasure.addSelectionListener(TuxGuitar.instance().getAction(PasteMeasureAction.NAME));
 
86
                
 
87
                this.measureMenuItem.setMenu(this.menu);
 
88
                
 
89
                this.loadIcons();
 
90
                this.loadProperties();
 
91
        }
 
92
        
 
93
        public void update(){
 
94
                TGMeasureImpl measure = TuxGuitar.instance().getTablatureEditor().getTablature().getCaret().getMeasure();
 
95
                boolean running = TuxGuitar.instance().getPlayer().isRunning();
 
96
                boolean isFirst = (measure.getNumber() == 1);
 
97
                boolean isLast = (measure.getNumber() == measure.getTrack().countMeasures());
 
98
                this.first.setEnabled(!isFirst);
 
99
                this.previous.setEnabled(!isFirst);
 
100
                this.next.setEnabled(!isLast);
 
101
                this.last.setEnabled(!isLast);
 
102
                this.addMeasure.setEnabled(!running);
 
103
                this.cleanMeasure.setEnabled(!running);
 
104
                this.removeMeasure.setEnabled(!running);
 
105
                this.copyMeasure.setEnabled(!running);
 
106
                this.pasteMeasure.setEnabled(!running && !TuxGuitar.instance().getTablatureEditor().getClipBoard().isEmpty());
 
107
        }
 
108
        
 
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"));
 
120
        }
 
121
        
 
122
        public void loadIcons(){
 
123
                //Nothing to do
 
124
        }
 
125
}