1 /*
2  * Created on 17-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.actions.note;
8 
9 import org.eclipse.swt.events.TypedEvent;
10 import org.herac.tuxguitar.gui.TuxGuitar;
11 import org.herac.tuxguitar.gui.actions.Action;
12 import org.herac.tuxguitar.gui.undo.undoables.measure.UndoableMeasureGeneric;
13 import org.herac.tuxguitar.song.models.TGNote;
14 
15 /**
16  * @author julian
17  *
18  * TODO To change the template for this generated type comment go to
19  * Window - Preferences - Java - Code Style - Code Templates
20  */
21 public class IncrementNoteSemitoneAction extends Action{
22 	public static final String NAME = "action.note.general.increment-semitone";
23 
IncrementNoteSemitoneAction()24 	public IncrementNoteSemitoneAction() {
25 		super(NAME, AUTO_LOCK | AUTO_UNLOCK | AUTO_UPDATE | DISABLE_ON_PLAYING | KEY_BINDING_AVAILABLE);
26 	}
27 
execute(TypedEvent e)28 	protected int execute(TypedEvent e){
29 		TGNote note = getEditor().getTablature().getCaret().getSelectedNote();
30 		if(note != null){
31 			//comienza el undoable
32 			UndoableMeasureGeneric undoable = UndoableMeasureGeneric.startUndo();
33 
34 			if(getSongManager().getMeasureManager().moveSemitoneUp(getEditor().getTablature().getCaret().getMeasure(),note.getVoice().getBeat().getStart(),note.getString())){
35 				//termia el undoable
36 				addUndoableEdit(undoable.endUndo());
37 				TuxGuitar.instance().getFileHistory().setUnsavedFile();
38 			}
39 			updateTablature();
40 		}
41 		return 0;
42 	}
43 
updateTablature()44 	public void updateTablature() {
45 		fireUpdate(getEditor().getTablature().getCaret().getMeasure().getNumber());
46 	}
47 }
48