use of org.eclipse.wb.internal.swing.databinding.model.bindings.DetailBindingInfo in project windowbuilder by eclipse.
the class DatabindingsProvider method configureMoveUpDown.
private int configureMoveUpDown(IBindingInfo binding, int sourceIndex, int targetIndex) {
if (!(binding instanceof ColumnBindingInfo)) {
List<IBindingInfo> bindings = getBindings();
IBindingInfo target = bindings.get(targetIndex);
boolean up = sourceIndex > targetIndex;
// configure target index
if (target instanceof ColumnBindingInfo) {
ColumnBindingInfo column = (ColumnBindingInfo) target;
// calculate column index
if (up) {
targetIndex = bindings.indexOf(column.getJTableBinding());
} else {
// skip all columns
targetIndex += column.getJTableBinding().getColumns().size();
//
target = bindings.get(targetIndex);
if (target instanceof JTableBindingInfo) {
// skip all columns
JTableBindingInfo tableBinding = (JTableBindingInfo) target;
targetIndex += tableBinding.getColumns().size();
} else if (target instanceof JListBindingInfo) {
// skip detail binding
targetIndex++;
}
}
} else if (target instanceof DetailBindingInfo) {
if (up) {
DetailBindingInfo detail = (DetailBindingInfo) target;
targetIndex = bindings.indexOf(detail.getJListBinding());
} else {
// skip detail binding
targetIndex++;
//
target = bindings.get(targetIndex);
if (target instanceof JTableBindingInfo) {
// skip all columns
JTableBindingInfo tableBinding = (JTableBindingInfo) target;
targetIndex += tableBinding.getColumns().size();
} else if (target instanceof JListBindingInfo) {
// skip detail binding
targetIndex++;
}
}
} else if (target instanceof JTableBindingInfo && !up) {
// skip all columns
JTableBindingInfo tableBinding = (JTableBindingInfo) target;
targetIndex += tableBinding.getColumns().size();
} else if (target instanceof JListBindingInfo && !up) {
// skip detail binding
targetIndex++;
}
}
return targetIndex;
}
Aggregations