summaryrefslogtreecommitdiff
path: root/src/cuchaz/enigma/gui/Gui.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/cuchaz/enigma/gui/Gui.java')
-rw-r--r--src/cuchaz/enigma/gui/Gui.java53
1 files changed, 29 insertions, 24 deletions
diff --git a/src/cuchaz/enigma/gui/Gui.java b/src/cuchaz/enigma/gui/Gui.java
index d1a3cb2..2a539a3 100644
--- a/src/cuchaz/enigma/gui/Gui.java
+++ b/src/cuchaz/enigma/gui/Gui.java
@@ -45,7 +45,7 @@ import cuchaz.enigma.ClassFile;
45import cuchaz.enigma.analysis.SourceIndex; 45import cuchaz.enigma.analysis.SourceIndex;
46import cuchaz.enigma.mapping.ArgumentEntry; 46import cuchaz.enigma.mapping.ArgumentEntry;
47import cuchaz.enigma.mapping.ClassEntry; 47import cuchaz.enigma.mapping.ClassEntry;
48import cuchaz.enigma.mapping.Entry; 48import cuchaz.enigma.mapping.EntryPair;
49import cuchaz.enigma.mapping.FieldEntry; 49import cuchaz.enigma.mapping.FieldEntry;
50import cuchaz.enigma.mapping.MethodEntry; 50import cuchaz.enigma.mapping.MethodEntry;
51 51
@@ -69,7 +69,7 @@ public class Gui
69 private RenameListener m_renameListener; 69 private RenameListener m_renameListener;
70 70
71 private BoxHighlightPainter m_highlightPainter; 71 private BoxHighlightPainter m_highlightPainter;
72 private Entry m_selectedEntry; 72 private EntryPair m_selectedEntryPair;
73 73
74 public Gui( ) 74 public Gui( )
75 { 75 {
@@ -128,9 +128,9 @@ public class Gui
128 @Override 128 @Override
129 public void actionPerformed( ActionEvent event ) 129 public void actionPerformed( ActionEvent event )
130 { 130 {
131 if( m_renameListener != null && m_selectedEntry != null ) 131 if( m_renameListener != null && m_selectedEntryPair != null )
132 { 132 {
133 m_renameListener.rename( m_selectedEntry, m_nameField.getText() ); 133 m_renameListener.rename( m_selectedEntryPair.obf, m_nameField.getText() );
134 } 134 }
135 } 135 }
136 } ); 136 } );
@@ -142,7 +142,7 @@ public class Gui
142 m_renamePanel.add( m_typeLabel ); 142 m_renamePanel.add( m_typeLabel );
143 m_renamePanel.add( m_nameField ); 143 m_renamePanel.add( m_nameField );
144 m_renamePanel.add( m_renameButton ); 144 m_renamePanel.add( m_renameButton );
145 clearEntry(); 145 clearEntryPair();
146 146
147 // init editor 147 // init editor
148 DefaultSyntaxKit.initKit(); 148 DefaultSyntaxKit.initKit();
@@ -241,7 +241,7 @@ public class Gui
241 m_editor.addCaretListener( listener ); 241 m_editor.addCaretListener( listener );
242 } 242 }
243 243
244 public void clearEntry( ) 244 public void clearEntryPair( )
245 { 245 {
246 m_actionPanel.removeAll(); 246 m_actionPanel.removeAll();
247 JLabel label = new JLabel( "No identifier selected" ); 247 JLabel label = new JLabel( "No identifier selected" );
@@ -251,67 +251,72 @@ public class Gui
251 251
252 redraw(); 252 redraw();
253 } 253 }
254 254
255 public void showEntry( Entry entry ) 255 public void showEntryPair( EntryPair pair )
256 { 256 {
257 if( entry == null ) 257 if( pair == null )
258 { 258 {
259 clearEntry(); 259 clearEntryPair();
260 return; 260 return;
261 } 261 }
262 262
263 // TEMP
264 System.out.println( "Pair:\n" + pair.obf + "\n" + pair.deobf );
265
266 m_selectedEntryPair = pair;
267
263 // layout the action panel 268 // layout the action panel
264 m_actionPanel.removeAll(); 269 m_actionPanel.removeAll();
265 m_actionPanel.add( m_renamePanel ); 270 m_actionPanel.add( m_renamePanel );
266 m_nameField.setText( entry.getName() ); 271 m_nameField.setText( pair.deobf.getName() );
267 272
268 // layout the dynamic section 273 // layout the dynamic section
269 JPanel dynamicPanel = new JPanel(); 274 JPanel dynamicPanel = new JPanel();
270 dynamicPanel.setLayout( new GridLayout( 3, 1, 0, 0 ) ); 275 dynamicPanel.setLayout( new GridLayout( 3, 1, 0, 0 ) );
271 m_actionPanel.add( dynamicPanel ); 276 m_actionPanel.add( dynamicPanel );
272 if( entry instanceof ClassEntry ) 277 if( pair.deobf instanceof ClassEntry )
273 { 278 {
274 showEntry( (ClassEntry)entry, dynamicPanel ); 279 showEntry( (ClassEntry)pair.deobf, dynamicPanel );
275 } 280 }
276 else if( entry instanceof FieldEntry ) 281 else if( pair.deobf instanceof FieldEntry )
277 { 282 {
278 showEntry( (FieldEntry)entry, dynamicPanel ); 283 showEntry( (FieldEntry)pair.deobf, dynamicPanel );
279 } 284 }
280 else if( entry instanceof MethodEntry ) 285 else if( pair.deobf instanceof MethodEntry )
281 { 286 {
282 showEntry( (MethodEntry)entry, dynamicPanel ); 287 showEntry( (MethodEntry)pair.deobf, dynamicPanel );
283 } 288 }
284 else if( entry instanceof ArgumentEntry ) 289 else if( pair.deobf instanceof ArgumentEntry )
285 { 290 {
286 showEntry( (ArgumentEntry)entry, dynamicPanel ); 291 showEntry( (ArgumentEntry)pair.deobf, dynamicPanel );
287 } 292 }
288 else 293 else
289 { 294 {
290 throw new Error( "Unknown entry type: " + entry.getClass().getName() ); 295 throw new Error( "Unknown entry type: " + pair.deobf.getClass().getName() );
291 } 296 }
292 297
293 redraw(); 298 redraw();
294 } 299 }
295 300
296 public void showEntry( ClassEntry entry, JPanel panel ) 301 private void showEntry( ClassEntry entry, JPanel panel )
297 { 302 {
298 m_typeLabel.setText( "Class: " ); 303 m_typeLabel.setText( "Class: " );
299 } 304 }
300 305
301 public void showEntry( FieldEntry entry, JPanel panel ) 306 private void showEntry( FieldEntry entry, JPanel panel )
302 { 307 {
303 m_typeLabel.setText( "Field: " ); 308 m_typeLabel.setText( "Field: " );
304 addNameValue( panel, "Class", entry.getClassEntry().getName() ); 309 addNameValue( panel, "Class", entry.getClassEntry().getName() );
305 } 310 }
306 311
307 public void showEntry( MethodEntry entry, JPanel panel ) 312 private void showEntry( MethodEntry entry, JPanel panel )
308 { 313 {
309 m_typeLabel.setText( "Method: " ); 314 m_typeLabel.setText( "Method: " );
310 addNameValue( panel, "Class", entry.getClassEntry().getName() ); 315 addNameValue( panel, "Class", entry.getClassEntry().getName() );
311 addNameValue( panel, "Signature", entry.getSignature() ); 316 addNameValue( panel, "Signature", entry.getSignature() );
312 } 317 }
313 318
314 public void showEntry( ArgumentEntry entry, JPanel panel ) 319 private void showEntry( ArgumentEntry entry, JPanel panel )
315 { 320 {
316 m_typeLabel.setText( "Argument: " ); 321 m_typeLabel.setText( "Argument: " );
317 addNameValue( panel, "Class", entry.getMethodEntry().getClassEntry().getName() ); 322 addNameValue( panel, "Class", entry.getMethodEntry().getClassEntry().getName() );