2
* Created on 17-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.actions.duration;
9
import org.eclipse.swt.events.KeyEvent;
10
import org.eclipse.swt.events.TypedEvent;
11
import org.herac.tuxguitar.gui.TuxGuitar;
12
import org.herac.tuxguitar.gui.actions.Action;
13
import org.herac.tuxguitar.gui.editors.tab.Caret;
14
import org.herac.tuxguitar.gui.undo.undoables.measure.UndoableMeasureGeneric;
15
import org.herac.tuxguitar.song.models.TGDuration;
16
import org.herac.tuxguitar.song.models.TGTupleto;
21
* TODO To change the template for this generated type comment go to
22
* Window - Preferences - Java - Code Style - Code Templates
24
public class ChangeTupletoDurationAction extends Action{
25
public static final String NAME = "action.note.duration.change-tupleto";
27
public ChangeTupletoDurationAction() {
28
super(NAME, AUTO_LOCK | AUTO_UNLOCK | AUTO_UPDATE | DISABLE_ON_PLAYING | KEY_BINDING_AVAILABLE);
31
protected int execute(TypedEvent e){
32
//comienza el undoable
33
UndoableMeasureGeneric undoable = UndoableMeasureGeneric.startUndo();
35
boolean isKeyEvent = false;
36
if(e instanceof KeyEvent){
40
TGTupleto tupleto = defaultTupleto();
41
if(e.widget.getData() != null && e.widget.getData() instanceof TGTupleto){
42
tupleto = (TGTupleto)e.widget.getData();
45
if(getSelectedDuration().getTupleto().isEqual(tupleto)){
46
setTupleto(noTupleto());
52
if(getSelectedDuration().getTupleto().isEqual(TGTupleto.NORMAL)){
53
setTupleto(defaultTupleto());
55
setTupleto(noTupleto());
61
addUndoableEdit(undoable.endUndo());
66
private TGTupleto noTupleto(){
67
TGTupleto tupleto = getSongManager().getFactory().newTupleto();
73
private TGTupleto defaultTupleto(){
74
TGTupleto tupleto = getSongManager().getFactory().newTupleto();
80
private void setTupleto(TGTupleto tupleto){
81
getSelectedDuration().getTupleto().setEnters(tupleto.getEnters());
82
getSelectedDuration().getTupleto().setTimes(tupleto.getTimes());
85
private void setDurations() {
86
Caret caret = getEditor().getTablature().getCaret();
87
caret.changeDuration(getSelectedDuration().clone(getSongManager().getFactory()));
88
TuxGuitar.instance().getFileHistory().setUnsavedFile();
89
fireUpdate(getEditor().getTablature().getCaret().getMeasure().getNumber());
92
public TGDuration getSelectedDuration(){
93
return getEditor().getTablature().getCaret().getDuration();