@Override public void initialize(Map<String, Object> arg0, URL arg1, Resources arg2) { tableViewRowEditor = new TableViewRowEditor(); asf1TVAdditionalServices.setRowEditor(tableViewRowEditor); // Quantity uses a TextInput TextInput quantityTextInput = new TextInput(); quantityTextInput.setTextKey("quantity"); tableViewRowEditor.getCellEditors().put("quantity", quantityTextInput); // Description uses a TextInput TextInput descriptionTextInput = new TextInput(); descriptionTextInput.setTextKey("description"); tableViewRowEditor.getCellEditors().put("description", descriptionTextInput); }
@Override public boolean mouseClick(Component component, Mouse.Button button, int x, int y, int count) { if (button == Mouse.Button.MIDDLE) { if (component instanceof TextInput) { ((TextInput) component).paste(); } else if (component instanceof TextArea) { ((TextArea) component).paste(); return true; } } return false; }
protected void aplicarFiltro() { java.util.List<RecetaListItem> aux; recetas.clear(); try { Integer tiempoTotal = minutosSpinner.getSelectedIndex() * 60 + segundosSpinner.getSelectedIndex(); // Para que no desaparezcan recetas de la tabla al no haber indicado ningún tiempo. if (tiempoTotal == 0) tiempoTotal = null; Long idCategoria = ((CategoriaItem) categoriasListButton.getSelectedItem()).getId(); aux = ServiceLocator.getRecetasService() .buscarRecetas(nombreText.getText(), tiempoTotal, idCategoria); for (RecetaListItem c : aux) { recetas.add(convert(c)); } } catch (ServiceException e) { } // Actualizar el número de recetas recetApp.getPrincipalWindow().setNumRecetasText("" + recetas.getLength()); }
@Override public void initialize(Map<String, Object> namespace, URL location, Resources resources) { recetas = new ArrayList<RecetaListFormatItem>(); recetasTable.setTableData(recetas); initRecetasTable(); initCategoriaListButton(); nombreText .getComponentKeyListeners() .add( new ComponentKeyListener.Adapter() { @Override public boolean keyTyped(Component component, char character) { aplicarFiltro(); return false; } }); minutosSpinner .getSpinnerSelectionListeners() .add( new SpinnerSelectionListener.Adapter() { @Override public void selectedItemChanged(Spinner spinner, Object previousSelectedItem) { aplicarFiltro(); } }); segundosSpinner .getSpinnerSelectionListeners() .add( new SpinnerSelectionListener.Adapter() { @Override public void selectedItemChanged(Spinner spinner, Object previousSelectedItem) { aplicarFiltro(); } }); categoriasListButton .getListButtonSelectionListeners() .add( new ListButtonSelectionListener.Adapter() { @Override public void selectedItemChanged(ListButton listButton, Object previousSelectedItem) { aplicarFiltro(); } }); aniadirButton .getButtonPressListeners() .add( new ButtonPressListener() { @Override public void buttonPressed(Button button) { onAniadirButtonPressed(); } }); eliminarButton .getButtonPressListeners() .add( new ButtonPressListener() { @Override public void buttonPressed(Button arg0) { onEliminarButtonPressed(); } }); editarButton .getButtonPressListeners() .add( new ButtonPressListener() { @Override public void buttonPressed(Button button) { onEditarButtonPressed(); } }); }
@Override public void beginEdit( TableView tableViewArgument, int rowIndexArgument, int columnIndexArgument) { this.tableView = tableViewArgument; this.rowIndex = rowIndexArgument; this.columnIndex = columnIndexArgument; Container tableViewParent = tableViewArgument.getParent(); tableViewScrollPane = (tableViewParent instanceof ScrollPane) ? (ScrollPane) tableViewParent : null; // Add/create the editor components TableView.ColumnSequence tableViewColumns = tableViewArgument.getColumns(); TablePane.ColumnSequence tablePaneColumns = tablePane.getColumns(); for (int i = 0, n = tableViewColumns.getLength(); i < n; i++) { // Add a new column to the table pane to match the table view column TablePane.Column tablePaneColumn = new TablePane.Column(); tablePaneColumn.setWidth(tableViewArgument.getColumnBounds(i).width); tablePaneColumns.add(tablePaneColumn); // Determine which component to use as the editor for this column String columnName = tableViewColumns.get(i).getName(); Component editorComponent = null; if (columnName != null) { editorComponent = cellEditors.get(columnName); } // Default to a read-only text input editor if (editorComponent == null) { TextInput editorTextInput = new TextInput(); editorTextInput.setTextKey(columnName); editorTextInput.setEnabled(false); editorTextInput.setTextBindType(BindType.LOAD); editorComponent = editorTextInput; } // Add the editor component to the table pane editorRow.add(editorComponent); } // Get the data being edited List<?> tableData = tableViewArgument.getTableData(); Object tableRow = tableData.get(rowIndexArgument); // Load the row data into the editor components tablePane.load(tableRow); // Get the row bounds Bounds rowBounds = tableViewArgument.getRowBounds(rowIndexArgument); rowImage.bounds = rowBounds; // Scroll to make the row as visible as possible tableViewArgument.scrollAreaToVisible( rowBounds.x, rowBounds.y, rowBounds.width, rowBounds.height); // Constrain the bounds by what is visible through viewport ancestors rowBounds = tableViewArgument.getVisibleArea(rowBounds); Point location = tableViewArgument.mapPointToAncestor( tableViewArgument.getDisplay(), rowBounds.x, rowBounds.y); // Set size and location and match scroll left setPreferredWidth(rowBounds.width); setLocation(location.x, location.y + (rowBounds.height - getPreferredHeight(-1)) / 2); if (tableViewScrollPane != null) { scrollPane.setScrollLeft(tableViewScrollPane.getScrollLeft()); } // Open the editor open(tableViewArgument.getWindow()); // Start the transition cardPane.setSelectedIndex(EDITOR_CARD_INDEX); }