public ProgressInformationPanel(final boolean running) {
super(WidgetUtils.COLOR_DEFAULT_BACKGROUND);
setLayout(new BorderLayout());
_tableProgressInformationPanels = new ConcurrentHashMap<>();
_progressTimingCounters = new ConcurrentHashMap<>();
_stopWatch = Stopwatch.createUnstarted();
_executionLogTextArea = new JTextArea();
_executionLogTextArea.setText("--- DataCleaner progress information user-log ---");
_executionLogTextArea.setEditable(false);
_executionLogTextArea.setBackground(WidgetUtils.COLOR_DEFAULT_BACKGROUND);
_progressBarPanel = new DCPanel(WidgetUtils.COLOR_ALTERNATIVE_BACKGROUND);
_progressBarPanel.setLayout(new VerticalLayout(4));
final JXTaskPane progressTaskPane = WidgetFactory.createTaskPane("Progress", IconUtils.ACTION_EXECUTE);
progressTaskPane.add(_progressBarPanel);
final JXTitledPanel executionLogPanel =
WidgetFactory.createTitledPanel("Execution log", WidgetUtils.scrolleable(_executionLogTextArea));
executionLogPanel.setBorder(new MatteBorder(1, 1, 1, 1, WidgetUtils.COLOR_ALTERNATIVE_BACKGROUND));
final DCTaskPaneContainer taskPaneContainer = WidgetFactory.createTaskPaneContainer();
taskPaneContainer.setLayout(new BorderLayout(MARGIN, MARGIN));
if (running) {
taskPaneContainer.add(progressTaskPane, BorderLayout.NORTH);
}
setBorder(new MatteBorder(0, 0, MARGIN, 0, WidgetUtils.COLOR_DEFAULT_BACKGROUND));
taskPaneContainer.add(executionLogPanel, BorderLayout.CENTER);
add(taskPaneContainer, BorderLayout.CENTER);
}