summaryrefslogtreecommitdiff
path: root/src/cuchaz/enigma/gui/ProgressDialog.java
diff options
context:
space:
mode:
authorGravatar jeff2015-01-13 23:25:04 -0500
committerGravatar jeff2015-01-13 23:25:04 -0500
commit959cb5fd4f9586ec3bd265b452fe25fe1db82e3f (patch)
treebdd8a2c52c2fe053ba3460614bde8542e5378dbe /src/cuchaz/enigma/gui/ProgressDialog.java
parentgot rid of gradle in favor of ivy+ssjb (diff)
downloadenigma-fork-959cb5fd4f9586ec3bd265b452fe25fe1db82e3f.tar.gz
enigma-fork-959cb5fd4f9586ec3bd265b452fe25fe1db82e3f.tar.xz
enigma-fork-959cb5fd4f9586ec3bd265b452fe25fe1db82e3f.zip
source format change
don't hate me too much if you were planning a big merge. =P
Diffstat (limited to 'src/cuchaz/enigma/gui/ProgressDialog.java')
-rw-r--r--src/cuchaz/enigma/gui/ProgressDialog.java90
1 files changed, 40 insertions, 50 deletions
diff --git a/src/cuchaz/enigma/gui/ProgressDialog.java b/src/cuchaz/enigma/gui/ProgressDialog.java
index 7f95431..b864fdb 100644
--- a/src/cuchaz/enigma/gui/ProgressDialog.java
+++ b/src/cuchaz/enigma/gui/ProgressDialog.java
@@ -25,89 +25,79 @@ import javax.swing.WindowConstants;
25import cuchaz.enigma.Constants; 25import cuchaz.enigma.Constants;
26import cuchaz.enigma.Deobfuscator.ProgressListener; 26import cuchaz.enigma.Deobfuscator.ProgressListener;
27 27
28public class ProgressDialog implements ProgressListener, AutoCloseable 28public class ProgressDialog implements ProgressListener, AutoCloseable {
29{ 29
30 private JFrame m_frame; 30 private JFrame m_frame;
31 private JLabel m_title; 31 private JLabel m_title;
32 private JLabel m_text; 32 private JLabel m_text;
33 private JProgressBar m_progress; 33 private JProgressBar m_progress;
34 34
35 public ProgressDialog( JFrame parent ) 35 public ProgressDialog(JFrame parent) {
36 { 36
37 // init frame 37 // init frame
38 m_frame = new JFrame( Constants.Name + " - Operation in progress" ); 38 m_frame = new JFrame(Constants.Name + " - Operation in progress");
39 final Container pane = m_frame.getContentPane(); 39 final Container pane = m_frame.getContentPane();
40 FlowLayout layout = new FlowLayout(); 40 FlowLayout layout = new FlowLayout();
41 layout.setAlignment( FlowLayout.LEFT ); 41 layout.setAlignment(FlowLayout.LEFT);
42 pane.setLayout( layout ); 42 pane.setLayout(layout);
43 43
44 m_title = new JLabel(); 44 m_title = new JLabel();
45 pane.add( m_title ); 45 pane.add(m_title);
46 46
47 // set up the progress bar 47 // set up the progress bar
48 JPanel panel = new JPanel(); 48 JPanel panel = new JPanel();
49 pane.add( panel ); 49 pane.add(panel);
50 panel.setLayout( new BorderLayout() ); 50 panel.setLayout(new BorderLayout());
51 m_text = GuiTricks.unboldLabel( new JLabel() ); 51 m_text = GuiTricks.unboldLabel(new JLabel());
52 m_progress = new JProgressBar(); 52 m_progress = new JProgressBar();
53 m_text.setBorder( BorderFactory.createEmptyBorder( 0, 0, 10, 0 ) ); 53 m_text.setBorder(BorderFactory.createEmptyBorder(0, 0, 10, 0));
54 panel.add( m_text, BorderLayout.NORTH ); 54 panel.add(m_text, BorderLayout.NORTH);
55 panel.add( m_progress, BorderLayout.CENTER ); 55 panel.add(m_progress, BorderLayout.CENTER);
56 panel.setPreferredSize( new Dimension( 360, 50 ) ); 56 panel.setPreferredSize(new Dimension(360, 50));
57 57
58 // show the frame 58 // show the frame
59 pane.doLayout(); 59 pane.doLayout();
60 m_frame.setSize( 400, 120 ); 60 m_frame.setSize(400, 120);
61 m_frame.setResizable( false ); 61 m_frame.setResizable(false);
62 m_frame.setLocationRelativeTo( parent ); 62 m_frame.setLocationRelativeTo(parent);
63 m_frame.setVisible( true ); 63 m_frame.setVisible(true);
64 m_frame.setDefaultCloseOperation( WindowConstants.DO_NOTHING_ON_CLOSE ); 64 m_frame.setDefaultCloseOperation(WindowConstants.DO_NOTHING_ON_CLOSE);
65 } 65 }
66 66
67 public void close( ) 67 public void close() {
68 {
69 m_frame.dispose(); 68 m_frame.dispose();
70 } 69 }
71 70
72 @Override 71 @Override
73 public void init( int totalWork, String title ) 72 public void init(int totalWork, String title) {
74 { 73 m_title.setText(title);
75 m_title.setText( title ); 74 m_progress.setMinimum(0);
76 m_progress.setMinimum( 0 ); 75 m_progress.setMaximum(totalWork);
77 m_progress.setMaximum( totalWork ); 76 m_progress.setValue(0);
78 m_progress.setValue( 0 );
79 } 77 }
80 78
81 @Override 79 @Override
82 public void onProgress( int numDone, String message ) 80 public void onProgress(int numDone, String message) {
83 { 81 m_text.setText(message);
84 m_text.setText( message ); 82 m_progress.setValue(numDone);
85 m_progress.setValue( numDone );
86 83
87 // update the frame 84 // update the frame
88 m_frame.validate(); 85 m_frame.validate();
89 m_frame.repaint(); 86 m_frame.repaint();
90 } 87 }
91 88
92 public static interface ProgressRunnable 89 public static interface ProgressRunnable {
93 { 90 void run(ProgressListener listener) throws Exception;
94 void run( ProgressListener listener ) throws Exception;
95 } 91 }
96 92
97 public static void runInThread( final JFrame parent, final ProgressRunnable runnable ) 93 public static void runInThread(final JFrame parent, final ProgressRunnable runnable) {
98 { 94 new Thread() {
99 new Thread( )
100 {
101 @Override 95 @Override
102 public void run( ) 96 public void run() {
103 { 97 try (ProgressDialog progress = new ProgressDialog(parent)) {
104 try( ProgressDialog progress = new ProgressDialog( parent ) ) 98 runnable.run(progress);
105 { 99 } catch (Exception ex) {
106 runnable.run( progress ); 100 throw new Error(ex);
107 }
108 catch( Exception ex )
109 {
110 throw new Error( ex );
111 } 101 }
112 } 102 }
113 }.start(); 103 }.start();