Search in sources :

Example 16 with CompositeFilter

use of org.cytoscape.filter.internal.filters.model.CompositeFilter in project cytoscape-impl by cytoscape.

the class FilterMainPanel method initCMBFilters.

private void initCMBFilters() {
    Vector<CompositeFilter> allFilters = modelLocator.getFilters();
    ComboBoxModel cbm = new FilterSelectWidestStringComboBoxModel(allFilters);
    cmbFilters.setModel(cbm);
    cmbFilters.setRenderer(new FilterRenderer());
    if (allFilters.size() == 0) {
        this.btnApplyFilter.setEnabled(false);
        this.btnAddFilterWidget.setEnabled(false);
    }
    for (CompositeFilter cf : allFilters) {
        filter2SettingPanelMap.put(cf, null);
    }
    // Force the first filter in the model to be selected, so that it's panel will be shown
    if (cbm.getSize() > 0) {
        cmbFilters.setSelectedIndex(0);
    }
    replaceFilterSettingPanel((CompositeFilter) cmbFilters.getSelectedItem());
}
Also used : CompositeFilter(org.cytoscape.filter.internal.filters.model.CompositeFilter) DefaultComboBoxModel(javax.swing.DefaultComboBoxModel) ComboBoxModel(javax.swing.ComboBoxModel) WidestStringComboBoxModel(org.cytoscape.filter.internal.filters.util.WidestStringComboBoxModel)

Example 17 with CompositeFilter

use of org.cytoscape.filter.internal.filters.model.CompositeFilter in project cytoscape-impl by cytoscape.

the class FilterMainPanel method duplicateFilter.

private void duplicateFilter() {
    CompositeFilter theFilter = (CompositeFilter) cmbFilters.getSelectedItem();
    String tmpName = "Copy of " + theFilter.getName();
    String newFilterName = null;
    while (true) {
        Vector<String> nameVect = new Vector<String>();
        nameVect.add(tmpName);
        EditNameDialog theDialog = new EditNameDialog("Copy Filter", "Please enter a new Filter name:", nameVect, 300, 170);
        theDialog.setLocationRelativeTo(this);
        theDialog.setVisible(true);
        newFilterName = nameVect.elementAt(0);
        if ((newFilterName == null)) {
            // cancel buton is clicked
            return;
        }
        if (FilterUtil.isFilterNameDuplicated(modelLocator.getFilters(), newFilterName)) {
            Object[] options = { "OK" };
            JOptionPane.showOptionDialog(this, "Filter name already existed.", "Warning", JOptionPane.DEFAULT_OPTION, JOptionPane.WARNING_MESSAGE, null, options, options[0]);
            continue;
        }
        break;
    }
    // while loop
    CompositeFilter newFilter = (CompositeFilter) theFilter.clone();
    newFilter.setName(newFilterName);
    modelLocator.addFilter(newFilter);
    FilterSettingPanel newFilterSettingPanel = new FilterSettingPanel(quickFind, this, newFilter, modelLocator, applicationManager, eventHelper);
    filter2SettingPanelMap.put(newFilter, newFilterSettingPanel);
}
Also used : CompositeFilter(org.cytoscape.filter.internal.filters.model.CompositeFilter) Vector(java.util.Vector)

Example 18 with CompositeFilter

use of org.cytoscape.filter.internal.filters.model.CompositeFilter in project cytoscape-impl by cytoscape.

the class FilterMainPanel method createNewFilter.

private void createNewFilter(String pFilterName, String pFilterType) {
    // Create an empty filter, add it to the current filter list
    CompositeFilter newFilter = null;
    if (pFilterType.equalsIgnoreCase("Topology")) {
        newFilter = new TopologyFilter(applicationManager);
        newFilter.getAdvancedSetting().setEdge(false);
        newFilter.setName(pFilterName);
    } else if (pFilterType.equalsIgnoreCase("NodeInteraction")) {
        newFilter = new NodeInteractionFilter(applicationManager);
        // newFilter.getAdvancedSetting().setEdge(false);
        newFilter.setName(pFilterName);
    } else if (pFilterType.equalsIgnoreCase("EdgeInteraction")) {
        newFilter = new EdgeInteractionFilter(applicationManager);
        // newFilter.getAdvancedSetting().setEdge(false);
        newFilter.setName(pFilterName);
    } else {
        newFilter = new CompositeFilter(pFilterName);
    }
    newFilter.setNetwork(applicationManager.getCurrentNetwork());
    modelLocator.addFilter(newFilter);
    FilterSettingPanel newFilterSettingPanel = new FilterSettingPanel(quickFind, this, newFilter, modelLocator, applicationManager, eventHelper);
    filter2SettingPanelMap.put(newFilter, newFilterSettingPanel);
    if (pFilterType.equalsIgnoreCase("Composite")) {
        updateCMBAttributes();
    }
}
Also used : CompositeFilter(org.cytoscape.filter.internal.filters.model.CompositeFilter) NodeInteractionFilter(org.cytoscape.filter.internal.filters.model.NodeInteractionFilter) EdgeInteractionFilter(org.cytoscape.filter.internal.filters.model.EdgeInteractionFilter) TopologyFilter(org.cytoscape.filter.internal.filters.model.TopologyFilter)

Example 19 with CompositeFilter

use of org.cytoscape.filter.internal.filters.model.CompositeFilter in project cytoscape-impl by cytoscape.

the class FilterReader method getInteractionFilterFromStr.

private void getInteractionFilterFromStr(InteractionFilter pFilter, List<String> pFilterStrVect, Collection<CompositeFilter> filters) {
    String line = null;
    for (int i = 0; i < pFilterStrVect.size(); i++) {
        line = pFilterStrVect.get(i);
        if (line.startsWith("name=")) {
            String name = line.substring(5).trim();
            pFilter.setName(name);
        }
        if (line.startsWith("Negation=true"))
            pFilter.setNegation(true);
        if (line.startsWith("Negation=false"))
            pFilter.setNegation(false);
        if (line.startsWith("nodeType=")) {
            String nodeTypeStr = line.substring(9);
            int nodeType = new Integer(nodeTypeStr).intValue();
            pFilter.setNodeType(nodeType);
        }
        if (line.startsWith("passFilter=")) {
            String name = line.substring(11).trim();
            // get the reference CompositeFilter
            CompositeFilter cmpFilter = null;
            for (CompositeFilter cf : filters) {
                if (cf.getName().equalsIgnoreCase(name)) {
                    cmpFilter = cf;
                    break;
                }
            }
            if (cmpFilter != null) {
                pFilter.setPassFilter(cmpFilter);
            }
        }
    }
}
Also used : CompositeFilter(org.cytoscape.filter.internal.filters.model.CompositeFilter)

Example 20 with CompositeFilter

use of org.cytoscape.filter.internal.filters.model.CompositeFilter in project cytoscape-impl by cytoscape.

the class FilterReader method read.

public Collection<CompositeFilter> read(final File file) {
    Collection<CompositeFilter> filters = null;
    InputStream is = null;
    try {
        is = new FileInputStream(file);
        filters = read(is);
    } catch (FileNotFoundException fnfe) {
        logger.error("Filter Read error: file not found", fnfe);
    } finally {
        if (is != null) {
            try {
                is.close();
            } catch (IOException ioe) {
            }
            is = null;
        }
    }
    return filters;
}
Also used : CompositeFilter(org.cytoscape.filter.internal.filters.model.CompositeFilter) FileInputStream(java.io.FileInputStream) InputStream(java.io.InputStream) FileNotFoundException(java.io.FileNotFoundException) IOException(java.io.IOException) FileInputStream(java.io.FileInputStream)

Aggregations

CompositeFilter (org.cytoscape.filter.internal.filters.model.CompositeFilter)25 ArrayList (java.util.ArrayList)5 File (java.io.File)4 IOException (java.io.IOException)4 LinkedHashSet (java.util.LinkedHashSet)4 Vector (java.util.Vector)3 DefaultComboBoxModel (javax.swing.DefaultComboBoxModel)3 EdgeInteractionFilter (org.cytoscape.filter.internal.filters.model.EdgeInteractionFilter)3 NodeInteractionFilter (org.cytoscape.filter.internal.filters.model.NodeInteractionFilter)3 TopologyFilter (org.cytoscape.filter.internal.filters.model.TopologyFilter)3 CyNetwork (org.cytoscape.model.CyNetwork)3 FileInputStream (java.io.FileInputStream)2 FileNotFoundException (java.io.FileNotFoundException)2 InputStream (java.io.InputStream)2 AdvancedSetting (org.cytoscape.filter.internal.filters.model.AdvancedSetting)2 AtomicFilter (org.cytoscape.filter.internal.filters.model.AtomicFilter)2 CyFilter (org.cytoscape.filter.internal.filters.model.CyFilter)2 InteractionFilter (org.cytoscape.filter.internal.filters.model.InteractionFilter)2 BufferedReader (java.io.BufferedReader)1 BufferedWriter (java.io.BufferedWriter)1