import java.util.LinkedList;
import java.util.List;
-import be.nikiroo.jvcard.i18n.Trans.StringId;
-import be.nikiroo.jvcard.tui.StringUtils;
-import be.nikiroo.jvcard.tui.UiColors;
+import be.nikiroo.jvcard.launcher.Main;
+import be.nikiroo.jvcard.resources.StringUtils;
+import be.nikiroo.jvcard.resources.Trans.StringId;
import be.nikiroo.jvcard.tui.UiColors.Element;
import com.googlecode.lanterna.TextColor;
}
}
- public MainContentList(final UiColors.Element normalStyle,
- final UiColors.Element selectedStyle) {
+ public MainContentList() {
super(Direction.VERTICAL);
lines = new ActionListBox();
graphics.setBackgroundColor(part.getBackgroundColor());
String label = StringUtils.sanitize(part.getText(),
- UiColors.getInstance().isUnicode());
+ Main.isUnicode());
graphics.putString(position, 0, label);
position += label.length();
lines.addItem(line, this);
}
+ /**
+ * Delete the given item.
+ *
+ * Remark: it will only delete the first found instance if multiple
+ * instances of this item are present.
+ *
+ * @param line
+ * the line to delete
+ *
+ * @return TRUE if the item was deleted
+ */
+ public boolean removeItem(String line) {
+ boolean deleted = false;
+
+ List<Runnable> copy = lines.getItems();
+ for (int index = 0; index < copy.size(); index++) {
+ if (copy.get(index).toString().equals(line)) {
+ deleted = true;
+ copy.remove(index);
+ break;
+ }
+ }
+
+ int index = getSelectedIndex();
+ clearItems();
+ for (Runnable run : copy) {
+ addItem(run.toString());
+ }
+ setSelectedIndex(index);
+
+ return deleted;
+ }
+
/**
* Clear all the items in this {@link MainContentList}
*/
* @return the separator
*/
public String getSeparator() {
- return StringId.DEAULT_FIELD_SEPARATOR.trans();
+ return Main.trans(StringId.DEAULT_FIELD_SEPARATOR);
}
@Override