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.duration; 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 16 /** 17 * @author julian 18 * 19 * TODO To change the template for this generated type comment go to 20 * Window - Preferences - Java - Code Style - Code Templates 21 */ 22 public class SetWholeDurationAction extends Action{ 23 public static final String NAME = "action.note.duration.set-whole"; 24 public static final int VALUE = TGDuration.WHOLE; 25 SetWholeDurationAction()26 public SetWholeDurationAction() { 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 if(getSelectedDuration().getValue() != VALUE){ 32 //comienza el undoable 33 UndoableMeasureGeneric undoable = UndoableMeasureGeneric.startUndo(); 34 35 getSelectedDuration().setValue(VALUE); 36 getSelectedDuration().setDotted(false); 37 getSelectedDuration().setDoubleDotted(false); 38 setDurations(); 39 40 //termia el undoable 41 addUndoableEdit(undoable.endUndo()); 42 } 43 return 0; 44 } 45 setDurations()46 private void setDurations() { 47 Caret caret = getEditor().getTablature().getCaret(); 48 caret.changeDuration(getSelectedDuration().clone(getSongManager().getFactory())); 49 TuxGuitar.instance().getFileHistory().setUnsavedFile(); 50 fireUpdate(getEditor().getTablature().getCaret().getMeasure().getNumber()); 51 } 52 getSelectedDuration()53 public TGDuration getSelectedDuration(){ 54 return getEditor().getTablature().getCaret().getDuration(); 55 } 56 } 57