~ubuntu-branches/ubuntu/oneiric/tuxguitar/oneiric

« back to all changes in this revision

Viewing changes to TuxGuitar/src/org/herac/tuxguitar/gui/util/MessageDialog.java

  • Committer: Bazaar Package Importer
  • Author(s): Philippe Coval
  • Date: 2008-06-19 00:30:30 UTC
  • mto: (5.1.2 sid)
  • mto: This revision was merged to the branch mainline in revision 3.
  • Revision ID: james.westby@ubuntu.com-20080619003030-h719szrhsngou7c6
Tags: upstream-1.0
ImportĀ upstreamĀ versionĀ 1.0

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
/*
 
2
 * Created on 20-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.util;
 
8
 
 
9
import org.eclipse.swt.SWT;
 
10
import org.eclipse.swt.widgets.MessageBox;
 
11
import org.eclipse.swt.widgets.Shell;
 
12
import org.herac.tuxguitar.gui.TuxGuitar;
 
13
import org.herac.tuxguitar.gui.actions.ActionLock;
 
14
import org.herac.tuxguitar.gui.helper.SyncThread;
 
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 MessageDialog {
 
23
        
 
24
        private int style;
 
25
        private String name;
 
26
        private String message;
 
27
        
 
28
        protected MessageDialog(String name,String message,int style){
 
29
                this.name = name;
 
30
                this.message = message;
 
31
                this.style = style;
 
32
        }
 
33
        
 
34
        protected void show(Shell parent){
 
35
                MessageBox messageBox = new MessageBox(parent, this.style);
 
36
                messageBox.setText(this.name);
 
37
                messageBox.setMessage(this.message);
 
38
                messageBox.open();
 
39
        }
 
40
        
 
41
        public static void infoMessage(final String title,final String message){
 
42
                MessageDialog.infoMessage(TuxGuitar.instance().getShell(), title, message);
 
43
        }
 
44
        
 
45
        public static void infoMessage(final Shell shell,final String title,final String message){
 
46
                new SyncThread(new Runnable() {
 
47
                        public void run() {
 
48
                                if(!shell.isDisposed()){
 
49
                                        new MessageDialog(title,message,SWT.ICON_INFORMATION).show(shell);
 
50
                                }
 
51
                        }
 
52
                }).start();
 
53
        }
 
54
        
 
55
        public static void errorMessage(final Throwable throwable){
 
56
                MessageDialog.errorMessage(TuxGuitar.instance().getShell(),throwable);
 
57
        }
 
58
        
 
59
        public static void errorMessage(final Shell shell,final Throwable throwable){
 
60
                MessageDialog.errorMessage(shell, (throwable.getMessage() != null ? throwable.getMessage() : throwable.getClass().getName() ));
 
61
                new Thread(new Runnable() {
 
62
                        public void run() {
 
63
                                throwable.printStackTrace();
 
64
                        }
 
65
                }).start();
 
66
        }
 
67
        
 
68
        public static void errorMessage(final Shell shell,final String message){
 
69
                if(!shell.isDisposed()){
 
70
                        new SyncThread(new Runnable() {
 
71
                                public void run() {
 
72
                                        if(!shell.isDisposed()){
 
73
                                                ActionLock.unlock();
 
74
                                                TuxGuitar.instance().unlock();
 
75
                                                shell.setCursor(shell.getDisplay().getSystemCursor(SWT.CURSOR_ARROW));
 
76
                                                new MessageDialog(TuxGuitar.getProperty("error"),message,SWT.ICON_ERROR).show(shell);
 
77
                                        }
 
78
                                }
 
79
                        }).start();
 
80
                }
 
81
        }
 
82
        
 
83
}