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.effects; 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.editors.tab.Caret; 13 import org.herac.tuxguitar.gui.undo.undoables.measure.UndoableMeasureGeneric; 14 import org.herac.tuxguitar.song.models.TGDuration; 15 import org.herac.tuxguitar.song.models.TGNote; 16 17 /** 18 * @author julian 19 * 20 * TODO To change the template for this generated type comment go to 21 * Window - Preferences - Java - Code Style - Code Templates 22 */ 23 public class ChangeDeadNoteAction extends Action{ 24 public static final String NAME = "action.note.effect.change-dead"; 25 ChangeDeadNoteAction()26 public ChangeDeadNoteAction() { 27 super(NAME, AUTO_LOCK | AUTO_UNLOCK | AUTO_UPDATE | DISABLE_ON_PLAYING | KEY_BINDING_AVAILABLE); 28 } 29 execute(TypedEvent e)30 protected int execute(TypedEvent e){ 31 //comienza el undoable 32 UndoableMeasureGeneric undoable = UndoableMeasureGeneric.startUndo(); 33 34 Caret caret = getEditor().getTablature().getCaret(); 35 TGNote note = caret.getSelectedNote(); 36 if(note == null){ 37 note = getSongManager().getFactory().newNote(); 38 note.setValue(0); 39 note.setVelocity(caret.getVelocity()); 40 note.setString(caret.getSelectedString().getNumber()); 41 42 TGDuration duration = getSongManager().getFactory().newDuration(); 43 caret.getDuration().copy(duration); 44 45 getSongManager().getMeasureManager().addNote(caret.getMeasure(),caret.getPosition(),note,duration,caret.getVoice()); 46 } 47 getSongManager().getMeasureManager().changeDeadNote(note); 48 TuxGuitar.instance().getFileHistory().setUnsavedFile(); 49 updateTablature(); 50 51 //termia el undoable 52 addUndoableEdit(undoable.endUndo()); 53 54 return 0; 55 } 56 updateTablature()57 public void updateTablature() { 58 fireUpdate(getEditor().getTablature().getCaret().getMeasure().getNumber()); 59 } 60 } 61