+ public MainWindow(Pipeline pipeline) {
+ super(String.format("Sonitus %s", Version.version()));
+ this.pipeline = pipeline;
+ tabbedPane.setBorder(BorderFactory.createEmptyBorder(12, 12, 12, 12));
+ final JPanel pipelineInfoPanel = new JPanel(new BorderLayout(12, 12));
+ PipelinePanel pipelinePanel = new PipelinePanel(pipeline);
+ pipelinePanel.addFilterSelectionListener(new FilterSelectionListener() {
+
+ @Override
+ public void filterSelected(Filter filter) {
+ infoPanelCardLayout.show(infoPanel, filter.name());
+ }
+ });
+ pipelineInfoPanel.add(pipelinePanel, BorderLayout.CENTER);
+ pipelineInfoPanel.add(infoPanel, BorderLayout.EAST);
+ tabbedPane.add("Pipeline", pipelineInfoPanel);
+ getContentPane().add(tabbedPane, BorderLayout.CENTER);
+ setSize(new Dimension(800, 450));
+
+ /* create info panels for all filters. */
+ for (Filter fliter : pipeline) {
+ FilterInfoPanel filterInfoPanel = new FilterInfoPanel(fliter);
+ infoPanel.add(filterInfoPanel, fliter.name());
+ filterInfoPanels.put(fliter, filterInfoPanel);