private void updateUnsorted(Change<? extends E> c) {
while (c.next()) {
if (c.wasPermutated()) {
Element[] sortedTmp = new Element[sorted.length];
for (int i = 0; i < size; ++i) {
if (i >= c.getFrom() && i < c.getTo()) {
sortedTmp[c.getPermutation(i)] = sorted[i];
} else {
sortedTmp[i] = sorted[i];
}
}
sorted = sortedTmp;
}
if (c.wasRemoved()) {
final int removedTo = c.getFrom() + c.getRemovedSize();
System.arraycopy(sorted, removedTo, sorted, c.getFrom(), size - removedTo);
size -= c.getRemovedSize();
updateIndices(removedTo, -c.getRemovedSize());
}
if (c.wasAdded()) {
ensureSize(size + c.getAddedSize());
updateIndices(c.getFrom(), c.getAddedSize());
System.arraycopy(sorted, c.getFrom(), sorted, c.getTo(), size - c.getFrom());
size += c.getAddedSize();
for (int i = c.getFrom(); i < c.getTo(); ++i) {
sorted[i] = new Element<E>(c.getList().get(i), i);
}
}
}
}
java类javafx.collections.ListChangeListener.Change的实例源码
CustomSortedList.java 文件源码
项目:SimpleTaskList
阅读 19
收藏 0
点赞 0
评论 0
CustomSortedList.java 文件源码
项目:SimpleTaskList
阅读 115
收藏 0
点赞 0
评论 0
private void update(Change<? extends E> c) {
int[] perm = helper.sort(sorted, 0, size, elementComparator);
nextPermutation(0, size, perm);
for (int i = c.getFrom(), to = c.getTo(); i < to; ++i) {
nextUpdate(findPosition(i, c.getList().get(i)));
}
}
FXDesktopWindowManager.java 文件源码
项目:JVx.javafx
阅读 17
收藏 0
点赞 0
评论 0
/**
* Invoked if the list of children in the {@link Pane} changes.
*
* @param pChange the changes.
*/
private void onPaneChildrenListChanged(Change<? extends Node> pChange)
{
if (!pane.isIgnoreChildrenListEvents())
{
updateActiveWindow();
}
}
PairingView.java 文件源码
项目:Tourney
阅读 19
收藏 0
点赞 0
评论 0
private void onTournamentRoundListChanged(
Change<? extends TournamentRound> change) {
if (change.next()) {
this.refreshBreadcrumbs();
if (this.loadedTournament != null) {
this.setSelectedRound(this.loadedTournament.getRounds().size() - 1);
}
}
}
UndoManager.java 文件源码
项目:Tourney
阅读 29
收藏 0
点赞 0
评论 0
/**
* Listener that is being attached to registered lists.
*
* @param change
* the change that occurred on the list
*/
@SuppressWarnings("unchecked")
private <T> void listChangeListener(Change<? extends T> change) {
if (!this.isPerformingAction && !this.sleeping) {
this.addUndoAction(new ListUndoAction<>((Change<T>) change));
}
}
MappedList.java 文件源码
项目:POL-POM-5
阅读 17
收藏 0
点赞 0
评论 0
protected void update(Change<? extends F> c) {
int from = c.getFrom();
int to = c.getTo();
if (to > from) {
for (int i = from; i < to; ++i) {
mappedValues.set(i, mapper.apply(getSource().get(i)));
nextUpdate(i);
}
}
}
MappedList.java 文件源码
项目:POL-POM-5
阅读 18
收藏 0
点赞 0
评论 0
protected void addRemove(Change<? extends F> c) {
int from = c.getFrom();
int to = c.getTo();
for (int index = from + c.getRemovedSize() - 1; index >= from; index--) {
nextRemove(index, mappedValues.remove(index));
}
for (int index = from; index < from + c.getAddedSize(); index++) {
mappedValues.add(index, mapper.apply(getSource().get(index)));
nextAdd(index, index + 1);
}
}
Deck.java 文件源码
项目:logbook-kai
阅读 21
收藏 0
点赞 0
评论 0
/**
* 艦隊が変更された時のリスナー
*/
private void changeDeckFleet(Change<?> change) {
this.fleetList.getItems().clear();
for (Node node : this.fleets.getChildren()) {
if (node instanceof DeckFleetPane) {
DeckFleetPane fleet = (DeckFleetPane) node;
this.fleetList.getItems().add(fleet);
}
}
this.modified.set(true);
}
RfxAppButtonBar.java 文件源码
项目:Introspect-Framework
阅读 16
收藏 0
点赞 0
评论 0
public void onTabsChanged(Change change) {
if (tabsProperty.size() == 0) {
selectedTabProperty.set(null);
updateTabButtons();
} else if (!change.getList().contains(selectedTabProperty.get())) {
// TODO selectNewTab(change);
} else {
updateTabButtons();
}
}
RfxWindow.java 文件源码
项目:Introspect-Framework
阅读 29
收藏 0
点赞 0
评论 0
public void onTabsChanged(Change change) {
if (tabsProperty.size() == 0) {
selectedTabProperty.set(null);
} else {
selectNewTab(change);
}
}