/** Creates new form FilterEditor */ public FilterEditor(FilterRepository filters) { initComponents(); this.filterRepository = filters; if (filterRepository.size() == 0) filterRepository.add(filterRepository.createNewFilter()); this.filterModel = new FilterModel(filterRepository); init(); }
public FilterModel(FilterRepository rep) { filters = new ArrayList<TaskFilter>(rep.size() * 2); int selectedi = 0; for (TaskFilter f : rep.getFilters()) { if (f == rep.getActive()) selection.setSelectionInterval(selectedi, selectedi); filters.add((TaskFilter) f.clone()); selectedi++; } }
/** * Reads data from the form into the filter repository that was passed-in in the constructor * (returned by {@link #getFilterRepository}) */ void updateFilters() { filterRepository.clear(); // throw away all original filters Iterator filterIt = filterModel.iterator(); while (filterIt.hasNext()) { TaskFilter f = (TaskFilter) filterIt.next(); if (filter2keywords.get(f.getKeywordsFilter()) != null) f.setKeywordsFilter( filter2keywords.get(f.getKeywordsFilter()).getFilter()); // has panel, was touched if (filter2types.get(f.getTypesFilter()) != null) f.setTypesFilter( filter2types.get(f.getTypesFilter()).getFilter()); // has panel, was touched filterRepository.add(f); } if (filterModel.getSelectedFilter() != null) { filterRepository.setActive(filterModel.getSelectedFilter()); } }
private void onNewFilter(java.awt.event.ActionEvent evt) { // GEN-FIRST:event_onNewFilter TaskFilter f = filterRepository.createNewFilter(); filterModel.add(f); showFilter(f); } // GEN-LAST:event_onNewFilter
private void init() { initComponents(); // init filters-listbox model lstFilters.setModel(filterModel); lstFilters.setSelectionModel(filterModel.selection); lstFilters.setSelectionMode(ListSelectionModel.SINGLE_SELECTION); // try to select just applied filter TaskFilter selected = filterRepository.getActive(); if (null != selected) { int selIndex = filterModel.getIndexOf(selected); lstFilters.setSelectedIndex(selIndex); } if (filterModel.getSelectedIndex() == -1) { if (filterModel.getSize() > 0) { lstFilters.setSelectedIndex(0); } } txtFilterName .getDocument() .addDocumentListener( new DocumentListener() { public void changedUpdate(DocumentEvent e) { update(e); } public void insertUpdate(DocumentEvent e) { update(e); } public void removeUpdate(DocumentEvent e) { update(e); } private void update(DocumentEvent e) { try { filterModel.setCurrentFilterName( e.getDocument().getText(0, e.getDocument().getLength())); propertyChange(null); } catch (BadLocationException ex) { // ignore } } }); // hook list selection lstFilters.addListSelectionListener( new ListSelectionListener() { public void valueChanged(ListSelectionEvent e) { if (!e.getValueIsAdjusting()) { showFilter(filterModel.getSelectedFilter()); btnRemoveFilter.setEnabled(filterModel.getSelectedIndex() != -1); txtFilterName.setEnabled(filterModel.getSelectedIndex() != -1); } } }); showFilter(filterModel.getSelectedFilter()); btnRemoveFilter.setEnabled(filterModel.getSelectedIndex() != -1); btnOk = new JButton(NbBundle.getMessage(FilterEditor.class, "btnOk")); // NOI18N btnCancel = new JButton(NbBundle.getMessage(FilterEditor.class, "btnCancel")); // NOI18N }