~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: 2007-02-04 01:41:23 UTC
  • Revision ID: james.westby@ubuntu.com-20070204014123-9pv7okph0iaiqkvw
Tags: upstream-0.9.1
ImportĀ upstreamĀ versionĀ 0.9.1

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
}