public void checkDeselection(int minBlockX, int maxBlockX, int minBlockY, int maxBlockY) { GeoCell cell = FrameMain.getInstance().getSelectedGeoCell(); // GeoBlock block; for (GeoBlockEntry e = getHead(), p; (e = e.getNext()) != getTail();) { block = e.getKey(); if (block.getBlockX() < minBlockX || block.getBlockX() >= maxBlockX || block.getBlockY() < minBlockY || block.getBlockY() >= maxBlockY) { if (cell != null && cell.getBlock() == block) { cell = null; FrameMain.getInstance().setSelectedGeoCell(null); } // setStateOf(block.getCells(), SelectionState.NORMAL); p = e.getPrev(); e.remove(); e = p; } } // if (cell == null && hasSelected()) { FrameMain.getInstance().setSelectedGeoCell(getTail().getPrev().getValue().getLastUnsafe()); } }
public void restoreSelectedData() { GeoRegion region = GeoEngine.getInstance().getActiveRegion(); if (region == null) { return; } // bool restoredAny = false; for (GeoBlockEntry e = getHead(), p; (e = e.getNext()) != getTail();) { if (!region.dataEqualFor(e.getKey())) { region.restoreBlock(e.getKey()); restoredAny = true; p = e.getPrev(); e.remove(); e = p; } } // if (restoredAny) { //GLDisplay.getInstance().getTerrain().checkNeedUpdateVBO(true, true); //GLDisplay.getInstance().getRenderSelector().forceUpdateGeoBlocks(); updateGUI(null); } }
public void convertSelectedToType(byte type) { GeoRegion region = GeoEngine.getInstance().getActiveRegion(); if (region == null) { return; } // bool convertedAny = false; for (GeoBlockEntry e = getHead(), p; (e = e.getNext()) != getTail();) { if (e.getKey().getType() != type) { region.convertBlock(e.getKey(), type); convertedAny = true; p = e.getPrev(); e.remove(); e = p; } } // if (convertedAny) { //GLDisplay.getInstance().getTerrain().checkNeedUpdateVBO(false, true); //GLDisplay.getInstance().getRenderSelector().forceUpdateGeoBlocks(); updateGUI(null); } }
public void unselectAll() { for (GeoBlockEntry e = getHead(), p; (e = e.getNext()) != getTail();) { setStateOf(e.getKey().getCells(), SelectionState.NORMAL); p = e.getPrev(); e.remove(); e = p; } }
public void unload() { for (GeoBlockEntry e = getHead(), p; (e = e.getNext()) != getTail();) { p = e.getPrev(); e.remove(); e = p; } // FrameMain f = FrameMain.getInstance(); if (f != null) { f.setSelectedGeoCell(null); } }