public void actionPerformed(final ActionEvent e) { final int rowCount = productSetTable.getFileCount(); if (rowCount == 1) { tableModel.clear(); return; } final int[] selRows = table.getSelectedRows(); final java.util.List<File> filesToRemove = new ArrayList<>(selRows.length); for (int row : selRows) { filesToRemove.add(tableModel.getFileAt(row)); } for (File file : filesToRemove) { int index = tableModel.getIndexOf(file); tableModel.removeFile(index); } } });
public File[] getFileList() { return fileModel.getFileList(); }
public int getFileCount() { int cnt = fileModel.getRowCount(); if (cnt == 1) { File file = fileModel.getFileAt(0); if (file != null && file.getName().isEmpty()) return 0; } return cnt; }
public void actionPerformed(final ActionEvent e) { final int[] selRows = table.getSelectedRows(); final java.util.List<File> filesToMove = new ArrayList<>(selRows.length); for (int row : selRows) { filesToMove.add(tableModel.getFileAt(row)); } int pos = 0; for (File file : filesToMove) { int index = tableModel.getIndexOf(file); if (index > 0 && movement.equals(MOVE.TOP)) { tableModel.move(index, pos++); } else if (index > 0 && movement.equals(MOVE.UP)) { tableModel.move(index, index - 1); } else if (index < tableModel.getRowCount() && movement.equals(MOVE.DOWN)) { tableModel.move(index, index + 1); } else if (index < tableModel.getRowCount() && movement.equals(MOVE.BOTTOM)) { tableModel.move(index, tableModel.getRowCount()-1); } } } }
public void actionPerformed(final ActionEvent e) { try { final File mstFile = tableModel.getFileAt(0); if (mstFile.exists()) { final ProductEntry[] entryList = DBSearch.search(mstFile); for (ProductEntry entry : entryList) { if (tableModel.getIndexOf(entry.getFile()) < 0) tableModel.addFile(entry); } } } catch (Exception ex) { appContext.handleError("Unable to query DB", ex); } } });
public File[] getSelectedFiles() { return productSetTable.getModel().getFilesAt(productSetTable.getSelectedRows()); }
public Object getValueAt(final int r, final int c) { return table.getModel().getValueAt(r, c); }
public void actionPerformed(final ActionEvent e) { tableModel.clear(); } });
@Override protected Transferable createTransferable(JComponent c) { final JTable table = (JTable) c; final int[] rows = table.getSelectedRows(); final StringBuilder listStr = new StringBuilder(256); for (int row : rows) { final File file = fileModel.getFileAt(row); listStr.append(file.getAbsolutePath()); listStr.append('\n'); } if (rows.length != 0) { return new StringSelection(listStr.toString()); } return null; } }
public ProductSetPanel(final AppContext theAppContext, final String title, final FileTable fileTable, final boolean incTrgProduct, final boolean incButtonPanel) { super(new BorderLayout()); this.appContext = theAppContext; this.productSetTable = fileTable; setBorderTitle(title); final JPanel productSetContent = createComponent(productSetTable); if (incButtonPanel) { buttonPanel = createButtonPanel(productSetTable); productSetContent.add(buttonPanel, BorderLayout.EAST); } this.add(productSetContent, BorderLayout.CENTER); if (incTrgProduct) { targetProductSelector = new TargetFolderSelector(); final String homeDirPath = SystemUtils.getUserHomeDir().getPath(); final String saveDir = SnapApp.getDefault().getPreferences().get(SaveProductAsAction.PREFERENCES_KEY_LAST_PRODUCT_DIR, homeDirPath); targetProductSelector.getModel().setProductDir(new File(saveDir)); targetProductSelector.getOpenInAppCheckBox().setText("Open in " + theAppContext.getApplicationName()); targetProductSelector.getOpenInAppCheckBox().setVisible(false); this.add(targetProductSelector.createPanel(), BorderLayout.SOUTH); } else { targetProductSelector = null; } fileTable.getModel().addTableModelListener(this); updateComponents(); }
private static void addProducts(final FileTableModel tableModel, final File[] files) { final ProgressHandleMonitor pm = ProgressHandleMonitor.create("Populating table"); Runnable operation = () -> { pm.beginTask("Populating table...", files.length); for (File file : files) { if (ProductFunctions.isValidProduct(file)) { tableModel.addFile(file); } pm.worked(1); } pm.done(); }; ProgressUtils.runOffEventThreadWithProgressDialog(operation, "Adding Products", pm.getProgressHandle(), true, 50, 1000); }
public File[] getSelectedFiles() { return table.getModel().getFilesAt(table.getSelectedRows()); }
public Object getValueAt(final int r, final int c) { return productSetTable.getModel().getValueAt(r, c); }
private static void addAllOpenProducts(final FileTableModel tableModel) { final ProgressHandleMonitor pm = ProgressHandleMonitor.create("Populating table"); Runnable operation = () -> { final Product[] products = SnapApp.getDefault().getProductManager().getProducts(); pm.beginTask("Populating table...", products.length); for (Product prod : products) { final File file = prod.getFileLocation(); if (file != null && file.exists()) { tableModel.addFile(file); } pm.worked(1); } pm.done(); }; ProgressUtils.runOffEventThreadWithProgressDialog(operation, "Adding Products", pm.getProgressHandle(), true, 50, 1000); }