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.effects;
9
import org.eclipse.swt.events.TypedEvent;
10
import org.herac.tuxguitar.gui.actions.Action;
11
import org.herac.tuxguitar.gui.editors.TablatureEditor;
12
import org.herac.tuxguitar.gui.editors.tab.Caret;
13
import org.herac.tuxguitar.gui.editors.tab.MeasureComponent;
14
import org.herac.tuxguitar.gui.editors.tab.NoteCoords;
15
import org.herac.tuxguitar.gui.undo.undoables.measure.UndoableMeasureGeneric;
16
import org.herac.tuxguitar.song.models.Duration;
17
import org.herac.tuxguitar.song.models.InstrumentString;
18
import org.herac.tuxguitar.song.models.Note;
19
import org.herac.tuxguitar.song.models.NoteEffect;
24
* TODO To change the template for this generated type comment go to
25
* Window - Preferences - Java - Code Style - Code Templates
27
public class ChangeDeadNoteAction extends Action{
28
public static final String NAME = "action.note.effect.change-dead";
30
public ChangeDeadNoteAction(TablatureEditor tablatureEditor) {
31
super(NAME,true,tablatureEditor);
34
public boolean doAction(TypedEvent e) {
35
//comienza el undoable
36
UndoableMeasureGeneric undoable = UndoableMeasureGeneric.startUndo();
39
Caret caret = getEditor().getTablature().getCaret();
40
MeasureComponent component = caret.getMeasureCoords().getComponent(caret.getPosition(),caret.getSelectedString().getNumber());
41
if(component instanceof NoteCoords){
42
note = ((NoteCoords)component).getNote();
45
Duration duration = (Duration)caret.getDuration().clone();
46
InstrumentString string = new InstrumentString(caret.getSelectedString().getNumber(), caret.getSelectedString().getValue());
47
note = new Note(0,caret.getPosition(),duration,caret.getVelocity(), string.getNumber(),false,new NoteEffect());
48
getSongManager().getMeasureManager().addNote(caret.getMeasureCoords().getMeasure(),note);
50
getSongManager().getMeasureManager().changeDeadNote(note);
55
getEditor().getUndoManager().addEdit(undoable.endUndo());
61
protected void updateTablature() {
62
fireUpdate(getEditor().getTablature().getCaret().getMeasureCoords().getMeasure().getNumber());