示例#1
0
 private int getMinimumIndex(BuildableType buildableType) {
   ListModel buildQueue = buildQueueList.getModel();
   if (buildableType instanceof UnitType) {
     if (colony.canBuild(buildableType)) {
       return 0;
     } else {
       for (int index = 0; index < buildQueue.getSize(); index++) {
         if (((BuildableType) buildQueue.getElementAt(index))
             .hasAbility(Ability.BUILD, buildableType)) {
           return index + 1;
         }
       }
     }
   } else if (buildableType instanceof BuildingType) {
     BuildingType upgradesFrom = ((BuildingType) buildableType).getUpgradesFrom();
     if (upgradesFrom == null) {
       return 0;
     } else {
       Building building = colony.getBuilding((BuildingType) buildableType);
       BuildingType buildingType = (building == null) ? null : building.getType();
       if (buildingType == upgradesFrom) {
         return 0;
       } else {
         for (int index = 0; index < buildQueue.getSize(); index++) {
           if (upgradesFrom.equals(buildQueue.getElementAt(index))) {
             return index + 1;
           }
         }
       }
     }
   }
   return UNABLE_TO_BUILD;
 }
  public boolean fillInCommonPrefix(boolean explicitlyInvoked) {
    if (explicitlyInvoked) {
      setFocusDegree(FocusDegree.FOCUSED);
    }

    if (explicitlyInvoked && myCalculating) return false;
    if (!explicitlyInvoked && mySelectionTouched) return false;

    ListModel listModel = getListModel();
    if (listModel.getSize() <= 1) return false;

    if (listModel.getSize() == 0) return false;

    final LookupElement firstItem = (LookupElement) listModel.getElementAt(0);
    if (listModel.getSize() == 1 && firstItem instanceof EmptyLookupItem) return false;

    final PrefixMatcher firstItemMatcher = itemMatcher(firstItem);
    final String oldPrefix = firstItemMatcher.getPrefix();
    final String presentPrefix = oldPrefix + getAdditionalPrefix();
    String commonPrefix = getCaseCorrectedLookupString(firstItem);

    for (int i = 1; i < listModel.getSize(); i++) {
      LookupElement item = (LookupElement) listModel.getElementAt(i);
      if (item instanceof EmptyLookupItem) return false;
      if (!oldPrefix.equals(itemMatcher(item).getPrefix())) return false;

      final String lookupString = getCaseCorrectedLookupString(item);
      final int length = Math.min(commonPrefix.length(), lookupString.length());
      if (length < commonPrefix.length()) {
        commonPrefix = commonPrefix.substring(0, length);
      }

      for (int j = 0; j < length; j++) {
        if (commonPrefix.charAt(j) != lookupString.charAt(j)) {
          commonPrefix = lookupString.substring(0, j);
          break;
        }
      }

      if (commonPrefix.length() == 0 || commonPrefix.length() < presentPrefix.length()) {
        return false;
      }
    }

    if (commonPrefix.equals(presentPrefix)) {
      return false;
    }

    for (int i = 0; i < listModel.getSize(); i++) {
      LookupElement item = (LookupElement) listModel.getElementAt(i);
      if (!itemMatcher(item).cloneWithPrefix(commonPrefix).prefixMatches(item)) {
        return false;
      }
    }

    myOffsets.setInitialPrefix(presentPrefix, explicitlyInvoked);

    replacePrefix(presentPrefix, commonPrefix);
    return true;
  }
  /**
   * Initializes the contents of the dialog from the given font object.
   *
   * @param font the font from which to read the properties.
   */
  public void setSelectedFont(final Font font) {
    if (font == null) {
      throw new NullPointerException();
    }
    this.boldCheck.setSelected(font.isBold());
    this.italicCheck.setSelected(font.isItalic());

    final String fontName = font.getName();
    ListModel model = this.fontlist.getModel();
    for (int i = 0; i < model.getSize(); i++) {
      if (fontName.equals(model.getElementAt(i))) {
        this.fontlist.setSelectedIndex(i);
        break;
      }
    }

    final String fontSize = String.valueOf(font.getSize());
    model = this.sizelist.getModel();
    for (int i = 0; i < model.getSize(); i++) {
      if (fontSize.equals(model.getElementAt(i))) {
        this.sizelist.setSelectedIndex(i);
        break;
      }
    }
  }
示例#4
0
 private int pageEnd() {
   int i = pageStart + cols * rows;
   if (i > listModel.getSize() - 1) {
     return listModel.getSize();
   } else {
     return i;
   }
 }
 @Override
 protected void doOKAction() {
   apply((SeverityBasedTextAttributes) myOptionsList.getSelectedValue());
   final Collection<SeverityBasedTextAttributes> infoTypes =
       new HashSet<SeverityBasedTextAttributes>(
           SeverityUtil.getRegisteredHighlightingInfoTypes(mySeverityRegistrar));
   final ListModel listModel = myOptionsList.getModel();
   final List<HighlightSeverity> order = new ArrayList<HighlightSeverity>();
   for (int i = listModel.getSize() - 1; i >= 0; i--) {
     final SeverityBasedTextAttributes info =
         (SeverityBasedTextAttributes) listModel.getElementAt(i);
     order.add(info.getSeverity());
     if (!mySeverityRegistrar.isDefaultSeverity(info.getSeverity())) {
       infoTypes.remove(info);
       final Color stripeColor = info.getAttributes().getErrorStripeColor();
       mySeverityRegistrar.registerSeverity(
           info, stripeColor != null ? stripeColor : LightColors.YELLOW);
     }
   }
   for (SeverityBasedTextAttributes info : infoTypes) {
     mySeverityRegistrar.unregisterSeverity(info.getSeverity());
   }
   mySeverityRegistrar.setOrder(order);
   super.doOKAction();
 }
 public StoryComponentPanel getStoryComponentPanelForIndex(int index) {
   final ListModel model = this.getModel();
   if (index >= 0 && index < model.getSize()) {
     return (StoryComponentPanel) model.getElementAt(index);
   }
   return null;
 }
  private int createArmSelect(
      PanelBuilder builder,
      int row,
      final Study curStudy,
      TreatmentDefinition def,
      CellConstraints cc) {
    builder.addLabel(def.getLabel(), cc.xy(2, row));

    ListModel arms = d_pm.getArmsPerStudyPerDefinition(curStudy, def);

    final JComboBox drugBox =
        AuxComponentFactory.createBoundComboBox(
            arms, d_pm.getSelectedArmModel(curStudy, def), true);
    if (arms.getSize() == 1) drugBox.setEnabled(false);
    final JPanel drugAndDosePanel = new JPanel(new BorderLayout());

    builder.add(drugBox, cc.xy(4, row));
    drugBox.addActionListener(
        new ActionListener() {
          @Override
          public void actionPerformed(ActionEvent e) {
            updateDrugAndDoseLabel(curStudy, drugBox, drugAndDosePanel);
          }
        });
    row = LayoutUtil.addRow(builder.getLayout(), row);
    updateDrugAndDoseLabel(curStudy, drugBox, drugAndDosePanel);
    builder.add(drugAndDosePanel, cc.xy(4, row));

    return LayoutUtil.addRow(builder.getLayout(), row);
  }
  private MultiselectJlist buildActivePluginsPanel(DOFileImportTemplate template) {
    // initialize the active plugins list view
    final MultiselectJlist newList =
        new MultiselectJlist(FileImportHelper.getAvailableEngineNames(fileType));
    newList.setCellRenderer(new ActiveEnginesListCellRenderer());
    newList.setBorder(
        new TitledBorder(Messages.getString("ML.FileImportPropertiesPanel.title.ActivePlugins")));
    newList.setBackground(getBackground());
    List<String> activeEngines = template.getEnabledEngines().get(fileType);
    if (activeEngines != null) {
      // collect the indexes to select in a List<Integer>
      List<Integer> engineIndexesToSelect = new ArrayList<Integer>();
      ListModel model = newList.getModel();
      for (String engineName : activeEngines) {
        for (int i = 0; i < model.getSize(); i++) {
          String currentEngine = model.getElementAt(i).toString();
          if (currentEngine.equals(engineName)) {
            engineIndexesToSelect.add(i);
            break;
          }
        }
      }

      // convert the List<Integer to int[]
      int[] indexesToSelect = new int[engineIndexesToSelect.size()];
      for (int i = 0; i < engineIndexesToSelect.size(); i++) {
        indexesToSelect[i] = engineIndexesToSelect.get(i);
      }
      newList.setSelectedIndices(indexesToSelect);
    }

    newList.addListSelectionListener(
        new ListSelectionListener() {

          @Override
          public void valueChanged(ListSelectionEvent e) {
            synchronized (this) {
              if (isHandlingPluginSelectionChange) return;
              isHandlingPluginSelectionChange = true;
            }

            try {
              ListModel model = newList.getModel();
              for (ActionListener l : activePluginsChangedListeners) {
                for (int i = e.getFirstIndex(); i < e.getLastIndex(); i++) {
                  l.actionPerformed(
                      new ActionEvent(
                          this,
                          newList.isSelectedIndex(i) ? 0 : 1,
                          model.getElementAt(i).toString()));
                }
              }
            } finally {
              isHandlingPluginSelectionChange = false;
            }
          }
        });

    return newList;
  }
 public static String print(ListModel model) {
   StringBuilder result = new StringBuilder();
   for (int i = 0; i < model.getSize(); i++) {
     result.append(toString(model.getElementAt(i), null));
     result.append("\n");
   }
   return result.toString();
 }
示例#10
0
 /** TODO use model instead of model in view */
 void findExpand(Order param) {
   if (param == Order.Ascent) {
     int index;
     if (mainView.isSelectionEmpty()) {
       index = 0;
     } else {
       index = mainView.getSelectedIndex();
     }
     ListModel model = mainView.getModel();
     while (index++ < model.getSize() - 1) {
       if (((Line) model.getElementAt(index)).getFlag() == Line.Type.PLAIN) {
         break;
       }
     }
     while (index < model.getSize()) {
       if (((Line) model.getElementAt(index)).getFlag() != Line.Type.PLAIN) {
         mainView.setSelectedIndex(index);
         mainView.ensureIndexIsVisible(index);
         break;
       }
       index++;
     }
   } else {
     ListModel model = mainView.getModel();
     int index;
     if (mainView.isSelectionEmpty()) {
       index = model.getSize();
     } else {
       index = mainView.getSelectedIndex();
     }
     while (index-- > 0) {
       if (((Line) model.getElementAt(index)).getFlag() == Line.Type.PLAIN) {
         break;
       }
     }
     while (index >= 0) {
       if (((Line) model.getElementAt(index)).getFlag() != Line.Type.PLAIN) {
         mainView.setSelectedIndex(index);
         mainView.ensureIndexIsVisible(index);
         break;
       }
       index--;
     }
   }
   mainView.repaint(); // TODO for popup menu garbage
 }
 /** Convert the list of objects in the specified list model into an array. */
 protected Object[] convertToArray(ListModel model) {
   int size = model.getSize();
   Object[] result = new Object[size];
   for (int i = 0; i < size; i++) {
     result[i] = model.getElementAt(i);
   }
   return result;
 }
示例#12
0
 /**
  * @param i
  * @return the Object in the list model corresponding to the given image index.
  */
 private Object getObjectFor(int i) {
   int ii = getIndexFor(i);
   if (listModel.getSize() <= ii) {
     return null;
   } else {
     return listModel.getElementAt(ii);
   }
 }
示例#13
0
 public Set<String> getFilters() {
   Set<String> filters = new TreeSet<>();
   ListModel<String> model = jListFilters.getModel();
   for (int i = 0; i < model.getSize(); i++) {
     filters.add(model.getElementAt(i));
   }
   return filters;
 }
示例#14
0
 /**
  * Returns the elements of the right-hand "selected" list. Note that these are not the elements
  * selected (ie highlighted) in the Swing sense, but rather the entire contents of the list
  * containing the user selections.
  *
  * @return a Vector of selected elements.
  */
 public Vector getSelected() {
   Vector result = new Vector();
   ListModel list = selectedList.getModel();
   for (int i = 0; i < list.getSize(); i++) {
     result.add(list.getElementAt(i));
   }
   return result;
 }
 private void setSelectedQuery(final String aQuery) {
   final ListModel theModel = queryNameList.getModel();
   for (int i = 0; i < theModel.getSize(); i++) {
     final DataSetQuery theDataSet = (DataSetQuery) theModel.getElementAt(i);
     if (theDataSet.getQueryName().equals(aQuery)) {
       queryNameList.setSelectedValue(theDataSet, true);
       break;
     }
   }
 }
示例#16
0
  public Object t(Object obj) throws Exception {
    JList list = (JList) obj;
    ListModel model = list.getModel();

    StringBuffer b = new StringBuffer();
    for (int i = 0; i < model.getSize(); i++) b.append(model.getElementAt(i) + "\n");

    if (b.length() > 0) b.deleteCharAt(b.length() - 1);
    return b.toString();
  }
示例#17
0
  private void updateListHeight(ListModel model) {
    myList.setFixedCellHeight(
        myCellRenderer
            .getListCellRendererComponent(myList, model.getElementAt(0), 0, false, false)
            .getPreferredSize()
            .height);

    myList.setVisibleRowCount(
        Math.min(model.getSize(), UISettings.getInstance().MAX_LOOKUP_LIST_HEIGHT));
  }
示例#18
0
 /**
  * Returns the name of a registered application which has a given ID. If no such application is
  * registered, some general string like "plastic" is returned.
  *
  * @param id application ID
  * @return application name
  */
 private String getAppName(URI id) {
   String name = null;
   ListModel appList = getApplicationListModel();
   for (int i = 0; i < appList.getSize(); i++) {
     ApplicationItem app = (ApplicationItem) appList.getElementAt(i);
     if (app.getId().equals(id)) {
       return app.getName();
     }
   }
   return "plastic";
 }
  private void okAction() {
    final ListModel<String> listModel = list.getModel();
    final int size = listModel.getSize();
    final List<String> items = new ArrayList<>();

    for (int i = 0; i < size; i++) {
      items.add(listModel.getElementAt(i));
    }

    EngineFactory.getEngine(EngineFactory.DEFAULT).setTransactionNumberList(items);
    close();
  }
示例#20
0
  private void applyBtnActionPerformed(
      java.awt.event.ActionEvent evt) { // GEN-FIRST:event_applyBtnActionPerformed
    List<Object> values = new ArrayList<>();
    ListModel model = list.getModel();
    int size = model.getSize();
    for (int i = 0; i < size; i++) {
      values.add(model.getElementAt(i));
    }

    UIEvent.fireUIEvent(UIEvent.Event.EDITED, sendEventTo, null, objectList, values);
    dispose();
  } // GEN-LAST:event_applyBtnActionPerformed
 private void applyConstraint() {
   filteredSize = 0;
   ListModel filteredListModel = getFilteredModel();
   for (int i = 0, size = filteredListModel.getSize(); i < size; i++) {
     Object element = filteredListModel.getElementAt(i);
     if (constraint.test(element)) {
       indexes[filteredSize++] = i;
       onMatchingElement(element);
     }
   }
   postConstraintApplied();
 }
示例#22
0
 private void showFailureDetail(Test test) {
   if (test != null) {
     ListModel failures = getFailures();
     for (int i = 0; i < failures.getSize(); i++) {
       TestFailure failure = (TestFailure) failures.getElementAt(i);
       if (failure.failedTest() == test) {
         fFailureView.showFailure(failure);
         return;
       }
     }
   }
   fFailureView.clear();
 }
示例#23
0
 private List<BuildableType> getBuildableTypes(JList list) {
   List<BuildableType> result = new ArrayList<BuildableType>();
   if (list != null) {
     ListModel model = list.getModel();
     for (int index = 0; index < model.getSize(); index++) {
       Object object = model.getElementAt(index);
       if (object instanceof BuildableType) {
         result.add((BuildableType) object);
       }
     }
   }
   return result;
 }
示例#24
0
 /**
  * Deselects the specified object from the list.
  *
  * @param anObject the object to select
  * @param shouldScroll true if the list should scroll to display the selected object, if one
  *     exists; otherwise false
  */
 public void removeCheckBoxListSelectedValue(Object anObject, boolean shouldScroll) {
   if (anObject != null) {
     int i, c;
     ListModel model = getModel();
     for (i = 0, c = model.getSize(); i < c; i++)
       if (anObject.equals(model.getElementAt(i))) {
         removeCheckBoxListSelectedIndex(i);
         if (shouldScroll) ensureIndexIsVisible(i);
         repaint();
         /** FIX-ME setSelectedIndex does not redraw all the time with the basic l&f* */
         return;
       }
   }
 }
示例#25
0
 /** Find next or prev diffs. TODO use model instead of model in view */
 void findOutline(Order param) {
   if (param == Order.Ascent) {
     int index;
     if (mainView.isSelectionEmpty()) {
       index = 0;
     } else {
       index = mainView.getSelectedIndex();
     }
     ListModel model = mainView.getModel();
     while (index++ < model.getSize() - 1) {
       Pair.Type diff = ((Pair) model.getElementAt(index)).getDiff();
       if (diff.isDifferent()) {
         mainView.setSelectedIndex(index);
         mainView.ensureIndexIsVisible(index);
         break;
       }
     }
   } else {
     ListModel model = mainView.getModel();
     int index;
     if (mainView.isSelectionEmpty()) {
       index = model.getSize();
     } else {
       index = mainView.getSelectedIndex();
     }
     while (index-- > 0) {
       Pair.Type diff = ((Pair) model.getElementAt(index)).getDiff();
       if (diff.isDifferent()) {
         mainView.setSelectedIndex(index);
         mainView.ensureIndexIsVisible(index);
         break;
       }
     }
   }
   mainView.repaint(); // TODO for popup menu garbage
 }
示例#26
0
 @TestOnly
 public boolean setSelectedTemplate(String group, String name) {
   ListModel model = myProjectTypeList.getModel();
   for (int i = 0; i < model.getSize(); i++) {
     TemplatesGroup templatesGroup = (TemplatesGroup) model.getElementAt(i);
     if (group.equals(templatesGroup.getName())) {
       myProjectTypeList.setSelectedIndex(i);
       if (name == null) return getSelectedGroup().getName().equals(group);
       Collection<ProjectTemplate> templates = myTemplatesMap.get(templatesGroup);
       setTemplatesList(templatesGroup, templates, false);
       return myTemplatesList.setSelectedTemplate(name);
     }
   }
   return false;
 }
示例#27
0
 /**
  * Attempts to locate a table by its ID. This is currently a URL string; either one got from a
  * previous VOT_LOADURL message or one inherent in the table.
  *
  * @param tableId table identifier URL string
  * @return tableWithRows object corresponding to tableId, or null
  */
 private TableWithRows lookupTable(String tableId) {
   TableWithRows tr = (TableWithRows) idMap_.get(tableId);
   if (tr != null) {
     return tr;
   } else {
     ListModel tablesList = ControlWindow.getInstance().getTablesListModel();
     for (int i = 0; i < tablesList.getSize(); i++) {
       TopcatModel tcModel = (TopcatModel) tablesList.getElementAt(i);
       URL url = tcModel.getDataModel().getBaseTable().getURL();
       if (URLUtils.sameResource(url, URLUtils.makeURL(tableId))) {
         return new TableWithRows(tcModel, null);
       }
     }
   }
   return null;
 }
示例#28
0
 /**
  * Gets the indices.
  *
  * @param items the items
  * @param model the model
  * @return the indices
  */
 private int[] getIndices(String[] items, ListModel model) {
   int[] indices = new int[items.length];
   for (int i = 0; i < items.length; i++) {
     boolean found = false;
     for (int j = 0; j < model.getSize(); j++) {
       if (items[i].equals(model.getElementAt(j))) {
         indices[i] = j;
         found = true;
       }
     }
     if (!found) {
       indices[i] = -1;
       System.err.println("Did not find item[" + i + "] == '" + items[i] + "' in the list model");
     }
   }
   return indices;
 }
示例#29
0
    private void update() {
      if (filter == null || filter.length() == 0) {
        super.setModel(originalModel);
      }

      DefaultListModel v = new DefaultListModel();
      for (int i = 0; i < originalModel.getSize(); i++) {
        Object o = originalModel.getElementAt(i);
        String s = String.valueOf(o).toLowerCase();
        if (s.contains(filter)) {
          v.addElement(o);
        }
      }
      super.setModel(v);
      if (v.getSize() == 1) {
        setSelectedIndex(0);
      }
      revalidate();
    }
  private void updateEntityList() {
    CombatEntity selected = getSelectedEntity();

    Collection<CombatEntity> currentEntities =
        worldModel != null
            ? worldModel.getPopulationModel().getEntities()
            : Collections.<CombatEntity>emptySet();

    List<EntityListElement> elements = new ArrayList<>(currentEntities.size());
    for (CombatEntity entity : currentEntities) {
      elements.add(new EntityListElement(entity));
    }

    Collections.sort(elements, listElementComparator);

    ListModel<EntityListElement> model = jEntityList.getModel();
    int oldSize = model.getSize();
    boolean changed = oldSize != elements.size();
    if (!changed) {
      for (int i = 0; i < oldSize; i++) {
        CombatEntity newEntity = elements.get(i).getEntity();
        CombatEntity oldEntity = model.getElementAt(i).getEntity();

        if (newEntity != oldEntity) {
          changed = true;
          break;
        }
      }
    }

    if (changed || !(jEntityList.getModel() instanceof UpdatableListModel)) {
      jEntityList.getSelectionModel().setValueIsAdjusting(true);
      try {
        jEntityList.setModel(new UpdatableListModel<>(elements));
        selectInEntityList(selected);
      } finally {
        jEntityList.getSelectionModel().setValueIsAdjusting(false);
      }
    }

    redrawEntityListLines();
  }