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;
}
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;
}
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;
}
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;
}
}
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();
}
Aggregations