/** * Setup sort type for this column and recalculate sortOrder of other columns to hold consistent * state. * * @param sortType new sort type */ public void setSortType(final DLSortType sortType) { // if there was setted NATURAL and won't be then active sort order if (DLSortType.NATURAL.equals(this.sortType) && !DLSortType.NATURAL.equals(sortType)) { sortOrder = columnModel.autoIncSortMaxIndex(); } // if there wasn't setted NATURAL and will be then deactive sort order if (!DLSortType.NATURAL.equals(this.sortType) && DLSortType.NATURAL.equals(sortType)) { columnModel.autoDecSortMaxIndex(); for (DLColumnUnitModel unit : columnModel.getColumnModels()) { unit.autodecrementSortOrder(sortOrder); } sortOrder = 0; } setSortTypeDirectly(sortType); }
public void setVisible(final boolean visible) { if (this.visible == visible) { return; } if (visible) { // if it is setted on visible true move it to the end if (order == 0) { order = columnModel.autoIncOrder(); } } else { // if invisible is setting we have to remove a change order index of all other columns columnModel.autoDecOrder(); for (DLColumnUnitModel unit : columnModel.getColumnModels()) { unit.autodecrementOrder(order); } order = 0; } this.visible = visible; }
/** * Order starts at 1, 0 off - hidden * * @param order show order */ public void setOrder(final Integer order) { // move all columns which are behind me for (DLColumnUnitModel unit : columnModel.getColumnModels()) { unit.autodecrementOrder(this.order); } if (order > 0) { // if it is moving or inserting // move all which will be behind me for (DLColumnUnitModel unit : columnModel.getColumnModels()) { unit.autoincrementOrder(order); } // if it wasn't shown show it if (this.order == 0) { columnModel.autoIncOrder(); visible = true; } } else { visible = false; columnModel.autoDecOrder(); } this.order = order; }
/** * Unit Model is comperable by order. * * @param o order * @return -1 if first less then other, 0 if same, 1 otherwise. */ public int compareTo(DLColumnUnitModel o) { if (o == null) return 0; return (getOrder() < o.getOrder()) ? -1 : getOrder() == o.getOrder() ? 0 : 1; }