public void schemeEditorDelInput() {
        if(ce_input.getSelectionIndex() == -1) return;
        String inputName = ce_input.getText();
        Contact contact = new Contact(inputName, -1);
        
        List<String> sourceFor = new LinkedList<String>();
        for(String circuitName : scheme.getCircuits().keySet()) {
            Circuit circuit = scheme.getCircuits().get(circuitName);
            if(circuit.getContacts().contains(contact)) {
                sourceFor.add(circuitName);
            }
        }
        for(String circuitName : sourceFor) {
            scheme.getCircuits().remove(circuitName);
            ce_circuit.remove(circuitName);
            ce_circuit2.remove(circuitName);
        }
        
        scheme.getInputs().remove(inputName);
        ce_input.remove(inputName);
        ce_source.remove(contact.toString());
        se_signal.remove(contact.toString());
        schemeEditorSchemeChanged();
        signalEditorSignalsChanged();
    }