package com.google.code.joto.ui.filter; import java.awt.BorderLayout; import java.awt.FlowLayout; import javax.swing.JButton; import javax.swing.JCheckBox; import javax.swing.JComponent; import javax.swing.JPanel; import com.google.code.joto.util.ui.JCheckBoxUtils; /** * panel for embedding a RecordEventFilterFileTablePanel * with show/hide / show-external buttons */ public class RecordEventFilterFileEmbeddedPanel { private JPanel panel; private RecordEventFilterFileTableModel filterTableModel; private JCheckBox showEmbeddedFilterTablePanelCheckBox; private JButton openExternalFilterTableFrameButton; private RecordEventFilterFileTablePanel embeddedFiltersPanel; private RecordEventFilterFileExternalFrameHolder externalFiltersFrameHolder; // ------------------------------------------------------------------------ public RecordEventFilterFileEmbeddedPanel(RecordEventFilterFileTableModel filterTableModel) { this.filterTableModel = filterTableModel; panel = new JPanel(new BorderLayout()); { JPanel showFiltersPanel = new JPanel(new FlowLayout(FlowLayout.LEFT)); showEmbeddedFilterTablePanelCheckBox = JCheckBoxUtils.snew("show embedded filters table", false, this, "onCheckboxShowEmbeddedFilterTablePanel"); showFiltersPanel.add(showEmbeddedFilterTablePanelCheckBox); externalFiltersFrameHolder = new RecordEventFilterFileExternalFrameHolder(filterTableModel); openExternalFilterTableFrameButton = externalFiltersFrameHolder.createShowExternalFrameButton("open filters table view"); showFiltersPanel.add(openExternalFilterTableFrameButton); panel.add(showFiltersPanel, BorderLayout.NORTH); } embeddedFiltersPanel = new RecordEventFilterFileTablePanel(filterTableModel); embeddedFiltersPanel.getJComponent().setVisible(showEmbeddedFilterTablePanelCheckBox.isSelected()); panel.add(embeddedFiltersPanel.getJComponent(), BorderLayout.CENTER); } // ------------------------------------------------------------------------ public JComponent getJComponent() { return panel; } public RecordEventFilterFileTableModel getFilterTableModel() { return filterTableModel; } }