Added new features related to the pause III

This commit is contained in:
Robert Vokac 2024-05-18 17:09:27 +02:00
parent 4fe0af8eed
commit d0639b2009
No known key found for this signature in database
GPG Key ID: C459E1E4B4A986BB
4 changed files with 12 additions and 2 deletions

View File

@ -13,7 +13,7 @@ import java.util.Date;
* @since 21.03.2024
*/
public class Progress {
private final double[] array = new double[7];
private final double[] array = new double[9];
@Getter
@Setter
private int workDaysInMonth;

View File

@ -7,7 +7,7 @@ import org.nanoboot.utils.timecalc.app.TimeCalcException;
* @since 21.03.2024
*/
public enum WidgetType {
MINUTE, HOUR, DAY, WEEK, MONTH, YEAR, LIFE, PRESENTATION;
MINUTE, HOUR, DAY, WEEK, MONTH, YEAR, LIFE, PRESENTATION, PAUSE;
public int getIndex() {
int i = 0;
for(WidgetType wt:WidgetType.values()) {

View File

@ -26,6 +26,7 @@ public class WidgetMenu extends JPopupMenu {
private final JMenuItem typeYearMenuItem;
private final JMenuItem typeLifeMenuItem;
private final JMenuItem typePresentationMenuItem;
private final JMenuItem typePauseMenuItem;
private final Widget widget;
private WidgetType selectedType;
private Consumer<Object> refreshConsumer;
@ -51,6 +52,7 @@ public class WidgetMenu extends JPopupMenu {
this.typeYearMenuItem = new JMenuItem(WidgetType.YEAR.name());
this.typeLifeMenuItem = new JMenuItem(WidgetType.LIFE.name());
this.typePresentationMenuItem = new JMenuItem(WidgetType.PRESENTATION.name());
this.typePauseMenuItem = new JMenuItem(WidgetType.PAUSE.name());
typeMenuItem.add(typeMinuteMenuItem);
typeMenuItem.add(typeHourMenuItem);
typeMenuItem.add(typeDayMenuItem);
@ -59,6 +61,7 @@ public class WidgetMenu extends JPopupMenu {
typeMenuItem.add(typeYearMenuItem);
typeMenuItem.add(typeLifeMenuItem);
typeMenuItem.add(typePresentationMenuItem);
typeMenuItem.add(typePauseMenuItem);
BiConsumer<JMenuItem, WidgetType> typeActionCreator = (m,w) -> {
m.addActionListener(e -> {
@ -78,6 +81,7 @@ public class WidgetMenu extends JPopupMenu {
typeActionCreator.accept(typeYearMenuItem, WidgetType.YEAR);
typeActionCreator.accept(typeLifeMenuItem, WidgetType.LIFE);
typeActionCreator.accept(typePresentationMenuItem, WidgetType.PRESENTATION);
typeActionCreator.accept(typePauseMenuItem, WidgetType.PAUSE);
//if(!aClass.getSimpleName().contains("Battery")) {
add(typeMenuItem);
@ -98,6 +102,7 @@ public class WidgetMenu extends JPopupMenu {
this.typeYearMenuItem.setText(WidgetType.YEAR.name());
this.typeLifeMenuItem.setText(WidgetType.LIFE.name());
this.typePresentationMenuItem.setText(WidgetType.PRESENTATION.name());
this.typePauseMenuItem.setText(WidgetType.PAUSE.name());
switch (widgetType) {
case MINUTE: typeMinuteMenuItem.setText(typeMinuteMenuItem.getText() + " (*)");break;
case HOUR: typeHourMenuItem.setText(typeHourMenuItem.getText() + " (*)");break;
@ -107,6 +112,7 @@ public class WidgetMenu extends JPopupMenu {
case YEAR: typeYearMenuItem.setText(typeYearMenuItem.getText() + " (*)");break;
case LIFE: typeLifeMenuItem.setText(typeLifeMenuItem.getText() + " (*)");break;
case PRESENTATION: typePresentationMenuItem.setText(typePresentationMenuItem.getText() + " (*)");break;
case PAUSE: typePauseMenuItem.setText(typePauseMenuItem.getText() + " (*)");break;
default: throw new TimeCalcException("Unsupported WidgetType: " + widgetType);
}
this.selectedType = widgetType;

View File

@ -1469,6 +1469,9 @@ public class MainWindow extends TWindow {
}
}
TTime pauseElapsed = beforePause ? TTime.ofMinutes(0) : (afterPause ? pauseTimeTextField.asTTime() : nowTime.remove(pauseStart));
double pauseElapsedMilliseconds = pauseElapsed.toTotalMilliseconds();
double pauseTotalMilliseconds = pauseTimeTextField.asTTime().toTotalMilliseconds();
double pauseProgress = pauseElapsedMilliseconds / pauseTotalMilliseconds;
TTime pauseRemains = afterPause ? TTime.ofMinutes(0) : (beforePause ? pauseTimeTextField.asTTime() : pauseEnd.remove(nowTime));
endPauseTextField.valueProperty.setValue(pauseEnd.toString());
elapsedPauseTextField.valueProperty.setValue(pauseElapsed.toString());
@ -1552,6 +1555,7 @@ public class MainWindow extends TWindow {
progress.set(WidgetType.MINUTE, minuteProgress);
progress.set(WidgetType.YEAR, yearProgress);
progress.set(WidgetType.LIFE, lifeProgress);
progress.set(WidgetType.PAUSE, pauseProgress);
progressSquare.setProgress(progress);
progressCircle.setProgress(progress);
progressSwing.setProgress(progress);