diff --git a/modules/time-calc-app/src/main/java/org/nanoboot/utils/timecalc/swing/common/Widget.java b/modules/time-calc-app/src/main/java/org/nanoboot/utils/timecalc/swing/common/Widget.java index 97a5269..4eb5dc4 100644 --- a/modules/time-calc-app/src/main/java/org/nanoboot/utils/timecalc/swing/common/Widget.java +++ b/modules/time-calc-app/src/main/java/org/nanoboot/utils/timecalc/swing/common/Widget.java @@ -81,14 +81,16 @@ public class Widget extends JPanel implements //nothing to do return; } - Visibility visibility = - Visibility.valueOf(visibilityProperty.getValue()); - if (visibility.isStronglyColored()) { - visibilityProperty - .setValue(Visibility.WEAKLY_COLORED.name()); - } else { - visibilityProperty - .setValue(Visibility.STRONGLY_COLORED.name()); + if(visibleProperty.isEnabled()) { + Visibility visibility = + Visibility.valueOf(visibilityProperty.getValue()); + if (visibility.isStronglyColored()) { + visibilityProperty + .setValue(Visibility.WEAKLY_COLORED.name()); + } else { + visibilityProperty + .setValue(Visibility.STRONGLY_COLORED.name()); + } } } @@ -118,6 +120,17 @@ public class Widget extends JPanel implements return 100; } + @Override + public void setVisible(boolean aFlag) { + if(visibleProperty.isEnabled() && !aFlag) { + super.setVisible(false); + } + if(visibleProperty.isDisabled() && aFlag) { + super.setVisible(false); + } + + } + public final void setDonePercent(double donePercent) { if (donePercent > 1) { donePercent = 1; @@ -135,11 +148,12 @@ public class Widget extends JPanel implements @Override public final void paintComponent(Graphics brush) { super.paintComponent(brush); - setVisible(visibleProperty.isEnabled()); + + System.out.println("widget.visibleProperty=" + visibleProperty.isEnabled()); Visibility visibility = Visibility.valueOf(visibilityProperty.getValue()); - this.setVisible(visibility != Visibility.NONE); + super.setVisible(visibility != Visibility.NONE && visibleProperty.isEnabled()); paintWidget(brush); if (mouseOver && mouseOverCloseButton) { diff --git a/modules/time-calc-app/src/main/java/org/nanoboot/utils/timecalc/utils/property/Property.java b/modules/time-calc-app/src/main/java/org/nanoboot/utils/timecalc/utils/property/Property.java index 54e62be..757be87 100644 --- a/modules/time-calc-app/src/main/java/org/nanoboot/utils/timecalc/utils/property/Property.java +++ b/modules/time-calc-app/src/main/java/org/nanoboot/utils/timecalc/utils/property/Property.java @@ -109,5 +109,8 @@ public class Property { public void removeListener(ChangeListener listener) { this.changeListeners.remove(listener); } + public String toString() { + return String.valueOf(getValue()); + } }