reordering of components

This commit is contained in:
hneemann 2017-04-08 15:02:58 +02:00
parent 8e4621c2e0
commit c2acd018f9
4 changed files with 87 additions and 95 deletions

View File

@ -63,97 +63,80 @@ public class ElementLibrary implements Iterable<ElementLibrary.ElementContainer>
* Creates a new instance. * Creates a new instance.
*/ */
public ElementLibrary() { public ElementLibrary() {
root = new LibraryNode(Lang.get("menu_elements")); root = new LibraryNode(Lang.get("menu_elements"))
root.setLibrary(this); .setLibrary(this)
.add(new LibraryNode(Lang.get("lib_Logic"))
LibraryNode node = new LibraryNode(Lang.get("lib_Logic")); .add(And.DESCRIPTION)
node.add(And.DESCRIPTION); .add(NAnd.DESCRIPTION)
node.add(NAnd.DESCRIPTION); .add(Or.DESCRIPTION)
node.add(Or.DESCRIPTION); .add(NOr.DESCRIPTION)
node.add(NOr.DESCRIPTION); .add(XOr.DESCRIPTION)
node.add(XOr.DESCRIPTION); .add(XNOr.DESCRIPTION)
node.add(XNOr.DESCRIPTION); .add(Not.DESCRIPTION)
node.add(Not.DESCRIPTION); .add(LookUpTable.DESCRIPTION)
node.add(LookUpTable.DESCRIPTION); .add(Delay.DESCRIPTION))
node.add(Delay.DESCRIPTION); .add(new LibraryNode(Lang.get("lib_io"))
root.add(node); .add(Out.DESCRIPTION)
.add(Out.LEDDESCRIPTION)
node = new LibraryNode(Lang.get("lib_io")); .add(In.DESCRIPTION)
node.add(Out.DESCRIPTION); .add(Clock.DESCRIPTION)
node.add(Out.LEDDESCRIPTION); .add(Button.DESCRIPTION)
node.add(In.DESCRIPTION); .add(DummyElement.TEXTDESCRIPTION)
node.add(Clock.DESCRIPTION); .add(Probe.DESCRIPTION)
node.add(Button.DESCRIPTION); .add(new LibraryNode(Lang.get("lib_more"))
node.add(Probe.DESCRIPTION); .add(Out.SEVENDESCRIPTION)
node.add(Out.SEVENDESCRIPTION); .add(Out.SEVENHEXDESCRIPTION)
node.add(Out.SEVENHEXDESCRIPTION); .add(LedMatrix.DESCRIPTION)
node.add(RotEncoder.DESCRIPTION); .add(DummyElement.DATADESCRIPTION)
node.add(LedMatrix.DESCRIPTION); .add(RotEncoder.DESCRIPTION)
node.add(DummyElement.DATADESCRIPTION); .add(Keyboard.DESCRIPTION)
node.add(DummyElement.TEXTDESCRIPTION); .add(Terminal.DESCRIPTION)))
node.add(Keyboard.DESCRIPTION); .add(new LibraryNode(Lang.get("lib_wires"))
node.add(Terminal.DESCRIPTION); .add(Ground.DESCRIPTION)
root.add(node); .add(VDD.DESCRIPTION)
.add(Const.DESCRIPTION)
node = new LibraryNode(Lang.get("lib_wires")); .add(Tunnel.DESCRIPTION)
node.add(Const.DESCRIPTION); .add(Splitter.DESCRIPTION)
node.add(Ground.DESCRIPTION); .add(PullUp.DESCRIPTION)
node.add(VDD.DESCRIPTION); .add(PullDown.DESCRIPTION)
node.add(Tunnel.DESCRIPTION); .add(Driver.DESCRIPTION)
node.add(Splitter.DESCRIPTION); .add(DriverInvSel.DESCRIPTION))
node.add(PullUp.DESCRIPTION); .add(new LibraryNode(Lang.get("lib_mux"))
node.add(PullDown.DESCRIPTION); .add(Multiplexer.DESCRIPTION)
node.add(Driver.DESCRIPTION); .add(Demultiplexer.DESCRIPTION)
node.add(DriverInvSel.DESCRIPTION); .add(Decoder.DESCRIPTION))
root.add(node); .add(new LibraryNode(Lang.get("lib_flipFlops"))
.add(FlipflopRS.DESCRIPTION)
node = new LibraryNode(Lang.get("lib_mux")); .add(FlipflopJK.DESCRIPTION)
node.add(Multiplexer.DESCRIPTION); .add(FlipflopD.DESCRIPTION)
node.add(Demultiplexer.DESCRIPTION); .add(FlipflopT.DESCRIPTION))
node.add(Decoder.DESCRIPTION); .add(new LibraryNode(Lang.get("lib_memory"))
root.add(node); .add(Register.DESCRIPTION)
.add(ROM.DESCRIPTION)
node = new LibraryNode(Lang.get("lib_flipFlops")); .add(RAMDualPort.DESCRIPTION)
node.add(FlipflopRS.DESCRIPTION); .add(RAMSinglePort.DESCRIPTION)
node.add(FlipflopJK.DESCRIPTION); .add(RAMSinglePortSel.DESCRIPTION)
node.add(FlipflopD.DESCRIPTION); .add(GraphicCard.DESCRIPTION)
node.add(FlipflopT.DESCRIPTION); .add(Counter.DESCRIPTION))
root.add(node); .add(new LibraryNode(Lang.get("lib_arithmetic"))
.add(Add.DESCRIPTION)
node = new LibraryNode(Lang.get("lib_memory")); .add(Sub.DESCRIPTION)
node.add(Register.DESCRIPTION); .add(Mul.DESCRIPTION)
node.add(ROM.DESCRIPTION); .add(Comparator.DESCRIPTION)
node.add(RAMDualPort.DESCRIPTION); .add(Neg.DESCRIPTION)
node.add(RAMSinglePort.DESCRIPTION); .add(BitCount.DESCRIPTION))
node.add(RAMSinglePortSel.DESCRIPTION); .add(new LibraryNode(Lang.get("lib_cplx"))
node.add(GraphicCard.DESCRIPTION); //.add(Diode.DESCRIPTION) // see class DiodeTest for further information
node.add(Counter.DESCRIPTION); .add(DiodeForeward.DESCRIPTION)
root.add(node); .add(DiodeBackward.DESCRIPTION)
.add(Switch.DESCRIPTION)
node = new LibraryNode(Lang.get("lib_arithmetic")); .add(Relay.DESCRIPTION)
node.add(Add.DESCRIPTION); .add(NFET.DESCRIPTION)
node.add(Sub.DESCRIPTION); .add(PFET.DESCRIPTION)
node.add(Mul.DESCRIPTION); .add(Reset.DESCRIPTION)
node.add(Comparator.DESCRIPTION); .add(Break.DESCRIPTION))
node.add(Neg.DESCRIPTION); .add(new LibraryNode(Lang.get("lib_test"))
node.add(BitCount.DESCRIPTION); .add(TestCaseElement.TESTCASEDESCRIPTION));
root.add(node);
node = new LibraryNode(Lang.get("lib_cplx"));
// add(Diode.DESCRIPTION, menu); // see class DiodeTest for further information
node.add(DiodeForeward.DESCRIPTION);
node.add(DiodeBackward.DESCRIPTION);
node.add(Switch.DESCRIPTION);
node.add(Relay.DESCRIPTION);
node.add(NFET.DESCRIPTION);
node.add(PFET.DESCRIPTION);
node.add(Reset.DESCRIPTION);
node.add(Break.DESCRIPTION);
root.add(node);
node = new LibraryNode(Lang.get("lib_test"));
node.add(TestCaseElement.TESTCASEDESCRIPTION);
root.add(node);
populateNodeMap(); populateNodeMap();
} }
@ -564,7 +547,7 @@ public class ElementLibrary implements Iterable<ElementLibrary.ElementContainer>
final String name = libraryNode.getName(); final String name = libraryNode.getName();
LibraryNode presentNode = map.get(name); LibraryNode presentNode = map.get(name);
if (presentNode==null) { if (presentNode == null) {
map.put(name, libraryNode); map.put(name, libraryNode);
libraryNode.setUnique(true); libraryNode.setUnique(true);
} else { } else {

View File

@ -76,15 +76,18 @@ public class LibraryNode implements Iterable<LibraryNode> {
* Throws an exception if this node is a leaf * Throws an exception if this node is a leaf
* *
* @param node the node to add * @param node the node to add
* @return this for chained calls
*/ */
void add(LibraryNode node) { LibraryNode add(LibraryNode node) {
children.add(node); children.add(node);
node.parent = this; node.parent = this;
node.setLibrary(library); node.setLibrary(library);
return this;
} }
void add(ElementTypeDescription node) { LibraryNode add(ElementTypeDescription node) {
add(new LibraryNode(node)); add(new LibraryNode(node));
return this;
} }
/** /**
@ -258,14 +261,16 @@ public class LibraryNode implements Iterable<LibraryNode> {
* Sets the library this node belongs to * Sets the library this node belongs to
* *
* @param library the library * @param library the library
* @return this for chained calls
*/ */
public void setLibrary(ElementLibrary library) { public LibraryNode setLibrary(ElementLibrary library) {
if (this.library != library) { if (this.library != library) {
this.library = library; this.library = library;
if (children != null) if (children != null)
for (LibraryNode c : children) for (LibraryNode c : children)
c.setLibrary(library); c.setLibrary(library);
} }
return this;
} }
/** /**

View File

@ -579,6 +579,8 @@ Sind evtl. die Namen der Variablen nicht eindeutig?</string>
<string name="lib_wires">Leitungen</string> <string name="lib_wires">Leitungen</string>
<string name="lib_test">Test</string> <string name="lib_test">Test</string>
<string name="lib_cplx">Sonstige</string> <string name="lib_cplx">Sonstige</string>
<string name="lib_more">mehr</string>
<string name="menu_about">Über Digital</string> <string name="menu_about">Über Digital</string>
<string name="menu_analyse">Analyse</string> <string name="menu_analyse">Analyse</string>
<string name="menu_analyse_tt">Analyse der aktuellen Schaltung</string> <string name="menu_analyse_tt">Analyse der aktuellen Schaltung</string>

View File

@ -566,6 +566,8 @@ The names of the variables may not be unique.</string>
<string name="lib_wires">Wires</string> <string name="lib_wires">Wires</string>
<string name="lib_test">Test</string> <string name="lib_test">Test</string>
<string name="lib_cplx">Misc.</string> <string name="lib_cplx">Misc.</string>
<string name="lib_more">more</string>
<string name="menu_about">About</string> <string name="menu_about">About</string>
<string name="menu_analyse">Analysis</string> <string name="menu_analyse">Analysis</string>
<string name="menu_analyse_tt">Analyses the actual circuit</string> <string name="menu_analyse_tt">Analyses the actual circuit</string>