Search in sources :

Example 21 with Tool

use of com.cburch.logisim.tools.Tool in project logisim-evolution by reds-heig.

the class XmlWriter method fromToolbarData.

Element fromToolbarData() {
    Element elt = doc.createElement("toolbar");
    ToolbarData toolbar = file.getOptions().getToolbarData();
    for (Tool tool : toolbar.getContents()) {
        if (tool == null) {
            elt.appendChild(doc.createElement("sep"));
        } else {
            elt.appendChild(fromTool(tool));
        }
    }
    return elt;
}
Also used : Element(org.w3c.dom.Element) Tool(com.cburch.logisim.tools.Tool)

Example 22 with Tool

use of com.cburch.logisim.tools.Tool in project logisim-evolution by reds-heig.

the class XmlWriter method fromMouseMappings.

Element fromMouseMappings() {
    Element elt = doc.createElement("mappings");
    MouseMappings map = file.getOptions().getMouseMappings();
    for (Map.Entry<Integer, Tool> entry : map.getMappings().entrySet()) {
        Integer mods = entry.getKey();
        Tool tool = entry.getValue();
        Element toolElt = fromTool(tool);
        String mapValue = InputEventUtil.toString(mods.intValue());
        toolElt.setAttribute("map", mapValue);
        elt.appendChild(toolElt);
    }
    return elt;
}
Also used : Element(org.w3c.dom.Element) HashMap(java.util.HashMap) Map(java.util.Map) Tool(com.cburch.logisim.tools.Tool)

Example 23 with Tool

use of com.cburch.logisim.tools.Tool in project logisim-evolution by reds-heig.

the class XmlWriter method fromLibrary.

Element fromLibrary(Library lib) {
    Element ret = doc.createElement("lib");
    if (libs.containsKey(lib))
        return null;
    String name = "" + libs.size();
    String desc = loader.getDescriptor(lib);
    if (desc == null) {
        loader.showError("library location unknown: " + lib.getName());
        return null;
    }
    libs.put(lib, name);
    ret.setAttribute("name", name);
    ret.setAttribute("desc", desc);
    for (Tool t : lib.getTools()) {
        AttributeSet attrs = t.getAttributeSet();
        if (attrs != null) {
            Element toAdd = doc.createElement("tool");
            toAdd.setAttribute("name", t.getName());
            addAttributeSetContent(toAdd, attrs, t);
            if (toAdd.getChildNodes().getLength() > 0) {
                ret.appendChild(toAdd);
            }
        }
    }
    return ret;
}
Also used : AttributeSet(com.cburch.logisim.data.AttributeSet) Element(org.w3c.dom.Element) Tool(com.cburch.logisim.tools.Tool)

Example 24 with Tool

use of com.cburch.logisim.tools.Tool in project logisim-evolution by reds-heig.

the class MouseMappings method getToolFor.

public Tool getToolFor(Integer mods) {
    if (mods.intValue() == cache_mods) {
        return cache_tool;
    } else {
        Tool ret = map.get(mods);
        cache_mods = mods.intValue();
        cache_tool = ret;
        return ret;
    }
}
Also used : SelectTool(com.cburch.logisim.tools.SelectTool) Tool(com.cburch.logisim.tools.Tool) AddTool(com.cburch.logisim.tools.AddTool)

Example 25 with Tool

use of com.cburch.logisim.tools.Tool in project logisim-evolution by reds-heig.

the class MouseMappings method replaceAll.

// 
// package-protected methods
// 
void replaceAll(Map<Tool, Tool> toolMap) {
    boolean changed = false;
    for (Map.Entry<Integer, Tool> entry : map.entrySet()) {
        Integer key = entry.getKey();
        Tool tool = entry.getValue();
        if (tool instanceof AddTool) {
            ComponentFactory factory = ((AddTool) tool).getFactory();
            if (toolMap.containsKey(factory)) {
                changed = true;
                Tool newTool = toolMap.get(factory);
                if (newTool == null) {
                    map.remove(key);
                } else {
                    Tool clone = newTool.cloneTool();
                    LoadedLibrary.copyAttributes(clone.getAttributeSet(), tool.getAttributeSet());
                    map.put(key, clone);
                }
            }
        } else {
            if (toolMap.containsKey(tool)) {
                changed = true;
                Tool newTool = toolMap.get(tool);
                if (newTool == null) {
                    map.remove(key);
                } else {
                    Tool clone = newTool.cloneTool();
                    LoadedLibrary.copyAttributes(clone.getAttributeSet(), tool.getAttributeSet());
                    map.put(key, clone);
                }
            }
        }
    }
    if (changed)
        fireMouseMappingsChanged();
}
Also used : ComponentFactory(com.cburch.logisim.comp.ComponentFactory) AddTool(com.cburch.logisim.tools.AddTool) Map(java.util.Map) HashMap(java.util.HashMap) SelectTool(com.cburch.logisim.tools.SelectTool) Tool(com.cburch.logisim.tools.Tool) AddTool(com.cburch.logisim.tools.AddTool)

Aggregations

Tool (com.cburch.logisim.tools.Tool)28 AddTool (com.cburch.logisim.tools.AddTool)16 ComponentFactory (com.cburch.logisim.comp.ComponentFactory)9 Library (com.cburch.logisim.tools.Library)7 Circuit (com.cburch.logisim.circuit.Circuit)6 SubcircuitFactory (com.cburch.logisim.circuit.SubcircuitFactory)6 ProjectExplorerToolNode (com.cburch.logisim.gui.generic.ProjectExplorerToolNode)4 SelectTool (com.cburch.logisim.tools.SelectTool)4 Component (com.cburch.logisim.comp.Component)3 ArrayList (java.util.ArrayList)3 Element (org.w3c.dom.Element)3 AttributeSet (com.cburch.logisim.data.AttributeSet)2 ProjectExplorerLibraryNode (com.cburch.logisim.gui.generic.ProjectExplorerLibraryNode)2 HashMap (java.util.HashMap)2 HashSet (java.util.HashSet)2 Map (java.util.Map)2 ToolbarItem (com.cburch.draw.toolbar.ToolbarItem)1 ToolbarSeparator (com.cburch.draw.toolbar.ToolbarSeparator)1 CircuitState (com.cburch.logisim.circuit.CircuitState)1 ComponentDrawContext (com.cburch.logisim.comp.ComponentDrawContext)1