package com.framsticks.gui; import com.framsticks.gui.view.TableModel; import com.framsticks.params.AccessInterface; import org.apache.log4j.Logger; import javax.swing.*; import javax.swing.table.TableColumn; /** * Panel contains table and allows to manages displaying columns. */ @SuppressWarnings("serial") public class ListPanel extends Panel { private static final Logger LOGGER = Logger.getLogger(ListPanel.class.getName()); final protected TableModel tableModel = new TableModel(); final protected JTable table = new JTable(tableModel); public ListPanel(EndpointAtFrame endpoint) { super(endpoint, "list"); table.getTableHeader().setReorderingAllowed(false); table.setColumnSelectionAllowed(false); table.setCellSelectionEnabled(false); table.setColumnSelectionAllowed(false); contentPanel.add(table); /* AccessInterface elementAccess = ((ListAccess)access).getElementAccess(); if (elementAccess == null) { LOGGER.error("no type class"); return; } List list = new ArrayList(); addColumn(elementAccess.getId(), elementAccess.getId(), 0); list.add(elementAccess.getId()); for (int p = 0; p < elementAccess.getParamCount(); ++p) { Param param = elementAccess.getParam(p); if (param.isUserHidden()) { continue; } if (param instanceof CompositeParam) { continue; } addColumn(param.getId(), param.getId(), 0); list.add(param.getId()); } tableModel.addRow(list.toArray()); */ /* JMenuBar menuBar = new JMenuBar(); selectColumnMenu = new JMenu("Columns"); menuBar.add(selectColumnMenu); createTable(); this.setLayout(new BorderLayout()); this.add(menuBar, BorderLayout.PAGE_START); */ } /** * Adds column to table. * * @param columnName Name of column. * @param columnId Column getId. * @param index Column index. */ public void addColumn(String columnName, String columnId, int index) { TableColumn tableColumn = new TableColumn(); tableColumn.setHeaderValue(columnName); tableColumn.setIdentifier(columnId); tableColumn.setModelIndex(index); tableModel.addColumn(tableColumn); //userColumnsConfig.addColumn(getPath(), columnId); } /** * Removes column from table. * * @param columnId Id of column. */ public void removeColumn(String columnId) { tableModel.removeColumn(columnId); //userColumnsConfig.removeColumn(getPath(), columnId); } /** * Clears table. */ public void clearTable() { tableModel.setRowCount(0); } public void refreshTable() { clearTable(); } @Override protected void applyChanges() { } @Override public void refreshComponents(AccessInterface access) { } }