@@ -61,6 +61,41 @@ public class ProfilerPanel {
61
61
protected JBTable profilerDataTable ;
62
62
protected JLabel deepestLookaheadLabel ;
63
63
64
+ protected class ProfilerJBTable extends JBTable {
65
+ @ Override
66
+ public void setEnabled (boolean enabled ) {
67
+ super .setEnabled (enabled );
68
+ }
69
+
70
+ @ Override
71
+ protected JTableHeader createDefaultTableHeader () {
72
+ return new ProfilerTableHeader ();
73
+ }
74
+
75
+ @ Override
76
+ public TableCellRenderer getDefaultRenderer (Class <?> columnClass ) {
77
+ return new ProfileTableCellRenderer ();
78
+ }
79
+
80
+ protected class ProfilerTableHeader extends JBTableHeader {
81
+ @ Override
82
+ public void setEnabled (boolean enabled ) {
83
+ super .setEnabled (enabled );
84
+ }
85
+
86
+ public String getToolTipText (MouseEvent e ) {
87
+ Point p = e .getPoint ();
88
+ int index = columnModel .getColumnIndexAtX (p .x );
89
+ int realIndex = columnModel .getColumn (index ).getModelIndex ();
90
+ TableModel model = getModel ();
91
+ if ( model instanceof ProfilerTableDataModel ) {
92
+ return ((ProfilerTableDataModel ) model ).getColumnToolTips ()[realIndex ];
93
+ }
94
+ return model .getColumnName (realIndex );
95
+ }
96
+ }
97
+ }
98
+
64
99
public void grammarFileSaved (PreviewState previewState , VirtualFile grammarFile ) {
65
100
// leave model and such alone.
66
101
}
@@ -328,28 +363,7 @@ private void createUIComponents() {
328
363
ParseInfo parseInfo = previewState .parsingResult .parser .getParseInfo ();
329
364
updateTableModelPerExpertCheckBox (parseInfo ,previewState .parsingResult .parser );
330
365
});
331
- profilerDataTable = new JBTable () {
332
- @ Override
333
- protected JTableHeader createDefaultTableHeader () {
334
- return new JTableHeader (columnModel ) {
335
- public String getToolTipText (MouseEvent e ) {
336
- Point p = e .getPoint ();
337
- int index = columnModel .getColumnIndexAtX (p .x );
338
- int realIndex = columnModel .getColumn (index ).getModelIndex ();
339
- TableModel model = getModel ();
340
- if ( model instanceof ProfilerTableDataModel ) {
341
- return ((ProfilerTableDataModel ) model ).getColumnToolTips ()[realIndex ];
342
- }
343
- return model .getColumnName (realIndex );
344
- }
345
- };
346
- }
347
-
348
- @ Override
349
- public TableCellRenderer getDefaultRenderer (Class <?> columnClass ) {
350
- return new ProfileTableCellRenderer ();
351
- }
352
- };
366
+ profilerDataTable = new ProfilerJBTable ();
353
367
ListSelectionModel selectionModel = profilerDataTable .getSelectionModel ();
354
368
selectionModel .addListSelectionListener (
355
369
e -> {
@@ -385,5 +399,4 @@ public TableCellRenderer getDefaultRenderer(Class<?> columnClass) {
385
399
deepestLookaheadLabel = new JBLabel ("Deepest lookahead" );
386
400
deepestLookaheadLabel .setForeground (DEEPESTLOOK_COLOR );
387
401
}
388
-
389
402
}
0 commit comments