-/**
+/*
* Jexer - Java Text User Interface
*
* License: LGPLv3 or later
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Set;
import java.util.SortedMap;
import java.util.StringTokenizer;
import java.util.TreeMap;
return attr;
}
+ /**
+ * Retrieve all the names in the theme.
+ *
+ * @return a list of names
+ */
+ public List<String> getColorNames() {
+ Set<String> keys = colors.keySet();
+ List<String> names = new ArrayList<String>(keys.size());
+ names.addAll(keys);
+ return names;
+ }
+
+ /**
+ * Set the color for a named theme color.
+ *
+ * @param name theme color name, e.g. "twindow.border"
+ * @param color the new color to associate with name, e.g. bold yellow on
+ * blue
+ */
+ public void setColor(final String name, final CellAttributes color) {
+ colors.put(name, color);
+ }
+
/**
* Save the color theme mappings to an ASCII file.
*
color.setBackColor(Color.getColor(backColor));
colors.put(key, color);
}
+ // All done.
+ reader.close();
}
/**
color.setBold(false);
colors.put("tbutton.inactive", color);
color = new CellAttributes();
- color.setForeColor(Color.WHITE);
+ color.setForeColor(Color.CYAN);
color.setBackColor(Color.GREEN);
color.setBold(true);
colors.put("tbutton.active", color);
color.setBold(true);
colors.put("ttreeview.inactive", color);
- // TText text
+ // TList
color = new CellAttributes();
color.setForeColor(Color.WHITE);
color.setBackColor(Color.BLUE);
color.setBold(false);
- colors.put("tdirectorylist", color);
+ colors.put("tlist", color);
color = new CellAttributes();
color.setForeColor(Color.BLACK);
color.setBackColor(Color.CYAN);
color.setBold(false);
- colors.put("tdirectorylist.selected", color);
+ colors.put("tlist.selected", color);
color = new CellAttributes();
color.setForeColor(Color.BLACK);
color.setBackColor(Color.CYAN);
color.setBold(false);
- colors.put("tdirectorylist.unreadable", color);
+ colors.put("tlist.unreadable", color);
color = new CellAttributes();
color.setForeColor(Color.BLACK);
color.setBackColor(Color.BLUE);
color.setBold(true);
- colors.put("tdirectorylist.inactive", color);
+ colors.put("tlist.inactive", color);
// TEditor
color = new CellAttributes();