summaryrefslogtreecommitdiff
path: root/src/main/java/sevenUnitsGUI/TabbedView.java
diff options
context:
space:
mode:
authorAdrien Hopkins <ahopk127@my.yorku.ca>2022-07-08 09:48:36 -0500
committerAdrien Hopkins <ahopk127@my.yorku.ca>2022-07-08 09:48:36 -0500
commit06e9da777f047cfb96da126c38e7d6046fe33d97 (patch)
treef2b2d21ef11dea4374117492276185a366f69e55 /src/main/java/sevenUnitsGUI/TabbedView.java
parent60027af631f071aa12f7d2afb77179464dc69d0b (diff)
Search rules can be changed by GUI, saved and loaded
Diffstat (limited to 'src/main/java/sevenUnitsGUI/TabbedView.java')
-rw-r--r--src/main/java/sevenUnitsGUI/TabbedView.java47
1 files changed, 33 insertions, 14 deletions
diff --git a/src/main/java/sevenUnitsGUI/TabbedView.java b/src/main/java/sevenUnitsGUI/TabbedView.java
index be80ccb..e3b5610 100644
--- a/src/main/java/sevenUnitsGUI/TabbedView.java
+++ b/src/main/java/sevenUnitsGUI/TabbedView.java
@@ -531,33 +531,52 @@ final class TabbedView implements ExpressionConversionView, UnitConversionView {
// searching rules
final ButtonGroup searchRuleButtons = new ButtonGroup();
+ final var searchRule = this.presenter.getSearchRule();
+
final JRadioButton noPrefixes = new JRadioButton(
"Never Include Prefixed Units");
- noPrefixes.setEnabled(false);
+ noPrefixes.addActionListener(e -> {
+ this.presenter.setSearchRule(PrefixSearchRule.NO_PREFIXES);
+ this.presenter.updateView();
+ this.presenter.saveSettings();
+ });
searchRuleButtons.add(noPrefixes);
searchingPanel.add(noPrefixes, new GridBagBuilder(0, 0)
.setAnchor(GridBagConstraints.LINE_START).build());
- final JRadioButton fixedPrefixes = new JRadioButton(
- "Include Some Prefixes");
- fixedPrefixes.setEnabled(false);
- searchRuleButtons.add(fixedPrefixes);
- searchingPanel.add(fixedPrefixes, new GridBagBuilder(0, 1)
- .setAnchor(GridBagConstraints.LINE_START).build());
-
- final JRadioButton explicitPrefixes = new JRadioButton(
- "Include Explicit Prefixes");
- explicitPrefixes.setEnabled(false);
- searchRuleButtons.add(explicitPrefixes);
- searchingPanel.add(explicitPrefixes, new GridBagBuilder(0, 2)
+ final JRadioButton commonPrefixes = new JRadioButton(
+ "Include Common Prefixes");
+ commonPrefixes.addActionListener(e -> {
+ this.presenter.setSearchRule(PrefixSearchRule.COMMON_PREFIXES);
+ this.presenter.updateView();
+ this.presenter.saveSettings();
+ });
+ searchRuleButtons.add(commonPrefixes);
+ searchingPanel.add(commonPrefixes, new GridBagBuilder(0, 1)
.setAnchor(GridBagConstraints.LINE_START).build());
final JRadioButton alwaysInclude = new JRadioButton(
"Include All Single Prefixes");
- alwaysInclude.setEnabled(false);
+ alwaysInclude.addActionListener(e -> {
+ this.presenter
+ .setSearchRule(this.presenter.getUniversalSearchRule());
+ this.presenter.updateView();
+ this.presenter.saveSettings();
+ });
searchRuleButtons.add(alwaysInclude);
searchingPanel.add(alwaysInclude, new GridBagBuilder(0, 3)
.setAnchor(GridBagConstraints.LINE_START).build());
+
+ if (PrefixSearchRule.NO_PREFIXES.equals(searchRule)) {
+ noPrefixes.setSelected(true);
+ } else if (PrefixSearchRule.COMMON_PREFIXES.equals(searchRule)) {
+ commonPrefixes.setSelected(true);
+ } else {
+ alwaysInclude.setSelected(true);
+ this.presenter
+ .setSearchRule(this.presenter.getUniversalSearchRule());
+ this.presenter.saveSettings();
+ }
}
// ============ OTHER SETTINGS ============