summaryrefslogtreecommitdiff
path: root/src/org/unitConverter/converterGUI/UnitConverterGUI.java
diff options
context:
space:
mode:
authorAdrien Hopkins <adrien.p.hopkins@gmail.com>2019-04-13 10:05:08 -0400
committerAdrien Hopkins <adrien.p.hopkins@gmail.com>2019-04-13 10:05:08 -0400
commit8e613844ae19a4dea2089ac34c1f0ae650eaeae7 (patch)
tree43f3fcf2fc7fafb840156a6fe0a5596ba091a904 /src/org/unitConverter/converterGUI/UnitConverterGUI.java
parentec036fdad931fbbd7dec28b864150f8668e91b41 (diff)
The dimension selector now loads dimensions from a file.
The dimension selector does nothing, as its purpose is to filter a list which does not exist yet, but it does correctly load the options.
Diffstat (limited to 'src/org/unitConverter/converterGUI/UnitConverterGUI.java')
-rwxr-xr-xsrc/org/unitConverter/converterGUI/UnitConverterGUI.java30
1 files changed, 28 insertions, 2 deletions
diff --git a/src/org/unitConverter/converterGUI/UnitConverterGUI.java b/src/org/unitConverter/converterGUI/UnitConverterGUI.java
index fd40ff4..4f5ebeb 100755
--- a/src/org/unitConverter/converterGUI/UnitConverterGUI.java
+++ b/src/org/unitConverter/converterGUI/UnitConverterGUI.java
@@ -78,6 +78,9 @@ final class UnitConverterGUI {
/** The names of all of the prefixes */
private final DelegateListModel<String> prefixNamesFiltered;
+ /** The names of all of the dimensions */
+ private final List<String> dimensionNames;
+
private final Comparator<String> prefixNameComparator;
private int significantFigures = 6;
@@ -109,7 +112,17 @@ final class UnitConverterGUI {
this.units.addUnit("tempCelsius", NonlinearUnits.CELSIUS);
this.units.addUnit("tempFahrenheit", NonlinearUnits.FAHRENHEIT);
- this.units.addAllFromFile(new File("unitsfile.txt"));
+ // load initial dimensions
+ this.units.addDimension("LENGTH", StandardDimensions.LENGTH);
+ this.units.addDimension("MASS", StandardDimensions.MASS);
+ this.units.addDimension("TIME", StandardDimensions.TIME);
+ this.units.addDimension("ELECTRIC_CURRENT", StandardDimensions.ELECTRIC_CURRENT);
+ this.units.addDimension("TEMPERATURE", StandardDimensions.TEMPERATURE);
+ this.units.addDimension("QUANTITY", StandardDimensions.QUANTITY);
+ this.units.addDimension("LUMINOUS_INTENSITY", StandardDimensions.LUMINOUS_INTENSITY);
+
+ this.units.loadUnitsFile(new File("unitsfile.txt"));
+ this.units.loadDimensionFile(new File("dimensionfile.txt"));
// a comparator that can be used to compare prefix names
// any name that does not exist is less than a name that does.
@@ -143,6 +156,9 @@ final class UnitConverterGUI {
this.prefixNamesFiltered = new DelegateListModel<>(new ArrayList<>(this.units.prefixNameSet()));
this.prefixNamesFiltered.sort(this.prefixNameComparator); // sorts it using my comparator
+ this.dimensionNames = new DelegateListModel<>(new ArrayList<>(this.units.dimensionNameSet()));
+ this.dimensionNames.sort(null); // sorts it using Comparable
+
// a Predicate that returns true iff the argument is a full base unit
final Predicate<Unit> isFullBase = unit -> unit instanceof BaseUnit && ((BaseUnit) unit).isFullBase();
@@ -223,6 +239,14 @@ final class UnitConverterGUI {
}
/**
+ * @return a list of all of the unit dimensions
+ * @since 2019-04-13
+ */
+ public final List<String> dimensionNameList() {
+ return this.dimensionNames;
+ }
+
+ /**
* Filters the filtered model for units
*
* @param filter
@@ -531,8 +555,10 @@ final class UnitConverterGUI {
inBetweenPanel.setLayout(new BorderLayout());
{ // dimension selector
+ final List<String> dimensionNameList = this.presenter.dimensionNameList();
+ dimensionNameList.add(0, "Select a dimension...");
final JComboBox<String> dimensionSelector = new JComboBox<>(
- new String[] {"Select dimension..."});
+ dimensionNameList.toArray(new String[0]));
inBetweenPanel.add(dimensionSelector, BorderLayout.PAGE_START);
}