X-Git-Url: https://code.wpia.club/?a=blobdiff_plain;ds=sidebyside;f=src%2Forg%2Fcacert%2Fgigi%2Foutput%2FMenu.java;h=9ad9ba9919e2edd133f77e894c25b3d99cdff735;hb=59198645fd008ca876d4e6eb9405bfd71a4e6951;hp=629154cc4476b783179da5380bac6fa837327b5b;hpb=9f58a3c856ee774a0e6a157a63298926b553523f;p=gigi.git diff --git a/src/org/cacert/gigi/output/Menu.java b/src/org/cacert/gigi/output/Menu.java index 629154cc..9ad9ba99 100644 --- a/src/org/cacert/gigi/output/Menu.java +++ b/src/org/cacert/gigi/output/Menu.java @@ -1,11 +1,14 @@ package org.cacert.gigi.output; import java.io.PrintWriter; +import java.util.LinkedList; import java.util.Map; import org.cacert.gigi.localisation.Language; -public class Menu implements Outputable { +public class Menu implements IMenuItem { + + public static final String USER_VALUE = "user"; private String menuName; @@ -13,10 +16,11 @@ public class Menu implements Outputable { private IMenuItem[] content; - public Menu(String menuName, String id, IMenuItem... content) { + private LinkedList prepare = new LinkedList(); + + public Menu(String menuName, String id) { this.menuName = menuName; this.id = id; - this.content = content; } @Override @@ -31,7 +35,28 @@ public class Menu implements Outputable { for (Outputable mi : content) { mi.output(out, l, vars); } - out.println(""); } + + public void addItem(IMenuItem item) { + prepare.add(item); + } + + public void prepare() { + content = new IMenuItem[prepare.size()]; + content = prepare.toArray(content); + prepare = null; + } + + @Override + public boolean equals(Object obj) { + if (obj instanceof Menu) { + return menuName.equals(((Menu) obj).getMenuName()); + } + return super.equals(obj); + } + + public String getMenuName() { + return menuName; + } }