12
12
import com .neueda .jetbrains .plugin .graphdb .jetbrains .ui .console .table .renderer .CompositeTableCellRenderer ;
13
13
14
14
import javax .swing .*;
15
- import javax .swing .table .TableCellRenderer ;
16
- import javax .swing .table .TableColumn ;
17
15
import java .awt .*;
18
16
import java .util .ArrayList ;
19
17
import java .util .List ;
@@ -39,6 +37,8 @@ public void initialize(GraphConsoleView graphConsoleView, Project project) {
39
37
table .setDefaultEditor (Object .class , new CompositeTableCellEditor ());
40
38
table .setAutoResizeMode (JTable .AUTO_RESIZE_OFF );
41
39
40
+ ColumnResizer cr = new ColumnResizer (table , MAX_WIDTH );
41
+
42
42
messageBus .connect ().subscribe (QueryExecutionProcessEvent .QUERY_EXECUTION_PROCESS_TOPIC , new QueryExecutionProcessEvent () {
43
43
@ Override
44
44
public void executionStarted (ExecuteQueryPayload payload ) {
@@ -64,7 +64,7 @@ public void resultReceived(ExecuteQueryPayload payload, GraphQueryResult result)
64
64
65
65
@ Override
66
66
public void postResultReceived (ExecuteQueryPayload payload ) {
67
- updateColumnWidths ();
67
+ cr . resize ();
68
68
updateRowHeights ();
69
69
}
70
70
@@ -78,28 +78,6 @@ public void executionCompleted(ExecuteQueryPayload payload) {
78
78
});
79
79
}
80
80
81
- private void updateColumnWidths () {
82
- for (int column = 0 ; column < table .getColumnCount (); column ++) {
83
- TableColumn tableColumn = table .getColumnModel ().getColumn (column );
84
- int preferredWidth = tableColumn .getMinWidth ();
85
- int maxWidth = MAX_WIDTH ;
86
-
87
- for (int row = 0 ; row < table .getRowCount (); row ++) {
88
- TableCellRenderer cellRenderer = table .getCellRenderer (row , column );
89
- Component c = table .prepareRenderer (cellRenderer , row , column );
90
- int width = c .getPreferredSize ().width + table .getIntercellSpacing ().width ;
91
- preferredWidth = Math .max (preferredWidth , width );
92
-
93
- // We've exceeded the maximum width, no need to check other rows
94
- if (preferredWidth >= MAX_WIDTH ) {
95
- preferredWidth = MAX_WIDTH ;
96
- break ;
97
- }
98
- }
99
- tableColumn .setPreferredWidth (preferredWidth );
100
- }
101
- }
102
-
103
81
public void updateRowHeights () {
104
82
for (int row = 0 ; row < table .getRowCount (); row ++) {
105
83
int rowHeight = 1 ;
0 commit comments