@@ -24,6 +24,8 @@ import java.awt.Insets
2424import javax.swing.JLabel
2525import javax.swing.JPanel
2626import javax.swing.JProgressBar
27+ import javax.swing.JScrollPane
28+ import javax.swing.JTable
2729import javax.swing.plaf.basic.BasicProgressBarUI
2830import org.utplsql.sqldev.model.LimitedLinkedHashMap
2931import org.utplsql.sqldev.model.runner.Run
@@ -39,6 +41,8 @@ class RunnerPanel {
3941 JLabel errorCounterValueLabel
4042 JLabel failureCounterValueLabel
4143 JProgressBar progressBar;
44+ TestOverviewTableModel testOverviewTableModel
45+ JTable testOverviewTable
4246
4347 def Component getGUI () {
4448 if (basePanel == = null ) {
@@ -49,10 +53,17 @@ class RunnerPanel {
4953
5054 def setModel (Run run ) {
5155 runs. put(run. reporterId, run)
56+ testOverviewTableModel. model = run. tests
5257 }
5358
5459 def update (String reporterId ) {
5560 val run = runs. get(reporterId)
61+ val row = run. totalNumberOfCompletedTests - 1
62+ if (row < 0 ) {
63+ testOverviewTableModel. fireTableDataChanged
64+ } else {
65+ testOverviewTableModel. fireTableRowsUpdated(row, row)
66+ }
5667 statusLabel. text = run. status
5768 testCounterValueLabel. text = ' ' ' «run.totalNumberOfCompletedTests»/«run.totalNumberOfTests»' ' '
5869 errorCounterValueLabel. text = ' ' ' «run.counter.error»' ' '
@@ -181,9 +192,19 @@ class RunnerPanel {
181192 c. weightx = 1
182193 c. weighty = 0
183194 basePanel. add(progressBar, c)
184-
185- // Vertical spring
186- val spring = new JLabel
195+
196+ // Test overview - first part of the horizontal split pane
197+ testOverviewTableModel = new TestOverviewTableModel
198+ testOverviewTable = new JTable (testOverviewTableModel)
199+ val overviewTableIcon = testOverviewTable. columnModel. getColumn(0 )
200+ overviewTableIcon. minWidth = 20
201+ overviewTableIcon. preferredWidth = 20
202+ overviewTableIcon. maxWidth = 20
203+ val overviewTableTime = testOverviewTable. columnModel. getColumn(2 )
204+ overviewTableTime. preferredWidth = 60
205+ overviewTableTime. maxWidth = 100
206+ testOverviewTable. tableHeader. reorderingAllowed = false
207+ val testOverviewScrollPane = new JScrollPane (testOverviewTable)
187208 c. gridx = 0
188209 c. gridy = 3
189210 c. gridwidth = 6
@@ -193,6 +214,10 @@ class RunnerPanel {
193214 c. fill = GridBagConstraints :: BOTH
194215 c. weightx = 1
195216 c. weighty = 1
196- basePanel. add(spring, c)
217+ basePanel. add(testOverviewScrollPane, c)
218+
219+ // Test details tabbed pane - second part of the horizontal split pane
220+
221+
197222 }
198223}
0 commit comments