예제 #1
0
 public void setSelectedObjectsFromDB() {
   this.selectingObject = true;
   this.list.clearSelection();
   int offsetIdx = 0;
   ArrayList<Integer> selectedIndices = new ArrayList<Integer>();
   for (ObjectStructure s : this.currentChannels) {
     BasicDBList selectedObjects =
         Core.mongoConnector.getSelectedObjects(currentNucId, s.getIdx());
     if (selectedObjects != null && !selectedObjects.isEmpty()) {
       for (Object o : selectedObjects) selectedIndices.add((Integer) o + offsetIdx);
     }
     offsetIdx += s.getObjects().length;
   }
   if (!selectedIndices.isEmpty()) {
     int[] selectedIdx = new int[selectedIndices.size()];
     for (int i = 0; i < selectedIdx.length; i++) selectedIdx[i] = selectedIndices.get(i);
     this.list.setSelectedIndices(selectedIdx);
   }
   this.selectingObject = false;
 }
예제 #2
0
 public void populateObjects() {
   try {
     this.listModel.removeAllElements();
     if (currentChannels == null) {
       return;
     }
     this.populatingObjects = true;
     ArrayList<Integer> selection = null;
     if (showSelection != null && showSelection.isSelected()) selection = new ArrayList<Integer>();
     int currentIdx = 0;
     for (ObjectStructure ass : currentChannels) {
       Object3D[] os = ass.getObjects();
       if (os != null) {
         Object3DGui[] osg = new Object3DGui[os.length];
         for (int i = 0; i < os.length; i++) osg[i] = new Object3DGui(os[i], ass);
         if (layout instanceof ObjectManagerLayout
             && currentChannels.length == 1
             && !((ObjectManagerLayout) layout).getSortKey().equals("idx"))
           this.sort(((ObjectManagerLayout) layout).getSortKey(), osg, ass.getIdx());
         // System.out.println("populating objects.. nb objects:"+os.length);
         for (Object3DGui o3D : osg) {
           this.listModel.addElement(o3D);
           if (selection != null && o3D.isInSelection()) selection.add(currentIdx);
           currentIdx++;
         }
         // if (selection!=null) System.out.println("populating objects.. selection
         // size:"+selection.size());
       } // else System.out.println("no objects int channel:"+ass.getChannelName());
     }
     if (selection != null && !selection.isEmpty()) {
       int[] sel = new int[selection.size()];
       int i = 0;
       for (int idx : selection) sel[i++] = idx;
       list.setSelectedIndices(sel);
     }
   } catch (Exception e) {
     exceptionPrinter.print(e, "", Core.GUIMode);
   }
   this.populatingObjects = false;
 }