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

« back to all changes in this revision

Viewing changes to 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.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;
28
 
 
29
 
/**
30
 
 * @author julian
31
 
 *
32
 
 * TODO To change the template for this generated type comment go to
33
 
 * Window - Preferences - Java - Code Style - Code Templates
34
 
 */
35
 
public class MeasureMenuItem implements MenuItems{
36
 
    private TablatureEditor tablatureEditor;
37
 
    private MenuItem measureMenuItem;
38
 
    private Menu menu; 
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;
48
 
    
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);
53
 
    }
54
 
 
55
 
    
56
 
    public void showItems(){  
57
 
        //--first--
58
 
        this.first = new MenuItem(this.menu, SWT.PUSH);
59
 
        this.first.addSelectionListener(TuxGuitar.instance().getAction(GoFirstMeasureAction.NAME));        
60
 
        //--previous--
61
 
        this.previous = new MenuItem(this.menu, SWT.PUSH); 
62
 
        this.previous.addSelectionListener(TuxGuitar.instance().getAction(GoPreviousMeasureAction.NAME));        
63
 
        //--next--
64
 
        this.next = new MenuItem(this.menu, SWT.PUSH);
65
 
        this.next.addSelectionListener(TuxGuitar.instance().getAction(GoNextMeasureAction.NAME));        
66
 
        //--last--
67
 
        this.last = new MenuItem(this.menu, SWT.PUSH);          
68
 
        this.last.addSelectionListener(TuxGuitar.instance().getAction(GoLastMeasureAction.NAME));        
69
 
 
70
 
        //--SEPARATOR
71
 
        new MenuItem(this.menu, SWT.SEPARATOR);          
72
 
        //--add--
73
 
        this.addMeasure = new MenuItem(this.menu, SWT.PUSH);       
74
 
        this.addMeasure.addSelectionListener(TuxGuitar.instance().getAction(AddMeasureAction.NAME));
75
 
        //--clean--
76
 
        this.cleanMeasure = new MenuItem(this.menu, SWT.PUSH);   
77
 
        this.cleanMeasure.addSelectionListener(TuxGuitar.instance().getAction(CleanMeasureAction.NAME));         
78
 
        //--remove--
79
 
        this.removeMeasure = new MenuItem(this.menu, SWT.PUSH);   
80
 
        this.removeMeasure.addSelectionListener(TuxGuitar.instance().getAction(RemoveMeasureAction.NAME)); 
81
 
                
82
 
        //--SEPARATOR
83
 
        new MenuItem(this.menu, SWT.SEPARATOR);          
84
 
        //--copy--
85
 
        this.copyMeasure = new MenuItem(this.menu, SWT.PUSH);      
86
 
        this.copyMeasure.addSelectionListener(TuxGuitar.instance().getAction(CopyMeasureAction.NAME)); 
87
 
        //--paste--
88
 
        this.pasteMeasure = new MenuItem(this.menu, SWT.PUSH);
89
 
   
90
 
        this.pasteMeasure.addSelectionListener(TuxGuitar.instance().getAction(PasteMeasureAction.NAME)); 
91
 
           
92
 
        
93
 
        this.measureMenuItem.setMenu(menu);     
94
 
        
95
 
        this.loadProperties();
96
 
    }
97
 
 
98
 
    
99
 
    public void update(){
100
 
        Caret caret = tablatureEditor.getTablature().getCaret();        
101
 
        SongTrackCoords track = caret.getSongTrackCoords();  
102
 
        MeasureCoords measure = caret.getMeasureCoords();
103
 
        
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());
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
 
}