protected void expandSeparator(final boolean expand) { try { separatorList.getReadWriteLock().writeLock().lock(); currentSeparator.setLimit(expand ? Integer.MAX_VALUE : 0); } finally { separatorList.getReadWriteLock().writeLock().unlock(); } if (expand) { scrollToRow(currentRow + currentSeparator.size()); } }
private void expandHeader() { Material material = (Material) currentSeparator.first(); boolean expand = isHeaderCollapsed(); try { separatorList.getReadWriteLock().readLock().lock(); for (int i = 0; i < separatorList.size(); i++) { Object object = separatorList.get(i); if (object instanceof SeparatorList.Separator<?>) { SeparatorList.Separator<?> separator = (SeparatorList.Separator<?>) object; Material currentMaterial = (Material) separator.first(); if (currentMaterial.getHeader().equals(material.getHeader())) { try { separatorList.getReadWriteLock().readLock().unlock(); separatorList.getReadWriteLock().writeLock().lock(); separator.setLimit(expand ? Integer.MAX_VALUE : 0); } finally { separatorList.getReadWriteLock().writeLock().unlock(); separatorList.getReadWriteLock().readLock().lock(); } } } } } finally { separatorList.getReadWriteLock().readLock().unlock(); } }
public void saveExpandedState() { try { separatorList.getReadWriteLock().readLock().lock(); for (int i = 0; i < separatorList.size(); i++) { Object object = separatorList.get(i); if (object instanceof SeparatorList.Separator) { SeparatorList.Separator<?> separator = (SeparatorList.Separator) object; final int limit = separator.getLimit(); if (limit == 0) { //Collapsed for (Object item : separator.getGroup()) { expandedSate.put(item, limit != 0); } } else { for (int x = i + 1; x < separatorList.size(); x++) { Object xObject = separatorList.get(x); if (xObject instanceof SeparatorList.Separator) { break; } expandedSate.put(xObject, limit != 0); } } } } } finally { separatorList.getReadWriteLock().readLock().unlock(); } }
public void loadExpandedState() { try { separatorList.getReadWriteLock().readLock().lock(); for (int i = 0; i < separatorList.size(); i++) { Object object = separatorList.get(i); if (oldLimit != newLimit) { try { separatorList.getReadWriteLock().readLock().unlock(); separatorList.getReadWriteLock().writeLock().lock(); separator.setLimit(newLimit); } finally { separatorList.getReadWriteLock().writeLock().unlock(); separatorList.getReadWriteLock().readLock().lock(); separatorList.getReadWriteLock().readLock().unlock();
private SeparatorList.Separator<?> getSeparator(final Stockpile stockpile) { try { separatorList.getReadWriteLock().readLock().lock(); for (int i = 0; i < separatorList.size(); i++) { Object object = separatorList.get(i); if (object instanceof SeparatorList.Separator) { SeparatorList.Separator<?> separator = (SeparatorList.Separator) object; Object first = separator.first(); if (first instanceof StockpileItem) { StockpileItem firstItem = (StockpileItem) first; if (firstItem.getStockpile().equals(stockpile)) { return separator; } } } } } finally { separatorList.getReadWriteLock().readLock().unlock(); } return null; }
separatorList.getReadWriteLock().readLock().lock(); for (int i = 0; i < separatorList.size(); i++) { Object object = separatorList.get(i); if (separator.getLimit() != newLimit) { try { separatorList.getReadWriteLock().readLock().unlock(); separatorList.getReadWriteLock().writeLock().lock(); separator.setLimit(newLimit); } finally { separatorList.getReadWriteLock().writeLock().unlock(); separatorList.getReadWriteLock().readLock().lock(); separatorList.getReadWriteLock().readLock().unlock();
if (owner.getAccountAPI() == ApiType.EVE_ONLINE) { try { separatorList.getReadWriteLock().readLock().lock(); for (Object object : separator.getGroup()) { if (object instanceof EveApiOwner) { separatorList.getReadWriteLock().readLock().unlock();
private boolean isHeaderCollapsed() { Material material = (Material) currentSeparator.first(); try { separatorList.getReadWriteLock().readLock().lock(); int start; if (material.isFirst()) { separatorList.getReadWriteLock().readLock().unlock();
public void scrollToSctockpile(final Stockpile stockpile) { SeparatorList.Separator<?> separator = getSeparator(stockpile); if (separator == null) { return; } if (separator.getLimit() > 0) { //Expanded: Scroll int row = EventListManager.indexOf(separatorList, separator.first()) - 1; Rectangle rect = jTable.getCellRect(row, 0, true); rect.setSize(jTable.getVisibleRect().getSize()); jTable.scrollRectToVisible(rect); } else { //Collapsed: Expand and run again... try { separatorList.getReadWriteLock().writeLock().lock(); separator.setLimit(Integer.MAX_VALUE); } finally { separatorList.getReadWriteLock().writeLock().unlock(); } SwingUtilities.invokeLater(new Runnable() { @Override public void run() { scrollToSctockpile(stockpile); } }); } }
List<EveApiOwner> owners = new ArrayList<EveApiOwner>(); try { separatorList.getReadWriteLock().readLock().lock(); for (Object object : separator.getGroup()) { if (object instanceof EveApiOwner) { //Eve Api separatorList.getReadWriteLock().readLock().unlock();