ConfigWindow IV

This commit is contained in:
Robert Vokac 2024-02-17 09:06:51 +00:00
parent 1ed924fe08
commit e1dfb42149
No known key found for this signature in database
GPG Key ID: 693D30BEE3329055
6 changed files with 64 additions and 24 deletions

View File

@ -56,6 +56,6 @@ echo ... 4. Moving new jar file to dist directory
mv ./modules/time-calc-app/target/time-calc-app-$ORIG_VERSION-jar-with-all-dependencies.jar ./dist/time-calc-$VERSION.jar mv ./modules/time-calc-app/target/time-calc-app-$ORIG_VERSION-jar-with-all-dependencies.jar ./dist/time-calc-$VERSION.jar
rm ./modules/time-calc-app/target/time-calc-app-$ORIG_VERSION.jar rm ./modules/time-calc-app/target/time-calc-app-$ORIG_VERSION.jar
cp ./dist/time-calc-$VERSION.jar C:/Users/Robert Vokac/Desktop/rv cp ./dist/time-calc-$VERSION.jar C:/Users/user/Desktop/rv

View File

@ -31,12 +31,15 @@ public class TimeCalcKeyAdapter extends KeyAdapter {
} }
public void keyPressed(KeyEvent e) { public void keyPressed(KeyEvent e) {
System.out.println("Key was pressed: " + e);
boolean onlyGreyOrNone = boolean onlyGreyOrNone =
timeCalcConfiguration.visibilitySupportedColoredProperty timeCalcConfiguration.visibilitySupportedColoredProperty
.isEnabled(); .isEnabled();
Visibility visibility = Visibility Visibility visibility = Visibility
.valueOf(timeCalcApp.visibilityProperty.getValue()); .valueOf(timeCalcApp.visibilityProperty.getValue());
System.out.println("visibility=" + visibility);
if (e.getKeyCode() == KeyEvent.VK_UP) { if (e.getKeyCode() == KeyEvent.VK_UP) {
System.out.println("Key UP was pressed: " + e);
timeCalcApp.visibilityProperty timeCalcApp.visibilityProperty
.setValue(onlyGreyOrNone ? Visibility.GRAY.name() : .setValue(onlyGreyOrNone ? Visibility.GRAY.name() :
Visibility.STRONGLY_COLORED.name()); Visibility.STRONGLY_COLORED.name());
@ -81,6 +84,7 @@ public class TimeCalcKeyAdapter extends KeyAdapter {
} }
} }
if (e.getKeyCode() == KeyEvent.VK_V) { if (e.getKeyCode() == KeyEvent.VK_V) {
System.out.println("Key V was pressed: " + e);
if (visibility.isNone()) { if (visibility.isNone()) {
timeCalcApp.visibilityProperty timeCalcApp.visibilityProperty
.setValue(onlyGreyOrNone ? Visibility.GRAY.name() : .setValue(onlyGreyOrNone ? Visibility.GRAY.name() :

View File

@ -2,7 +2,6 @@ package org.nanoboot.utils.timecalc.swing.common;
import lombok.Getter; import lombok.Getter;
import javax.swing.JComponent;
import java.awt.Component; import java.awt.Component;
import java.util.HashSet; import java.util.HashSet;
import java.util.Set; import java.util.Set;
@ -34,4 +33,5 @@ public class ComponentRegistry<T extends Component> {
c.setVisible(b); c.setVisible(b);
} }
} }
} }

View File

@ -0,0 +1,13 @@
package org.nanoboot.utils.timecalc.swing.common;
/**
* @author Robert Vokac
* @since 16.02.2024
*/
public class HelpWindow extends TimeCalcWindow {
public HelpWindow() {
setSize(800, 600);
setTitle("Help");
}
}

View File

@ -28,16 +28,19 @@ import org.nanoboot.utils.timecalc.utils.property.Property;
import javax.swing.JComponent; import javax.swing.JComponent;
import javax.swing.JFrame; import javax.swing.JFrame;
import java.awt.Color; import java.awt.Color;
import java.awt.Component;
import java.io.File; import java.io.File;
import java.io.FileInputStream; import java.io.FileInputStream;
import java.io.IOException; import java.io.IOException;
import java.time.DayOfWeek; import java.time.DayOfWeek;
import java.time.LocalDate; import java.time.LocalDate;
import java.util.Arrays;
import java.util.Calendar; import java.util.Calendar;
import java.util.Date; import java.util.Date;
import java.util.Properties; import java.util.Properties;
import java.util.logging.Level; import java.util.logging.Level;
import java.util.logging.Logger; import java.util.logging.Logger;
import java.util.stream.Collectors;
/** /**
* @author Robert Vokac * @author Robert Vokac
@ -47,6 +50,7 @@ public class MainWindow extends TimeCalcWindow{
public static final Color BACKGROUND_COLOR = new Color(238, 238, 238); public static final Color BACKGROUND_COLOR = new Color(238, 238, 238);
public static final Color FOREGROUND_COLOR = new Color(210, 210, 210); public static final Color FOREGROUND_COLOR = new Color(210, 210, 210);
private HelpWindow helpWindow = null;
private WorkDaysWindow workDaysWindow = null; private WorkDaysWindow workDaysWindow = null;
private ConfigWindow configWindow = null; private ConfigWindow configWindow = null;
private ActivitiesWindow activitiesWindow = null; private ActivitiesWindow activitiesWindow = null;
@ -91,6 +95,7 @@ public class MainWindow extends TimeCalcWindow{
TimeCalcButton restartButton = new TimeCalcButton("Restart"); TimeCalcButton restartButton = new TimeCalcButton("Restart");
TimeCalcButton exitButton = new TimeCalcButton("Exit"); TimeCalcButton exitButton = new TimeCalcButton("Exit");
TimeCalcButton focusButton = new TimeCalcButton("Focus"); TimeCalcButton focusButton = new TimeCalcButton("Focus");
TimeCalcButton helpButton = new TimeCalcButton("Help");
TimeCalcButton weatherButton = new TimeCalcButton("Weather"); TimeCalcButton weatherButton = new TimeCalcButton("Weather");
TimeCalcButton commandButton = new TimeCalcButton("Command"); TimeCalcButton commandButton = new TimeCalcButton("Command");
TimeCalcButton jokeButton = new TimeCalcButton("Joke"); TimeCalcButton jokeButton = new TimeCalcButton("Joke");
@ -98,7 +103,7 @@ public class MainWindow extends TimeCalcWindow{
//window.add(weatherButton); //window.add(weatherButton);
addAll(configButton, workDaysButton, activitiesButton, restartButton, addAll(configButton, workDaysButton, activitiesButton, restartButton,
exitButton, focusButton, commandButton, jokeButton); exitButton, focusButton, helpButton, commandButton, jokeButton);
if(timeCalcConfiguration.visibilitySupportedColoredProperty.isEnabled()) { if(timeCalcConfiguration.visibilitySupportedColoredProperty.isEnabled()) {
timeCalcApp.visibilityProperty.setValue(Visibility.GRAY.name()); timeCalcApp.visibilityProperty.setValue(Visibility.GRAY.name());
@ -138,7 +143,9 @@ public class MainWindow extends TimeCalcWindow{
exitButton.setBoundsFromLeft(restartButton); exitButton.setBoundsFromLeft(restartButton);
// //
focusButton.setBoundsFromTop(exitButton);
helpButton.setBoundsFromTop(exitButton, 2);
focusButton.setBoundsFromLeft(helpButton);
commandButton.setBoundsFromLeft(focusButton); commandButton.setBoundsFromLeft(focusButton);
jokeButton.setBoundsFromLeft(commandButton); jokeButton.setBoundsFromLeft(commandButton);
// //
@ -185,6 +192,13 @@ public class MainWindow extends TimeCalcWindow{
} }
configWindow.setVisible(true); configWindow.setVisible(true);
}); });
helpButton.addActionListener(e -> {
if(helpWindow == null) {
this.helpWindow = new HelpWindow();
}
helpWindow.setVisible(true);
});
Calendar calNow = Calendar.getInstance(); Calendar calNow = Calendar.getInstance();
calNow.setTime(new Date()); calNow.setTime(new Date());
@ -274,25 +288,28 @@ public class MainWindow extends TimeCalcWindow{
weekBattery.getY(), 140); weekBattery.getY(), 140);
add(monthBattery); add(monthBattery);
ComponentRegistry<JComponent> componentRegistry = new ComponentRegistry(); ComponentRegistry<Component> componentRegistry = new ComponentRegistry();
componentRegistry.addAll( // componentRegistry.addAll(
walkingHumanProgressAsciiArt, // walkingHumanProgressAsciiArt,
progressSquare, // progressSquare,
progressCircle, // progressCircle,
analogClock, // analogClock,
dayBattery, // dayBattery,
weekBattery, // weekBattery,
monthBattery, // monthBattery,
hourBattery, // hourBattery,
configButton, // configButton,
workDaysButton, // workDaysButton,
activitiesButton, // activitiesButton,
restartButton, // restartButton,
exitButton, // exitButton,
focusButton, // helpButton,
jokeButton, // focusButton,
commandButton // jokeButton,
); // commandButton
// );
componentRegistry.addAll(this.getContentPane().getComponents());
componentRegistry.getSet().stream().forEach(c-> System.out.println("Found component: " + c));
ComponentRegistry<TimeCalcButton> buttonRegistry = new ComponentRegistry(); ComponentRegistry<TimeCalcButton> buttonRegistry = new ComponentRegistry();
componentRegistry.getSet().stream().filter(c-> c instanceof TimeCalcButton).forEach(c-> componentRegistry.getSet().stream().filter(c-> c instanceof TimeCalcButton).forEach(c->
buttonRegistry.add((TimeCalcButton)c)); buttonRegistry.add((TimeCalcButton)c));
@ -318,6 +335,7 @@ public class MainWindow extends TimeCalcWindow{
if(configWindow != null) {configWindow.setVisible(false);configWindow.dispose();} if(configWindow != null) {configWindow.setVisible(false);configWindow.dispose();}
if(workDaysWindow != null) {workDaysWindow.setVisible(false);workDaysWindow.dispose();} if(workDaysWindow != null) {workDaysWindow.setVisible(false);workDaysWindow.dispose();}
if(activitiesWindow != null) {activitiesWindow.setVisible(false);activitiesWindow.dispose();} if(activitiesWindow != null) {activitiesWindow.setVisible(false);activitiesWindow.dispose();}
if(helpWindow != null) {helpWindow.setVisible(false);helpWindow.dispose();}
setVisible(false); setVisible(false);
dispose(); dispose();
@ -432,6 +450,7 @@ public class MainWindow extends TimeCalcWindow{
if(configWindow != null) {configWindow.setVisible(false);configWindow.dispose();} if(configWindow != null) {configWindow.setVisible(false);configWindow.dispose();}
if(workDaysWindow != null) {workDaysWindow.setVisible(false);workDaysWindow.dispose();} if(workDaysWindow != null) {workDaysWindow.setVisible(false);workDaysWindow.dispose();}
if(activitiesWindow != null) {activitiesWindow.setVisible(false);activitiesWindow.dispose();} if(activitiesWindow != null) {activitiesWindow.setVisible(false);activitiesWindow.dispose();}
if(helpWindow != null) {helpWindow.setVisible(false);helpWindow.dispose();}
setVisible(false); setVisible(false);
dispose(); dispose();

View File

@ -56,10 +56,14 @@ public class TimeCalcButton extends JButton implements GetProperty {
public void setBoundsFromLeft(JComponent jComponent) { public void setBoundsFromLeft(JComponent jComponent) {
setBounds(jComponent.getX() + jComponent.getWidth() + SwingUtils.MARGIN, jComponent.getY()); setBounds(jComponent.getX() + jComponent.getWidth() + SwingUtils.MARGIN, jComponent.getY());
} }
public void setBoundsFromTop(JComponent jComponent) { public void setBoundsFromTop(JComponent jComponent) {
setBoundsFromTop(jComponent, 1);
}
public void setBoundsFromTop(JComponent jComponent, int marginCount) {
setBounds(SwingUtils.MARGIN, jComponent.getY() setBounds(SwingUtils.MARGIN, jComponent.getY()
+ jComponent.getHeight() + jComponent.getHeight()
+ SwingUtils.MARGIN); + marginCount * SwingUtils.MARGIN);
} }
@Override @Override