This is an automated email from the git hooks/post-receive script. New commit to branch develop in repository jaxx. See https://gitlab.nuiton.org/nuiton/jaxx.git commit 749a9d7a3b37ae23875db5a185512deac65d4435 Author: Tony CHEMIT <dev@tchemit.fr> Date: Sun Jan 1 18:20:55 2017 +0100 Improve hidor widgets (See #4119) --- .../org/nuiton/jaxx/widgets/hidor/HidorButton.jaxx | 13 ++---- .../jaxx/widgets/hidor/HidorButtonHandler.java | 47 +++++++++++----------- 2 files changed, 27 insertions(+), 33 deletions(-) diff --git a/jaxx-widgets-hidor/src/main/java/org/nuiton/jaxx/widgets/hidor/HidorButton.jaxx b/jaxx-widgets-hidor/src/main/java/org/nuiton/jaxx/widgets/hidor/HidorButton.jaxx index c17ec03..11dad92 100644 --- a/jaxx-widgets-hidor/src/main/java/org/nuiton/jaxx/widgets/hidor/HidorButton.jaxx +++ b/jaxx-widgets-hidor/src/main/java/org/nuiton/jaxx/widgets/hidor/HidorButton.jaxx @@ -19,10 +19,9 @@ <http://www.gnu.org/licenses/lgpl-3.0.html>. #L% --> -<JToggleButton id='hidor' - text='{myHandler.updateText(isTargetVisible())}' - toolTipText='{myHandler.updateToolTipText(isTargetVisible())}' - icon="{myHandler.updateIcon(isTargetVisible())}" +<JToggleButton id='hidor' text='{handler.updateText(isTargetVisible())}' + toolTipText='{handler.updateToolTipText(isTargetVisible())}' + icon="{handler.updateIcon(isTargetVisible())}" _hideIcon='{SwingUtil.createActionIcon("collapse")}' _showIcon='{SwingUtil.createActionIcon("expand")}' onActionPerformed='setTargetVisible(!targetVisible)'> @@ -33,8 +32,6 @@ static org.nuiton.i18n.I18n.t </import> - <HidorButtonHandler id='myHandler' constructorParams='this'/> - <Boolean id='targetVisible' javaBean='null'/> <String id='hideText' javaBean='""'/> @@ -53,10 +50,6 @@ public JComponent getTarget() { return target; } -void $afterCompleteSetup() { - myHandler.$afterCompleteSetup(); -} - public void setTarget(JComponent target) { JComponent oldValue = this.target; this.target = target; diff --git a/jaxx-widgets-hidor/src/main/java/org/nuiton/jaxx/widgets/hidor/HidorButtonHandler.java b/jaxx-widgets-hidor/src/main/java/org/nuiton/jaxx/widgets/hidor/HidorButtonHandler.java index 929ae19..1a9a3aa 100644 --- a/jaxx-widgets-hidor/src/main/java/org/nuiton/jaxx/widgets/hidor/HidorButtonHandler.java +++ b/jaxx-widgets-hidor/src/main/java/org/nuiton/jaxx/widgets/hidor/HidorButtonHandler.java @@ -23,6 +23,7 @@ package org.nuiton.jaxx.widgets.hidor; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; +import org.nuiton.jaxx.runtime.spi.UIHandler; import javax.swing.Icon; import javax.swing.JComponent; @@ -33,29 +34,11 @@ import javax.swing.JComponent; * @author Tony Chemit - dev@tchemit.fr * @since 2.0 */ -public class HidorButtonHandler { +public class HidorButtonHandler implements UIHandler<HidorButton> { - private static final Log log = - LogFactory.getLog(HidorButtonHandler.class); + private static final Log log = LogFactory.getLog(HidorButtonHandler.class); - protected final HidorButton ui; - - public HidorButtonHandler(HidorButton ui) { - this.ui = ui; - } - - void $afterCompleteSetup() { - - ui.addPropertyChangeListener("targetVisible", evt -> { - if (log.isDebugEnabled()) { - log.debug("target visible changed <" + evt.getOldValue() + ":" + evt.getNewValue() + ">"); - } - boolean newValue = (Boolean) evt.getNewValue(); - if (ui.target != null) { - ui.target.setVisible(newValue); - } - }); - } + protected HidorButton ui; public void setTarget(JComponent target) { JComponent oldValue = ui.target; @@ -80,7 +63,25 @@ public class HidorButtonHandler { } protected Icon updateIcon(boolean c) { - String key = c ? "hideIcon" : "showIcon"; - return (Icon) ui.getClientProperty(key); + return (Icon) ui.getClientProperty(c ? "hideIcon" : "showIcon"); + } + + @Override + public void beforeInit(HidorButton ui) { + this.ui = ui; + } + + @Override + public void afterInit(HidorButton ui) { + + ui.addPropertyChangeListener("targetVisible", evt -> { + if (log.isDebugEnabled()) { + log.debug("target visible changed <" + evt.getOldValue() + ":" + evt.getNewValue() + ">"); + } + boolean newValue = (Boolean) evt.getNewValue(); + if (ui.target != null) { + ui.target.setVisible(newValue); + } + }); } } -- To stop receiving notification emails like this one, please contact nuiton.org SCM administrator <admin+scm@nuiton.org>.