Java 类javafx.scene.control.TableCell 实例源码
项目:marathonv5
文件:JavaFXElementPropertyAccessor.java
public Point2D getPoint(TableView<?> tableView, int columnIndex, int rowIndex) {
Set<Node> tableRowCell = tableView.lookupAll(".table-row-cell");
TableRow<?> row = null;
for (Node tableRow : tableRowCell) {
TableRow<?> r = (TableRow<?>) tableRow;
if (r.getIndex() == rowIndex) {
row = r;
break;
}
}
Set<Node> cells = row.lookupAll(".table-cell");
for (Node node : cells) {
TableCell<?, ?> cell = (TableCell<?, ?>) node;
if (tableView.getColumns().indexOf(cell.getTableColumn()) == columnIndex) {
Bounds bounds = cell.getBoundsInParent();
Point2D localToParent = cell.localToParent(bounds.getWidth() / 2, bounds.getHeight() / 2);
Point2D rowLocal = row.localToScene(localToParent, true);
return rowLocal;
}
}
return null;
}
项目:trex-stateless-gui
文件:PacketTableView.java
@Override
public TableCell call(TableColumn p) {
return new TableCell<Object, String>() {
private final ImageView imageview;
{
imageview = new ImageView();
imageview.setFitHeight(16);
imageview.setFitWidth(16);
imageview.setCache(true);
}
@Override
protected void updateItem(String item, boolean empty) {
super.updateItem(item, empty);
if (empty) {
setText(null);
setGraphic(null);
} else {
imageview.setImage(new Image(item));
setGraphic(imageview);
}
}
};
}
项目:hygene
文件:AnnotationController.java
/**
* Creates a wrapped table cell.
*
* @param column the table column in which the cell resides
* @return a TableCell with the text wrapped inside
*/
private TableCell<Annotation, String> createWrappableTableCell(final TableColumn<Annotation, String> column) {
return new TableCell<Annotation, String>() {
@Override
protected void updateItem(final String item, final boolean empty) {
super.updateItem(item, empty);
if (item == null || empty) {
setGraphic(null);
return;
}
final Text text = new Text(item);
text.setWrappingWidth(column.getWidth() - TEXT_PADDING);
setPrefHeight(text.getLayoutBounds().getHeight());
setGraphic(text);
}
};
}
项目:hygene
文件:NodePropertiesController.java
/**
* Create a table cell that wraps the text inside.
*
* @param param the table column
* @return a table cell that wraps the text inside
*/
TableCell<Annotation, String> wrappableTableCell(final TableColumn<Annotation, String> param) {
return new TableCell<Annotation, String>() {
@Override
protected void updateItem(final String item, final boolean empty) {
super.updateItem(item, empty);
if (item == null || empty) {
setGraphic(null);
return;
}
final Text text = new Text(item);
text.setWrappingWidth(param.getWidth());
setPrefHeight(text.getLayoutBounds().getHeight());
setGraphic(text);
}
};
}
项目:marathonv5
文件:JavaFXElementPropertyAccessor.java
public TableCell<?, ?> getVisibleCellAt(TableView<?> tableView, int row, int column) {
Set<Node> lookupAll = getTableCells(tableView);
TableCell<?, ?> cell = null;
for (Node node : lookupAll) {
TableCell<?, ?> cell1 = (TableCell<?, ?>) node;
TableRow<?> tableRow = cell1.getTableRow();
TableColumn<?, ?> tableColumn = cell1.getTableColumn();
if (tableRow.getIndex() == row && tableColumn == tableView.getColumns().get(column)) {
cell = cell1;
break;
}
}
if (cell != null) {
return cell;
}
return null;
}
项目:marathonv5
文件:JavaFXTableViewCellElement.java
@Override public String _getValue() {
TableCell<?, ?> cell = (TableCell<?, ?>) node;
Node graphic = cell.getGraphic();
JavaFXElement component = (JavaFXElement) JavaFXElementFactory.createElement(graphic, driver, window);
if (graphic != null && component != null) {
if (graphic instanceof CheckBox) {
String cellText = cell.getText() == null ? "" : cell.getText();
return cellText + ":" + component._getValue();
}
return component._getValue();
}
return super._getValue();
}
项目:marathonv5
文件:JavaFXTableViewElementScrollTest.java
public Point2D getPoint(TableView<?> tableView, int columnIndex, int rowIndex) {
Set<Node> tableRowCell = tableView.lookupAll(".table-row-cell");
TableRow<?> row = null;
for (Node tableRow : tableRowCell) {
TableRow<?> r = (TableRow<?>) tableRow;
if (r.getIndex() == rowIndex) {
row = r;
break;
}
}
Set<Node> cells = row.lookupAll(".table-cell");
for (Node node : cells) {
TableCell<?, ?> cell = (TableCell<?, ?>) node;
if (tableView.getColumns().indexOf(cell.getTableColumn()) == columnIndex) {
Bounds bounds = cell.getBoundsInParent();
Point2D localToParent = cell.localToParent(bounds.getWidth() / 2, bounds.getHeight() / 2);
Point2D rowLocal = row.localToScene(localToParent, true);
return rowLocal;
}
}
return null;
}
项目:marathonv5
文件:RFXComponentTest.java
public Point2D getPoint(TableView<?> tableView, int columnIndex, int rowIndex) {
Set<Node> tableRowCell = tableView.lookupAll(".table-row-cell");
TableRow<?> row = null;
for (Node tableRow : tableRowCell) {
TableRow<?> r = (TableRow<?>) tableRow;
if (r.getIndex() == rowIndex) {
row = r;
break;
}
}
Set<Node> cells = row.lookupAll(".table-cell");
for (Node node : cells) {
TableCell<?, ?> cell = (TableCell<?, ?>) node;
if (tableView.getColumns().indexOf(cell.getTableColumn()) == columnIndex) {
Bounds bounds = cell.getBoundsInParent();
Point2D localToParent = cell.localToParent(bounds.getWidth() / 2, bounds.getHeight() / 2);
Point2D rowLocal = row.localToScene(localToParent, true);
return rowLocal;
}
}
return null;
}
项目:Clipcon-Client
文件:MainScene.java
/** Add participant in group list */
public void addGroupParticipantList() {
Platform.runLater(() -> {
groupParticipantTable.setItems(groupParticipantList);
// Nickname column setting
groupPartiNicknameColumn.setCellValueFactory(cellData -> cellData.getValue().getNameProperty());
groupPartiNicknameColumn.setCellFactory(new Callback<TableColumn<User, String>, TableCell<User, String>>() {
@Override
public TableCell<User, String> call(TableColumn<User, String> column) {
TableCell<User, String> tc = new TableCell<User, String>() {
@Override
public void updateItem(String item, boolean empty) {
if (item != null) {
setText(item);
}
}
};
tc.setAlignment(Pos.CENTER);
return tc;
}
});
});
}
项目:drd
文件:CellUtils.java
public static final <S> TableCell<S, Image> forImage() {
final ImageView imageView = new ImageView();
{
imageView.setFitWidth(ItemSlot.SLOT_SIZE);
imageView.setFitHeight(ItemSlot.SLOT_SIZE);
}
return new TableCell<S, Image>() {
@Override
protected void updateItem(Image item, boolean empty) {
super.updateItem(item, empty);
if (empty) {
setText(null);
setGraphic(null);
} else {
imageView.setImage(item);
setGraphic(imageView);
}
}
};
}
项目:population
文件:PrimaryController.java
private <T> Callback<TableColumn<T, Number>, TableCell<T, Number>> integerCell(
Predicate<Integer> validator, int defaultValue) {
return TextFieldTableCell.forTableColumn(new StringConverter<Number>() {
@Override
public String toString(Number object) {
if (object == null) {
return null;
}
return object.toString();
}
@Override
public Number fromString(String string) {
try {
int value = Integer.parseInt(string);
if (validator.test(value)) {
return value;
} else {
return defaultValue;
}
} catch (NumberFormatException e) {
return defaultValue;
}
}
});
}
项目:photometric-data-retriever
文件:StellarObjectTableController.java
@FXML
private void initialize() {
distanceColumn.setCellValueFactory(cell -> cell.getValue().distanceProperty());
distanceColumn.setCellFactory(param -> new TableCell<StellarObjectModel, Number>() {
@Override
protected void updateItem(Number item, boolean empty) {
if (item != null) {
NumberFormat formatter = new DecimalFormat("#0.00", DecimalFormatSymbols.getInstance(Locale.ENGLISH));
setText(formatter.format(item));
}
}
});
nameColumn.setCellValueFactory(cell -> cell.getValue().nameProperty());
raColumn.setCellValueFactory(cell -> cell.getValue().rightAscensionProperty());
decColumn.setCellValueFactory(cell -> cell.getValue().declinationProperty());
}
项目:jstackfx
文件:ThreadListCellFactory.java
protected TextFlow buildThreadListGraphic(final TableCell<ThreadElement, Set<ThreadElement>> cell, final Set<ThreadElement> threads) {
final TextFlow threadsGraphic = new TextFlow();
threadsGraphic.setPrefHeight(20);
final Iterator<ThreadElement> threadIterator = threads.iterator();
while (threadIterator.hasNext()) {
final ThreadElement thread = threadIterator.next();
threadsGraphic.getChildren().add(buildThreadLink(cell, thread));
if (threadIterator.hasNext()) {
threadsGraphic.getChildren().add(buildThreadSeparator());
}
}
return threadsGraphic;
}
项目:openjfx-8u-dev-tests
文件:TableViewNewTest.java
protected void checkTextContainment(final Wrap<? extends TableCell> cellWrap, final String textExpectToFind) {
new Waiter(new Timeout("", 1000)).ensureState(new State() {
public Object reached() {
LookupCriteria<Node> lookupCriteria = new LookupCriteria<Node>() {
public boolean check(Node cntrl) {
return Text.class.isAssignableFrom(cntrl.getClass())
|| ((Text) cntrl).getText().equals(textExpectToFind);
}
};
if (cellWrap.as(Parent.class, Node.class).lookup(Text.class, new ByText(textExpectToFind)).size() == 1) {
return true;
} else if (cellWrap.as(Parent.class, Node.class).lookup(lookupCriteria).size() == 1) {
return true;
} else {
return null;
}
}
});
}
项目:openjfx-8u-dev-tests
文件:TestBaseCommon.java
protected static Range getVisibleRange(final Wrap<? extends Control> testedControl) {
int[] visibleIndices;
if (testedControl.getControl() instanceof TableView) {
visibleIndices = org.jemmy.fx.control.TableUtils.shown(
testedControl.getEnvironment(),
testedControl,
new org.jemmy.fx.control.TableUtils.TableViewIndexInfoProvider((TableViewWrap) testedControl), TableCell.class);
} else {
visibleIndices = org.jemmy.fx.control.TableUtils.shown(
testedControl.getEnvironment(),
testedControl,
new org.jemmy.fx.control.TableUtils.TreeTableViewIndexInfoProvider((TreeTableViewWrap) testedControl), TreeTableCell.class);
}
return new Range(visibleIndices[1], visibleIndices[3]);
}
项目:openjfx-8u-dev-tests
文件:TableViewLookupTest.java
@Test
public void cellLookup() {
System.out.println("testLookup");
final String D = "D";
Wrap<? extends TableCell> tableCellWrap = tableDock.asParent().
lookup(TableCell.class, control -> {
String item = (String) control.getItem();
return item != null && item.contains(D);
}).wrap();
assertTrue("tableViewCellsParent.lookup().wrap() returns "
+ "TableCellWrap",
tableCellWrap instanceof TableCellWrap);
assertTrue(tableCellWrap.getProperty(String.class, "getItem").contains(D));
tableCellWrap.mouse().click();
tableDock.wrap().waitState(() -> tableDock.getSelection().contains(new Point(0, 4)) ? true : null);
}
项目:slogo
文件:History.java
/**
* Generates the callback function to be called on button click.
* @return
*/
private Callback<?, ?> generateCallback() {
return new Callback<TableColumn<HistoricalItem, String>, TableCell<HistoricalItem, String>>() {
@SuppressWarnings("rawtypes")
@Override
public TableCell call(TableColumn<HistoricalItem, String> parameter) {
final TableCell<HistoricalItem, String> cell = new TableCell<HistoricalItem, String>() {
final Button button = new Button(CALLBACK);
@Override
public void updateItem(String item, boolean empty) {
super.updateItem(item, empty);
if(empty) {
setGraphic(null);
} else {
HistoricalItem history = getTableView().getItems().get(getIndex());
button.setId(CALLBACK + " " + history.getValue());
button.setOnAction(event);
setGraphic(button);
}
setText(null);
}
}; return cell;
}};
}
项目:drbookings
文件:StudioCellFactory.java
@Override
public TableCell<DateBean, DateBean> call(final TableColumn<DateBean, DateBean> param) {
return new TableCell<DateBean, DateBean>() {
@Override
protected void updateItem(final DateBean item, final boolean empty) {
super.updateItem(item, empty);
if (empty || item == null) {
setText("");
setStyle("");
setGraphic(null);
} else {
setGraphic(buildCellContentFast(item.getRoom(id)));
setStyle("-fx-padding: 0 0 0 0;");
}
}
};
}
项目:rpmjukebox
文件:LoveButtonTableCellFactoryTest.java
@Test
public void shouldSinglePrimaryClickOnCellTrackInPlaylist() {
TableCell<TrackTableModel, String> tableCell = cellFactory.call(new TableColumn<>());
tableCell.setItem("trackId");
Track track = new Track("123", "Artist Name", "Artist Image", "456", "Album Name", "Album Image", 2000, "789",
"Track Name", 1, "Location", true, Arrays.asList("Genre 1", "Genre 2"));
track.setPlaylistId(999);
TrackTableModel trackTableModel = new TrackTableModel(track);
@SuppressWarnings("unchecked")
TableRow<TrackTableModel> mockTableRow = (TableRow<TrackTableModel>)mock(TableRow.class);
when(mockTableRow.getItem()).thenReturn(trackTableModel);
ReflectionTestUtils.invokeMethod(tableCell, "setTableRow", mockTableRow);
when(mockPlaylistManager.isTrackInPlaylist(anyInt(), anyString())).thenReturn(true);
tableCell.onMouseClickedProperty().get()
.handle(getMouseEvent(MouseEvent.MOUSE_CLICKED, MouseButton.PRIMARY, 1));
verify(mockPlaylistManager, never()).addTrackToPlaylist(PLAYLIST_ID_FAVOURITES, track);
verify(mockPlaylistManager, times(1)).removeTrackFromPlaylist(PLAYLIST_ID_FAVOURITES, track);
verify(getMockEventManager(), times(1)).fireEvent(Event.PLAYLIST_CONTENT_UPDATED, track.getPlaylistId());
}
项目:rpmjukebox
文件:LoveButtonTableCellFactoryTest.java
@Test
public void shouldSinglePrimaryClickOnCellTrackNotInPlaylist() {
TableCell<TrackTableModel, String> tableCell = cellFactory.call(new TableColumn<>());
tableCell.setItem("trackId");
Track track = new Track("123", "Artist Name", "Artist Image", "456", "Album Name", "Album Image", 2000, "789",
"Track Name", 1, "Location", true, Arrays.asList("Genre 1", "Genre 2"));
track.setPlaylistId(999);
TrackTableModel trackTableModel = new TrackTableModel(track);
@SuppressWarnings("unchecked")
TableRow<TrackTableModel> mockTableRow = (TableRow<TrackTableModel>)mock(TableRow.class);
when(mockTableRow.getItem()).thenReturn(trackTableModel);
ReflectionTestUtils.invokeMethod(tableCell, "setTableRow", mockTableRow);
when(mockPlaylistManager.isTrackInPlaylist(anyInt(), anyString())).thenReturn(false);
tableCell.onMouseClickedProperty().get()
.handle(getMouseEvent(MouseEvent.MOUSE_CLICKED, MouseButton.PRIMARY, 1));
verify(mockPlaylistManager, times(1)).addTrackToPlaylist(PLAYLIST_ID_FAVOURITES, track);
verify(mockPlaylistManager, never()).removeTrackFromPlaylist(PLAYLIST_ID_FAVOURITES, track);
verify(getMockEventManager(), times(1)).fireEvent(Event.PLAYLIST_CONTENT_UPDATED, track.getPlaylistId());
}
项目:rpmjukebox
文件:LoveButtonTableCellFactoryTest.java
@Test
public void shouldSinglePrimaryClickOnCellNullItem() {
TableCell<TrackTableModel, String> tableCell = cellFactory.call(new TableColumn<>());
tableCell.setItem(null);
Track track = new Track("123", "Artist Name", "Artist Image", "456", "Album Name", "Album Image", 2000, "789",
"Track Name", 1, "Location", true, Arrays.asList("Genre 1", "Genre 2"));
track.setPlaylistId(999);
tableCell.onMouseClickedProperty().get()
.handle(getMouseEvent(MouseEvent.MOUSE_CLICKED, MouseButton.PRIMARY, 1));
verify(mockPlaylistManager, never()).addTrackToPlaylist(PLAYLIST_ID_FAVOURITES, track);
verify(mockPlaylistManager, never()).removeTrackFromPlaylist(PLAYLIST_ID_FAVOURITES, track);
verify(getMockEventManager(), never()).fireEvent(Event.PLAYLIST_CONTENT_UPDATED, track.getPlaylistId());
}
项目:rpmjukebox
文件:LoveButtonTableCellFactoryTest.java
@Test
public void shouldDoublePrimaryClickOnCell() {
TableCell<TrackTableModel, String> tableCell = cellFactory.call(new TableColumn<>());
tableCell.setItem(null);
Track track = new Track("123", "Artist Name", "Artist Image", "456", "Album Name", "Album Image", 2000, "789",
"Track Name", 1, "Location", true, Arrays.asList("Genre 1", "Genre 2"));
track.setPlaylistId(999);
tableCell.onMouseClickedProperty().get()
.handle(getMouseEvent(MouseEvent.MOUSE_CLICKED, MouseButton.PRIMARY, 2));
verify(mockPlaylistManager, never()).addTrackToPlaylist(PLAYLIST_ID_FAVOURITES, track);
verify(mockPlaylistManager, never()).removeTrackFromPlaylist(PLAYLIST_ID_FAVOURITES, track);
verify(getMockEventManager(), never()).fireEvent(Event.PLAYLIST_CONTENT_UPDATED, track.getPlaylistId());
}
项目:rpmjukebox
文件:LoveButtonTableCellFactoryTest.java
@Test
public void shouldSingleSecondaryClickOnCell() {
TableCell<TrackTableModel, String> tableCell = cellFactory.call(new TableColumn<>());
tableCell.setItem(null);
Track track = new Track("123", "Artist Name", "Artist Image", "456", "Album Name", "Album Image", 2000, "789",
"Track Name", 1, "Location", true, Arrays.asList("Genre 1", "Genre 2"));
track.setPlaylistId(999);
tableCell.onMouseClickedProperty().get()
.handle(getMouseEvent(MouseEvent.MOUSE_CLICKED, MouseButton.SECONDARY, 1));
verify(mockPlaylistManager, never()).addTrackToPlaylist(PLAYLIST_ID_FAVOURITES, track);
verify(mockPlaylistManager, never()).removeTrackFromPlaylist(PLAYLIST_ID_FAVOURITES, track);
verify(getMockEventManager(), never()).fireEvent(Event.PLAYLIST_CONTENT_UPDATED, track.getPlaylistId());
}
项目:rpmjukebox
文件:TrackTableCellFactoryTest.java
@Test
public void shouldOpenContextMenuOnSearchPlaylist() {
TableCell<TrackTableModel, String> tableCell = cellFactory.call(new TableColumn<>());
Track track = getTrack();
track.setPlaylistId(PLAYLIST_ID_SEARCH);
updateTableCell(tableCell, track);
tableCell.onContextMenuRequestedProperty().get().handle(getContextMenuEvent(tableCell));
MenuItem createPlaylistFromAlbumItem = tableCell.getContextMenu().getItems().get(0);
MenuItem deleteTrackFromPlaylistItem = tableCell.getContextMenu().getItems().get(1);
assertThat("Create playlist from album item should not be disabled", createPlaylistFromAlbumItem.isDisable(),
equalTo(false));
assertThat("Delete track from playlist item should be disabled", deleteTrackFromPlaylistItem.isDisable(),
equalTo(true));
}
项目:rpmjukebox
文件:TrackTableCellFactoryTest.java
@Test
public void shouldOpenContextMenuOnNonSearchPlaylist() {
TableCell<TrackTableModel, String> tableCell = cellFactory.call(new TableColumn<>());
Track track = getTrack();
updateTableCell(tableCell, track);
tableCell.onContextMenuRequestedProperty().get().handle(getContextMenuEvent(tableCell));
MenuItem createPlaylistFromAlbumItem = tableCell.getContextMenu().getItems().get(0);
MenuItem deleteTrackFromPlaylistItem = tableCell.getContextMenu().getItems().get(1);
assertThat("Create playlist from album item should be disabled", createPlaylistFromAlbumItem.isDisable(),
equalTo(true));
assertThat("Delete track from playlist item should not be disabled", deleteTrackFromPlaylistItem.isDisable(),
equalTo(false));
}
项目:rpmjukebox
文件:TrackTableCellFactoryTest.java
@Test
public void shouldOpenContextMenuWhenItemIsNull() {
TableCell<TrackTableModel, String> tableCell = cellFactory.call(new TableColumn<>());
Track track = getTrack();
updateTableCell(tableCell, track);
tableCell.setItem(null);
tableCell.onContextMenuRequestedProperty().get().handle(getContextMenuEvent(tableCell));
MenuItem createPlaylistFromAlbumItem = tableCell.getContextMenu().getItems().get(0);
MenuItem deleteTrackFromPlaylistItem = tableCell.getContextMenu().getItems().get(1);
assertThat("Create playlist from album item should be disabled", createPlaylistFromAlbumItem.isDisable(),
equalTo(true));
assertThat("Delete track from playlist item should be disabled", deleteTrackFromPlaylistItem.isDisable(),
equalTo(true));
}
项目:rpmjukebox
文件:TrackTableCellFactoryTest.java
@Test
public void shouldTriggerDragOver() {
TableCell<TrackTableModel, String> tableCell = cellFactory.call(new TableColumn<>());
Track track = getTrack();
updateTableCell(tableCell, track);
Dragboard mockDragboard = mock(Dragboard.class);
when(mockDragboard.hasContent(DND_TRACK_DATA_FORMAT)).thenReturn(true);
DragEvent spyDragEvent = spy(getDragEvent(DragEvent.DRAG_OVER, mockDragboard, TransferMode.COPY, new Object()));
tableCell.onDragOverProperty().get().handle(spyDragEvent);
verify(spyDragEvent, times(1)).acceptTransferModes(TransferMode.MOVE);
verify(spyDragEvent, times(1)).consume();
}
项目:rpmjukebox
文件:TrackTableCellFactoryTest.java
@Test
public void shouldNotTriggerDragOverWithSameSource() {
TableCell<TrackTableModel, String> tableCell = cellFactory.call(new TableColumn<>());
Track track = getTrack();
updateTableCell(tableCell, track);
Dragboard mockDragboard = mock(Dragboard.class);
when(mockDragboard.hasContent(DND_TRACK_DATA_FORMAT)).thenReturn(true);
DragEvent spyDragEvent = spy(getDragEvent(DragEvent.DRAG_OVER, mockDragboard, TransferMode.COPY, tableCell));
tableCell.onDragOverProperty().get().handle(spyDragEvent);
verify(spyDragEvent, never()).acceptTransferModes(TransferMode.MOVE);
verify(spyDragEvent, times(1)).consume();
}
项目:rpmjukebox
文件:TrackTableCellFactoryTest.java
@Test
public void shouldNotTriggerDragOverWithNoContent() {
TableCell<TrackTableModel, String> tableCell = cellFactory.call(new TableColumn<>());
Track track = getTrack();
updateTableCell(tableCell, track);
Dragboard mockDragboard = mock(Dragboard.class);
when(mockDragboard.hasContent(DND_TRACK_DATA_FORMAT)).thenReturn(false);
DragEvent spyDragEvent = spy(getDragEvent(DragEvent.DRAG_OVER, mockDragboard, TransferMode.COPY, new Object()));
tableCell.onDragOverProperty().get().handle(spyDragEvent);
verify(spyDragEvent, never()).acceptTransferModes(TransferMode.MOVE);
verify(spyDragEvent, times(1)).consume();
}
项目:rpmjukebox
文件:TrackTableCellFactoryTest.java
@Test
@SuppressWarnings("unchecked")
public void shouldNotTriggerDragOverWithNoTrackTableModel() {
TableCell<TrackTableModel, String> tableCell = cellFactory.call(new TableColumn<>());
Track track = getTrack();
updateTableCell(tableCell, track);
tableCell.getTableRow().setItem(null);
Dragboard mockDragboard = mock(Dragboard.class);
when(mockDragboard.hasContent(DND_TRACK_DATA_FORMAT)).thenReturn(true);
DragEvent spyDragEvent = spy(getDragEvent(DragEvent.DRAG_OVER, mockDragboard, TransferMode.COPY, new Object()));
tableCell.onDragOverProperty().get().handle(spyDragEvent);
verify(spyDragEvent, never()).acceptTransferModes(TransferMode.MOVE);
verify(spyDragEvent, times(1)).consume();
}
项目:rpmjukebox
文件:TrackTableCellFactoryTest.java
@Test
public void shouldNotTriggerDragOverWithSearchPlaylist() {
TableCell<TrackTableModel, String> tableCell = cellFactory.call(new TableColumn<>());
Track track = getTrack();
track.setPlaylistId(PLAYLIST_ID_SEARCH);
updateTableCell(tableCell, track);
Dragboard mockDragboard = mock(Dragboard.class);
when(mockDragboard.hasContent(DND_TRACK_DATA_FORMAT)).thenReturn(true);
DragEvent spyDragEvent = spy(getDragEvent(DragEvent.DRAG_OVER, mockDragboard, TransferMode.COPY, new Object()));
tableCell.onDragOverProperty().get().handle(spyDragEvent);
verify(spyDragEvent, never()).acceptTransferModes(TransferMode.MOVE);
verify(spyDragEvent, times(1)).consume();
}
项目:rpmjukebox
文件:TrackTableCellFactoryTest.java
@Test
public void shouldTriggerDragEntered() {
TableCell<TrackTableModel, String> tableCell = cellFactory.call(new TableColumn<>());
Track track = getTrack();
updateTableCell(tableCell, track);
Dragboard mockDragboard = mock(Dragboard.class);
when(mockDragboard.hasContent(DND_TRACK_DATA_FORMAT)).thenReturn(true);
DragEvent spyDragEvent = spy(
getDragEvent(DragEvent.DRAG_ENTERED, mockDragboard, TransferMode.COPY, new Object()));
tableCell.onDragEnteredProperty().get().handle(spyDragEvent);
assertThat("Table row style should not be empty", tableCell.getTableRow().getStyle(), not(isEmptyString()));
verify(spyDragEvent, times(1)).consume();
}
项目:rpmjukebox
文件:TrackTableCellFactoryTest.java
@Test
public void shouldNotTriggerDragEnteredWithSameSource() {
TableCell<TrackTableModel, String> tableCell = cellFactory.call(new TableColumn<>());
Track track = getTrack();
updateTableCell(tableCell, track);
Dragboard mockDragboard = mock(Dragboard.class);
when(mockDragboard.hasContent(DND_TRACK_DATA_FORMAT)).thenReturn(true);
DragEvent spyDragEvent = spy(getDragEvent(DragEvent.DRAG_ENTERED, mockDragboard, TransferMode.COPY, tableCell));
tableCell.onDragEnteredProperty().get().handle(spyDragEvent);
assertThat("Table row style should be empty", tableCell.getTableRow().getStyle(), isEmptyString());
verify(spyDragEvent, times(1)).consume();
}
项目:rpmjukebox
文件:TrackTableCellFactoryTest.java
@Test
public void shouldNotTriggerDragEnteredWithNoContent() {
TableCell<TrackTableModel, String> tableCell = cellFactory.call(new TableColumn<>());
Track track = getTrack();
updateTableCell(tableCell, track);
Dragboard mockDragboard = mock(Dragboard.class);
when(mockDragboard.hasContent(DND_TRACK_DATA_FORMAT)).thenReturn(false);
DragEvent spyDragEvent = spy(
getDragEvent(DragEvent.DRAG_ENTERED, mockDragboard, TransferMode.COPY, new Object()));
tableCell.onDragEnteredProperty().get().handle(spyDragEvent);
assertThat("Table row style should be empty", tableCell.getTableRow().getStyle(), isEmptyString());
verify(spyDragEvent, times(1)).consume();
}
项目:rpmjukebox
文件:TrackTableCellFactoryTest.java
@Test
@SuppressWarnings("unchecked")
public void shouldNotTriggerDragEnteredWithNoTrackTableModel() {
TableCell<TrackTableModel, String> tableCell = cellFactory.call(new TableColumn<>());
Track track = getTrack();
updateTableCell(tableCell, track);
tableCell.getTableRow().setItem(null);
Dragboard mockDragboard = mock(Dragboard.class);
when(mockDragboard.hasContent(DND_TRACK_DATA_FORMAT)).thenReturn(true);
DragEvent spyDragEvent = spy(
getDragEvent(DragEvent.DRAG_ENTERED, mockDragboard, TransferMode.COPY, new Object()));
tableCell.onDragEnteredProperty().get().handle(spyDragEvent);
assertThat("Table row style should be empty", tableCell.getTableRow().getStyle(), isEmptyString());
verify(spyDragEvent, times(1)).consume();
}
项目:rpmjukebox
文件:TrackTableCellFactoryTest.java
@Test
public void shouldNotTriggerDragEnteredWithSearchPlaylist() {
TableCell<TrackTableModel, String> tableCell = cellFactory.call(new TableColumn<>());
Track track = getTrack();
track.setPlaylistId(PLAYLIST_ID_SEARCH);
updateTableCell(tableCell, track);
Dragboard mockDragboard = mock(Dragboard.class);
when(mockDragboard.hasContent(DND_TRACK_DATA_FORMAT)).thenReturn(true);
DragEvent spyDragEvent = spy(
getDragEvent(DragEvent.DRAG_ENTERED, mockDragboard, TransferMode.COPY, new Object()));
tableCell.onDragEnteredProperty().get().handle(spyDragEvent);
assertThat("Table row style should be empty", tableCell.getTableRow().getStyle(), isEmptyString());
verify(spyDragEvent, times(1)).consume();
}
项目:rpmjukebox
文件:TrackTableCellFactoryTest.java
@Test
public void shouldTriggerDragExited() {
TableCell<TrackTableModel, String> tableCell = cellFactory.call(new TableColumn<>());
Track track = getTrack();
updateTableCell(tableCell, track);
tableCell.getTableRow().setStyle("some-style");
Dragboard mockDragboard = mock(Dragboard.class);
when(mockDragboard.hasContent(DND_TRACK_DATA_FORMAT)).thenReturn(true);
DragEvent spyDragEvent = spy(
getDragEvent(DragEvent.DRAG_EXITED, mockDragboard, TransferMode.COPY, new Object()));
tableCell.onDragExitedProperty().get().handle(spyDragEvent);
assertThat("Table row style should be empty", tableCell.getTableRow().getStyle(), isEmptyString());
verify(spyDragEvent, times(1)).consume();
}
项目:rpmjukebox
文件:TrackTableCellFactoryTest.java
@Test
public void shouldTriggerDragDropped() {
TableCell<TrackTableModel, String> tableCell = cellFactory.call(new TableColumn<>());
Track target = getTrack();
updateTableCell(tableCell, target);
Track source = new Track("1231", "Artist Name 1", "Artist Image 1", "4561", "Album Name 1", "Album Image 1",
2001, "7891", "Track Name 1", 2, "Location 1", true, Arrays.asList("Genre 1", "Genre 2"));
source.setPlaylistId(2);
Dragboard mockDragboard = mock(Dragboard.class);
when(mockDragboard.hasContent(DND_TRACK_DATA_FORMAT)).thenReturn(true);
when(mockDragboard.getContent(DND_TRACK_DATA_FORMAT)).thenReturn(source);
DragEvent spyDragEvent = spy(
getDragEvent(DragEvent.DRAG_DROPPED, mockDragboard, TransferMode.COPY, new Object()));
tableCell.onDragDroppedProperty().get().handle(spyDragEvent);
verify(mockPlaylistManager, times(1)).moveTracksInPlaylist(source.getPlaylistId(), source, target);
verify(spyDragEvent, times(1)).setDropCompleted(true);
verify(spyDragEvent, times(1)).consume();
}
项目:rpmjukebox
文件:TrackTableCellFactoryTest.java
@Test
public void shouldNotTriggerDragDroppedWithNoContent() {
TableCell<TrackTableModel, String> tableCell = cellFactory.call(new TableColumn<>());
Track target = getTrack();
updateTableCell(tableCell, target);
Track source = new Track("1231", "Artist Name 1", "Artist Image 1", "4561", "Album Name 1", "Album Image 1",
2001, "7891", "Track Name 1", 2, "Location 1", true, Arrays.asList("Genre 1", "Genre 2"));
source.setPlaylistId(2);
Dragboard mockDragboard = mock(Dragboard.class);
when(mockDragboard.hasContent(DND_TRACK_DATA_FORMAT)).thenReturn(false);
DragEvent spyDragEvent = spy(
getDragEvent(DragEvent.DRAG_DROPPED, mockDragboard, TransferMode.COPY, new Object()));
tableCell.onDragDroppedProperty().get().handle(spyDragEvent);
verify(mockPlaylistManager, never()).moveTracksInPlaylist(source.getPlaylistId(), source, target);
verify(spyDragEvent, never()).setDropCompleted(true);
verify(spyDragEvent, times(1)).consume();
}
项目:FxDock
文件:FxTableColumn.java
private TableCell<T,T> getCellFactory(TableColumn<T,T> f)
{
return new TableCell<T,T>()
{
@Override
protected void updateItem(T item, boolean empty)
{
super.updateItem(item, empty);
if(empty)
{
item = null;
}
if(renderer == null)
{
setText(item == null ? null : item.toString());
}
else
{
Node n = (renderer == null ? null : renderer.apply(item));
setGraphic(n);
}
}
};
}