Search in sources :

Example 31 with ButtonRenderer

use of jmri.util.table.ButtonRenderer in project JMRI by JMRI.

the class TrackTableModel method initTable.

private void initTable() {
    // Use XTableColumnModel so we can control which columns are visible
    XTableColumnModel tcm = new XTableColumnModel();
    _table.setColumnModel(tcm);
    _table.createDefaultColumnsFromModel();
    // set column preferred widths
    tcm.getColumn(ID_COLUMN).setPreferredWidth(40);
    tcm.getColumn(NAME_COLUMN).setPreferredWidth(200);
    tcm.getColumn(LENGTH_COLUMN).setPreferredWidth(Math.max(50, new JLabel(getColumnName(LENGTH_COLUMN)).getPreferredSize().width + 10));
    tcm.getColumn(USED_LENGTH_COLUMN).setPreferredWidth(50);
    tcm.getColumn(RESERVED_COLUMN).setPreferredWidth(Math.max(65, new JLabel(getColumnName(RESERVED_COLUMN)).getPreferredSize().width + 10));
    tcm.getColumn(MOVES_COLUMN).setPreferredWidth(60);
    tcm.getColumn(LOCOS_COLUMN).setPreferredWidth(60);
    tcm.getColumn(CARS_COLUMN).setPreferredWidth(60);
    tcm.getColumn(PICKUPS_COLUMN).setPreferredWidth(Math.max(60, new JLabel(getColumnName(PICKUPS_COLUMN)).getPreferredSize().width + 10));
    tcm.getColumn(SETOUT_COLUMN).setPreferredWidth(Math.max(60, new JLabel(getColumnName(SETOUT_COLUMN)).getPreferredSize().width + 10));
    tcm.getColumn(RESTRICTION_COLUMN).setPreferredWidth(90);
    tcm.getColumn(LOAD_COLUMN).setPreferredWidth(50);
    tcm.getColumn(SHIP_COLUMN).setPreferredWidth(50);
    tcm.getColumn(ROAD_COLUMN).setPreferredWidth(50);
    tcm.getColumn(DESTINATION_COLUMN).setPreferredWidth(50);
    tcm.getColumn(POOL_COLUMN).setPreferredWidth(70);
    tcm.getColumn(PLANPICKUP_COLUMN).setPreferredWidth(70);
    tcm.getColumn(ALT_TRACK_COLUMN).setPreferredWidth(120);
    tcm.getColumn(EDIT_COLUMN).setPreferredWidth(80);
    tcm.getColumn(EDIT_COLUMN).setCellRenderer(new ButtonRenderer());
    tcm.getColumn(EDIT_COLUMN).setCellEditor(new ButtonEditor(new JButton()));
    setColumnsVisible();
}
Also used : ButtonEditor(jmri.util.table.ButtonEditor) JButton(javax.swing.JButton) JLabel(javax.swing.JLabel) XTableColumnModel(jmri.util.swing.XTableColumnModel) ButtonRenderer(jmri.util.table.ButtonRenderer)

Example 32 with ButtonRenderer

use of jmri.util.table.ButtonRenderer in project JMRI by JMRI.

the class TrainsTableModel method initTable.

void initTable() {
    // Use XTableColumnModel so we can control which columns are visible
    XTableColumnModel tcm = new XTableColumnModel();
    _table.setColumnModel(tcm);
    _table.createDefaultColumnsFromModel();
    // Install the button handlers
    ButtonRenderer buttonRenderer = new ButtonRenderer();
    TableCellEditor buttonEditor = new ButtonEditor(new javax.swing.JButton());
    tcm.getColumn(EDITCOLUMN).setCellRenderer(buttonRenderer);
    tcm.getColumn(EDITCOLUMN).setCellEditor(buttonEditor);
    tcm.getColumn(ACTIONCOLUMN).setCellRenderer(buttonRenderer);
    tcm.getColumn(ACTIONCOLUMN).setCellEditor(buttonEditor);
    tcm.getColumn(BUILDCOLUMN).setCellRenderer(buttonRenderer);
    tcm.getColumn(BUILDCOLUMN).setCellEditor(buttonEditor);
    _table.setDefaultRenderer(Boolean.class, new EnablingCheckboxRenderer());
    // set column preferred widths
    for (int i = 0; i < tcm.getColumnCount(); i++) {
        tcm.getColumn(i).setPreferredWidth(_tableColumnWidths[i]);
    }
    _frame.loadTableDetails(_table);
    // turn off column
    tcm.setColumnVisible(tcm.getColumnByModelIndex(IDCOLUMN), _sort == SORTBYID);
}
Also used : ButtonEditor(jmri.util.table.ButtonEditor) JButton(javax.swing.JButton) EnablingCheckboxRenderer(jmri.jmrit.beantable.EnablingCheckboxRenderer) TableCellEditor(javax.swing.table.TableCellEditor) XTableColumnModel(jmri.util.swing.XTableColumnModel) ButtonRenderer(jmri.util.table.ButtonRenderer)

Example 33 with ButtonRenderer

use of jmri.util.table.ButtonRenderer in project JMRI by JMRI.

the class SchedulesTableModel method initTable.

public void initTable(SchedulesTableFrame frame, JTable table) {
    this.table = table;
    // Install the button handlers
    TableColumnModel tcm = table.getColumnModel();
    ButtonRenderer buttonRenderer = new ButtonRenderer();
    TableCellEditor buttonEditor = new ButtonEditor(new javax.swing.JButton());
    tcm.getColumn(EDIT_COLUMN).setCellRenderer(buttonRenderer);
    tcm.getColumn(EDIT_COLUMN).setCellEditor(buttonEditor);
    tcm.getColumn(DELETE_COLUMN).setCellRenderer(buttonRenderer);
    tcm.getColumn(DELETE_COLUMN).setCellEditor(buttonEditor);
    table.setDefaultRenderer(JComboBox.class, new jmri.jmrit.symbolicprog.ValueRenderer());
    table.setDefaultEditor(JComboBox.class, new jmri.jmrit.symbolicprog.ValueEditor());
    // set column preferred widths
    table.getColumnModel().getColumn(ID_COLUMN).setPreferredWidth(40);
    table.getColumnModel().getColumn(NAME_COLUMN).setPreferredWidth(200);
    table.getColumnModel().getColumn(SCHEDULE_STATUS_COLUMN).setPreferredWidth(80);
    table.getColumnModel().getColumn(SPUR_NUMBER_COLUMN).setPreferredWidth(40);
    table.getColumnModel().getColumn(SPUR_COLUMN).setPreferredWidth(350);
    table.getColumnModel().getColumn(STATUS_COLUMN).setPreferredWidth(150);
    table.getColumnModel().getColumn(MODE_COLUMN).setPreferredWidth(70);
    table.getColumnModel().getColumn(EDIT_COLUMN).setPreferredWidth(70);
    table.getColumnModel().getColumn(DELETE_COLUMN).setPreferredWidth(90);
    frame.loadTableDetails(table);
}
Also used : ButtonEditor(jmri.util.table.ButtonEditor) JButton(javax.swing.JButton) TableColumnModel(javax.swing.table.TableColumnModel) TableCellEditor(javax.swing.table.TableCellEditor) ButtonRenderer(jmri.util.table.ButtonRenderer)

Example 34 with ButtonRenderer

use of jmri.util.table.ButtonRenderer in project JMRI by JMRI.

the class ScheduleTableModel method initTable.

private void initTable(JTable table) {
    // Install the button handlers
    TableColumnModel tcm = table.getColumnModel();
    ButtonRenderer buttonRenderer = new ButtonRenderer();
    TableCellEditor buttonEditor = new ButtonEditor(new javax.swing.JButton());
    tcm.getColumn(UP_COLUMN).setCellRenderer(buttonRenderer);
    tcm.getColumn(UP_COLUMN).setCellEditor(buttonEditor);
    tcm.getColumn(DOWN_COLUMN).setCellRenderer(buttonRenderer);
    tcm.getColumn(DOWN_COLUMN).setCellEditor(buttonEditor);
    tcm.getColumn(DELETE_COLUMN).setCellRenderer(buttonRenderer);
    tcm.getColumn(DELETE_COLUMN).setCellEditor(buttonEditor);
    table.setDefaultRenderer(JComboBox.class, new jmri.jmrit.symbolicprog.ValueRenderer());
    table.setDefaultEditor(JComboBox.class, new jmri.jmrit.symbolicprog.ValueEditor());
    // set column preferred widths
    table.getColumnModel().getColumn(ID_COLUMN).setPreferredWidth(35);
    table.getColumnModel().getColumn(CURRENT_COLUMN).setPreferredWidth(50);
    table.getColumnModel().getColumn(TYPE_COLUMN).setPreferredWidth(90);
    table.getColumnModel().getColumn(RANDOM_COLUMN).setPreferredWidth(60);
    table.getColumnModel().getColumn(SETOUT_DAY_COLUMN).setPreferredWidth(90);
    table.getColumnModel().getColumn(ROAD_COLUMN).setPreferredWidth(90);
    table.getColumnModel().getColumn(LOAD_COLUMN).setPreferredWidth(90);
    table.getColumnModel().getColumn(SHIP_COLUMN).setPreferredWidth(90);
    table.getColumnModel().getColumn(DEST_COLUMN).setPreferredWidth(130);
    table.getColumnModel().getColumn(TRACK_COLUMN).setPreferredWidth(130);
    table.getColumnModel().getColumn(PICKUP_DAY_COLUMN).setPreferredWidth(90);
    table.getColumnModel().getColumn(COUNT_COLUMN).setPreferredWidth(45);
    table.getColumnModel().getColumn(WAIT_COLUMN).setPreferredWidth(40);
    table.getColumnModel().getColumn(UP_COLUMN).setPreferredWidth(60);
    table.getColumnModel().getColumn(DOWN_COLUMN).setPreferredWidth(70);
    table.getColumnModel().getColumn(DELETE_COLUMN).setPreferredWidth(70);
    _frame.loadTableDetails(table);
    // does not use a table sorter
    table.setRowSorter(null);
    updateList();
}
Also used : ButtonEditor(jmri.util.table.ButtonEditor) JButton(javax.swing.JButton) TableColumnModel(javax.swing.table.TableColumnModel) TableCellEditor(javax.swing.table.TableCellEditor) ButtonRenderer(jmri.util.table.ButtonRenderer)

Example 35 with ButtonRenderer

use of jmri.util.table.ButtonRenderer in project JMRI by JMRI.

the class EnginesTableModel method initTable.

void initTable() {
    // Use XTableColumnModel so we can control which columns are visible
    XTableColumnModel tcm = new XTableColumnModel();
    _table.setColumnModel(tcm);
    _table.createDefaultColumnsFromModel();
    // Install the button handlers
    ButtonRenderer buttonRenderer = new ButtonRenderer();
    tcm.getColumn(SET_COLUMN).setCellRenderer(buttonRenderer);
    TableCellEditor buttonEditor = new ButtonEditor(new javax.swing.JButton());
    tcm.getColumn(SET_COLUMN).setCellEditor(buttonEditor);
    tcm.getColumn(EDIT_COLUMN).setCellRenderer(buttonRenderer);
    tcm.getColumn(EDIT_COLUMN).setCellEditor(buttonEditor);
    // load defaults, xml file data not found
    for (int i = 0; i < tcm.getColumnCount(); i++) {
        tcm.getColumn(i).setPreferredWidth(_enginesTableColumnWidths[i]);
    }
    _frame.loadTableDetails(_table);
    // turn off columns
    tcm.setColumnVisible(tcm.getColumnByModelIndex(BUILT_COLUMN), false);
    tcm.setColumnVisible(tcm.getColumnByModelIndex(OWNER_COLUMN), false);
    tcm.setColumnVisible(tcm.getColumnByModelIndex(VALUE_COLUMN), false);
    tcm.setColumnVisible(tcm.getColumnByModelIndex(RFID_COLUMN), false);
    tcm.setColumnVisible(tcm.getColumnByModelIndex(RFID_WHEN_LAST_SEEN_COLUMN), false);
    tcm.setColumnVisible(tcm.getColumnByModelIndex(RFID_WHERE_LAST_SEEN_COLUMN), false);
    tcm.setColumnVisible(tcm.getColumnByModelIndex(LAST_COLUMN), false);
}
Also used : ButtonEditor(jmri.util.table.ButtonEditor) JButton(javax.swing.JButton) TableCellEditor(javax.swing.table.TableCellEditor) XTableColumnModel(jmri.util.swing.XTableColumnModel) ButtonRenderer(jmri.util.table.ButtonRenderer)

Aggregations

ButtonEditor (jmri.util.table.ButtonEditor)41 ButtonRenderer (jmri.util.table.ButtonRenderer)41 JButton (javax.swing.JButton)40 TableCellEditor (javax.swing.table.TableCellEditor)33 TableColumnModel (javax.swing.table.TableColumnModel)23 JLabel (javax.swing.JLabel)17 JPanel (javax.swing.JPanel)15 JScrollPane (javax.swing.JScrollPane)15 JTable (javax.swing.JTable)15 ActionEvent (java.awt.event.ActionEvent)10 BoxLayout (javax.swing.BoxLayout)10 Dimension (java.awt.Dimension)9 ActionListener (java.awt.event.ActionListener)9 FlowLayout (java.awt.FlowLayout)7 XTableColumnModel (jmri.util.swing.XTableColumnModel)7 TableColumn (javax.swing.table.TableColumn)6 TableRowSorter (javax.swing.table.TableRowSorter)6 BorderLayout (java.awt.BorderLayout)5 Point (java.awt.Point)5 DefaultCellEditor (javax.swing.DefaultCellEditor)5