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.system;
9
import org.eclipse.swt.SWT;
10
import org.eclipse.swt.events.ShellEvent;
11
import org.eclipse.swt.events.TypedEvent;
12
import org.herac.tuxguitar.gui.TuxGuitar;
13
import org.herac.tuxguitar.gui.actions.Action;
14
import org.herac.tuxguitar.gui.actions.file.FileActionUtils;
15
import org.herac.tuxguitar.gui.helper.SyncThread;
16
import org.herac.tuxguitar.gui.marker.MarkerList;
17
import org.herac.tuxguitar.gui.system.config.TGConfigKeys;
18
import org.herac.tuxguitar.gui.system.config.TGConfigManager;
19
import org.herac.tuxguitar.gui.table.TGTableViewer;
20
import org.herac.tuxguitar.gui.util.ConfirmDialog;
25
* TODO To change the template for this generated type comment go to Window - Preferences - Java - Code Style - Code Templates
27
public class DisposeAction extends Action {
28
public static final String NAME = "action.system.dispose";
30
public DisposeAction() {
31
super(NAME, AUTO_LOCK);
34
protected int execute(TypedEvent e){
35
if(e instanceof ShellEvent){
36
TuxGuitar.instance().getPlayer().reset();
38
if(TuxGuitar.instance().getFileHistory().isUnsavedFile()){
39
ConfirmDialog confirm = new ConfirmDialog(TuxGuitar.getProperty("file.save-changes-question"));
40
confirm.setDefaultStatus( ConfirmDialog.STATUS_CANCEL );
41
int status = confirm.confirm(ConfirmDialog.BUTTON_YES | ConfirmDialog.BUTTON_NO | ConfirmDialog.BUTTON_CANCEL, ConfirmDialog.BUTTON_YES);
42
if(status == ConfirmDialog.STATUS_CANCEL){
45
if(status == ConfirmDialog.STATUS_YES){
46
final String fileName = FileActionUtils.getFileName();
50
TuxGuitar.instance().loadCursor(SWT.CURSOR_WAIT);
51
new Thread(new Runnable() {
53
if(!TuxGuitar.isDisposed()){
54
FileActionUtils.save(fileName);
55
TuxGuitar.instance().loadCursor(SWT.CURSOR_ARROW);
69
protected void exit(){
70
new SyncThread(new Runnable() {
72
TuxGuitar.instance().lock();
76
TuxGuitar.instance().unlock();
81
protected void saveConfig(){
82
TGConfigManager config = TuxGuitar.instance().getConfig();
84
config.setProperty(TGConfigKeys.LAYOUT_MODE,getEditor().getTablature().getViewLayout().getMode());
85
config.setProperty(TGConfigKeys.LAYOUT_STYLE,getEditor().getTablature().getViewLayout().getStyle());
86
config.setProperty(TGConfigKeys.SHOW_PIANO,!TuxGuitar.instance().getPianoEditor().isDisposed());
87
config.setProperty(TGConfigKeys.SHOW_MATRIX,!TuxGuitar.instance().getMatrixEditor().isDisposed());
88
config.setProperty(TGConfigKeys.SHOW_FRETBOARD,TuxGuitar.instance().getFretBoardEditor().isVisible());
89
config.setProperty(TGConfigKeys.SHOW_MIXER,!TuxGuitar.instance().getMixer().isDisposed());
90
config.setProperty(TGConfigKeys.SHOW_TRANSPORT,!TuxGuitar.instance().getTransport().isDisposed());
91
config.setProperty(TGConfigKeys.SHOW_MARKERS,!MarkerList.instance().isDisposed());
92
config.setProperty(TGConfigKeys.MAXIMIZED,TuxGuitar.instance().getShell().getMaximized());
93
config.setProperty(TGConfigKeys.WIDTH,TuxGuitar.instance().getShell().getClientArea().width);
94
config.setProperty(TGConfigKeys.HEIGHT,TuxGuitar.instance().getShell().getClientArea().height);
95
config.setProperty(TGConfigKeys.EDITOR_MOUSE_MODE,getEditor().getTablature().getEditorKit().getMouseMode());
96
config.setProperty(TGConfigKeys.MATRIX_GRIDS,TuxGuitar.instance().getMatrixEditor().getGrids());
98
TuxGuitar.instance().getConfig().save();
101
protected void closeModules(){
102
TuxGuitar.instance().getPlayer().close();
103
TuxGuitar.instance().getPluginManager().closePLugins();
106
protected void dispose(){
107
TGTableViewer.disposeColors();
108
TuxGuitar.instance().getSongManager().clearSong();
109
TuxGuitar.instance().getFretBoardEditor().dispose();
110
TuxGuitar.instance().getTablatureEditor().getTablature().dispose();
111
TuxGuitar.instance().getIconManager().disposeIcons();
112
TuxGuitar.instance().getShell().dispose();
113
TuxGuitar.instance().getDisplay().dispose();
b'\\ No newline at end of file'