/** Installs the GlazedLists integration on the given JXTable. */ private JXTableSupport(JXTable table, EventList<E> eventList, TableFormat<? super E> tableFormat, SortedList<E> sortedList, Object sortingStrategy) { this.table = table; this.tableFormat = tableFormat; // remember table state for restore on uninstall tableMemento = JXTableMemento.create(table); tableMemento.storeStateFrom(table); // set state needed to integrate with Glazed Lists tableMemento.configureStateForGlazedLists(table); // prepare and set TableModel und SelectionModel if (table.getFillsViewportHeight()) { // workaround the problem of repainting issues when this property is // set, because of the known mismatch between ListEvents and TableModelEvents // use another event conversion strategy in this case final Factory<E> eventAdapterFactory = GlazedListsSwing.manyToOneEventAdapterFactory(); tableModel = GlazedListsSwing.eventTableModelWithThreadProxyList(eventList, tableFormat, eventAdapterFactory); } else { // use default event conversion strategy tableModel = GlazedListsSwing.eventTableModelWithThreadProxyList(eventList, tableFormat); } table.setModel(tableModel); selectionModel = GlazedListsSwing.eventSelectionModelWithThreadProxyList(eventList); table.setSelectionModel(selectionModel); // finally install TableComparatorChooser tableComparatorChooser = TableComparatorChooser.<E>install(table, sortedList, sortingStrategy, tableFormat); }
/** * Uninstalls the GlazedLists integration and restores the state of JXTable as it was before * the installation. * * @throws IllegalStateException if this method is called from any Thread * other than the Swing Event Dispatch Thread */ public void uninstall() { checkAccessThread(); tableComparatorChooser.dispose(); tableMemento.restoreStateTo(table); tableModel.dispose(); selectionModel.dispose(); tableComparatorChooser = null; tableModel = null; selectionModel = null; tableFormat = null; table = null; tableMemento = null; }
/** * Creates a memento instance suitable for the given JXTable. */ public static JXTableMemento create(JXTable table) { if (isSwingX16(table)) { return new JXTable16Memento(); } else { return new JXTable10Memento(); } }
/** Installs the GlazedLists integration on the given JXTable. */ private JXTableSupport(JXTable table, EventList<E> eventList, TableFormat<? super E> tableFormat, SortedList<E> sortedList, Object sortingStrategy) { this.table = table; this.tableFormat = tableFormat; // remember table state for restore on uninstall tableMemento = JXTableMemento.create(table); tableMemento.storeStateFrom(table); // set state needed to integrate with Glazed Lists tableMemento.configureStateForGlazedLists(table); // prepare and set TableModel und SelectionModel tableModel = GlazedListsSwing.eventTableModelWithThreadProxyList(eventList, tableFormat); table.setModel(tableModel); selectionModel = GlazedListsSwing.eventSelectionModelWithThreadProxyList(eventList); table.setSelectionModel(selectionModel); // finally install TableComparatorChooser tableComparatorChooser = TableComparatorChooser.<E>install(table, sortedList, sortingStrategy, tableFormat); }
/** * Uninstalls the GlazedLists integration and restores the state of JXTable as it was before * the installation. * * @throws IllegalStateException if this method is called from any Thread * other than the Swing Event Dispatch Thread */ public void uninstall() { checkAccessThread(); tableComparatorChooser.dispose(); tableMemento.restoreStateTo(table); tableModel.dispose(); selectionModel.dispose(); tableComparatorChooser = null; tableModel = null; selectionModel = null; tableFormat = null; table = null; tableMemento = null; }
/** * Uninstalls the GlazedLists integration and restores the state of JXTable as it was before * the installation. * * @throws IllegalStateException if this method is called from any Thread * other than the Swing Event Dispatch Thread */ public void uninstall() { checkAccessThread(); tableComparatorChooser.dispose(); tableMemento.restoreStateTo(table); tableModel.dispose(); selectionModel.dispose(); tableComparatorChooser = null; tableModel = null; selectionModel = null; tableFormat = null; table = null; tableMemento = null; }
/** Installs the GlazedLists integration on the given JXTable. */ private JXTableSupport(JXTable table, EventList<E> eventList, TableFormat<? super E> tableFormat, SortedList<E> sortedList, Object sortingStrategy) { this.table = table; this.tableFormat = tableFormat; // remember table state for restore on uninstall tableMemento = JXTableMemento.create(table); tableMemento.storeStateFrom(table); // set state needed to integrate with Glazed Lists tableMemento.configureStateForGlazedLists(table); // prepare and set TableModel und SelectionModel tableModel = GlazedListsSwing.eventTableModelWithThreadProxyList(eventList, tableFormat); table.setModel(tableModel); selectionModel = GlazedListsSwing.eventSelectionModelWithThreadProxyList(eventList); table.setSelectionModel(selectionModel); // finally install TableComparatorChooser tableComparatorChooser = TableComparatorChooser.<E>install(table, sortedList, sortingStrategy, tableFormat); }
@Override public void restoreStateTo(JXTable table) { super.restoreStateTo(table); autoCreateRowSorterProperty.set(table, oldAutoCreateRowSorter); rowSorterProperty.set(table, oldRowSorter); }
@Override public void restoreStateTo(JXTable table) { super.restoreStateTo(table); autoCreateRowSorterProperty.set(table, oldAutoCreateRowSorter); rowSorterProperty.set(table, oldRowSorter); }
@Override public void storeStateFrom(JXTable table) { super.storeStateFrom(table); oldAutoCreateRowSorter = (Boolean) autoCreateRowSorterProperty.get(table); oldRowSorter = rowSorterProperty.get(table); }
@Override public void storeStateFrom(JXTable table) { super.storeStateFrom(table); oldSelectionMapperEnabled = (Boolean) selectionMapperEnabledProperty.get(table); }
@Override public void configureStateForGlazedLists(JXTable table) { super.configureStateForGlazedLists(table); selectionMapperEnabledProperty.set(table, Boolean.FALSE); } }
@Override public void restoreStateTo(JXTable table) { super.restoreStateTo(table); selectionMapperEnabledProperty.set(table, oldSelectionMapperEnabled); } @Override
@Override public void storeStateFrom(JXTable table) { super.storeStateFrom(table); oldAutoCreateRowSorter = table.getAutoCreateRowSorter(); oldRowSorter = table.getRowSorter(); }
@Override public void configureStateForGlazedLists(JXTable table) { super.configureStateForGlazedLists(table); selectionMapperEnabledProperty.set(table, Boolean.FALSE); } }
@Override public void restoreStateTo(JXTable table) { super.restoreStateTo(table); table.setAutoCreateRowSorter(oldAutoCreateRowSorter); table.setRowSorter(oldRowSorter); }
@Override public void configureStateForGlazedLists(JXTable table) { super.configureStateForGlazedLists(table); autoCreateRowSorterProperty.set(table, Boolean.FALSE); rowSorterProperty.set(table, null); } }
@Override public void storeStateFrom(JXTable table) { super.storeStateFrom(table); oldSelectionMapperEnabled = (Boolean) selectionMapperEnabledProperty.get(table); }
@Override public void configureStateForGlazedLists(JXTable table) { super.configureStateForGlazedLists(table); table.setAutoCreateRowSorter(false); table.setRowSorter(null); } }
@Override public void restoreStateTo(JXTable table) { super.restoreStateTo(table); selectionMapperEnabledProperty.set(table, oldSelectionMapperEnabled); } @Override