Author: tchemit Date: 2009-12-09 18:31:41 +0100 (Wed, 09 Dec 2009) New Revision: 1680 Added: trunk/jaxx-demo/src/main/java/jaxx/demo/component/swing/HidorButtonDemo.jaxx Modified: trunk/jaxx-demo/src/main/java/jaxx/demo/DemoTreeHelper.java trunk/jaxx-demo/src/main/resources/i18n/jaxx-demo-en_GB.properties trunk/jaxx-demo/src/main/resources/i18n/jaxx-demo-fr_FR.properties trunk/jaxx-widgets/src/main/java/jaxx/runtime/swing/HidorButton.jaxx trunk/jaxx-widgets/src/main/resources/i18n/jaxx-widgets-en_GB.properties trunk/jaxx-widgets/src/main/resources/i18n/jaxx-widgets-fr_FR.properties Log: improve HidorButton + add demo of it in jaxx-demo Modified: trunk/jaxx-demo/src/main/java/jaxx/demo/DemoTreeHelper.java =================================================================== --- trunk/jaxx-demo/src/main/java/jaxx/demo/DemoTreeHelper.java 2009-12-08 17:21:03 UTC (rev 1679) +++ trunk/jaxx-demo/src/main/java/jaxx/demo/DemoTreeHelper.java 2009-12-09 17:31:41 UTC (rev 1680) @@ -20,35 +20,33 @@ */ package jaxx.demo; +import jaxx.demo.component.jaxx.BoxedDecoratorDemo; +import jaxx.demo.component.jaxx.StatusMessagePanelDemo; +import jaxx.demo.component.jaxx.editor.ComboEditorDemo; +import jaxx.demo.component.jaxx.editor.I18nEditorDemo; +import jaxx.demo.component.jaxx.editor.NumberEditorDemo; +import jaxx.demo.component.jaxx.navigation.FullNavigationTreeDemo; +import jaxx.demo.component.jaxx.navigation.item.ItemTreeNavigationDemo; +import jaxx.demo.component.swing.*; +import jaxx.demo.feature.databinding.BeanDataBindingDemo; +import jaxx.demo.feature.validation.ValidationListDemo; +import jaxx.demo.feature.validation.ValidationTableDemo; +import jaxx.demo.fun.CalculatorDemo; +import jaxx.demo.fun.CounterDemo; +import jaxx.demo.fun.LabelStyleDemo; import jaxx.runtime.JAXXContext; -import jaxx.runtime.context.JAXXContextEntryDef; import jaxx.runtime.JAXXObject; +import jaxx.runtime.context.JAXXContextEntryDef; import jaxx.runtime.swing.CardLayout2; import jaxx.runtime.swing.ErrorDialogUI; - -import jaxx.runtime.swing.navigation.NavigationTreeHelper; -import jaxx.runtime.swing.navigation.NavigationTreeHandlerWithCardLayout; -import jaxx.runtime.swing.navigation.NavigationTreeModelBuilder; -import jaxx.runtime.swing.navigation.NavigationTreeModel; -import jaxx.runtime.swing.navigation.NavigationTreeNode; -import jaxx.runtime.swing.navigation.NavigationTreeHandler; +import jaxx.runtime.swing.navigation.*; import jaxx.runtime.swing.navigation.NavigationTreeHandler.Strategy; - -import jaxx.demo.component.swing.*; -import jaxx.demo.component.jaxx.*; -import jaxx.demo.component.jaxx.editor.*; -import jaxx.demo.component.jaxx.navigation.item.ItemTreeNavigationDemo; -import jaxx.demo.component.jaxx.navigation.FullNavigationTreeDemo; -import jaxx.demo.feature.databinding.BeanDataBindingDemo; -import jaxx.demo.feature.validation.*; -import jaxx.demo.fun.*; - -import static org.nuiton.i18n.I18n.n_; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; +import static org.nuiton.i18n.I18n.n_; +import javax.swing.*; import java.util.Stack; -import javax.swing.JPanel; /** * @@ -103,6 +101,7 @@ addDemo(JProgressBarDemo.class). goUp(). addText(n_("jaxxdemo.tree.component.jaxx")). + addDemo(HidorButtonDemo.class). addText(n_("jaxxdemo.tree.component.jaxx.editor")). addDemo(NumberEditorDemo.class). addDemo(ComboEditorDemo.class). Copied: trunk/jaxx-demo/src/main/java/jaxx/demo/component/swing/HidorButtonDemo.jaxx (from rev 1674, trunk/jaxx-demo/src/main/java/jaxx/demo/component/swing/JToggleButtonDemo.jaxx) =================================================================== --- trunk/jaxx-demo/src/main/java/jaxx/demo/component/swing/HidorButtonDemo.jaxx (rev 0) +++ trunk/jaxx-demo/src/main/java/jaxx/demo/component/swing/HidorButtonDemo.jaxx 2009-12-09 17:31:41 UTC (rev 1680) @@ -0,0 +1,39 @@ +<!-- + *##% + JAXX Demo + Copyright (C) 2008 - 2009 CodeLutin + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation, either version 3 of the + License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Lesser Public License for more details. + + You should have received a copy of the GNU General Lesser Public + License along with this program. If not, see + <http://www.gnu.org/licenses/lgpl-3.0.html>. + ##%* +--> +<jaxx.demo.DemoPanel> + <JPanel id='demoPanel' layout='{new GridLayout(0,1)}'> + <HBox horizontalAlignment='center' verticalAlignment='middle'> + + <jaxx.runtime.swing.HidorButton target='{hidor1}' showText="show label1" hideText='hide label1' + targetVisible='{true}'/> + + <JLabel id='hidor1' text='Label 1'/> + </HBox> + <HBox horizontalAlignment='center' verticalAlignment='middle'> + + <jaxx.runtime.swing.HidorButton target='{hidor2}' showText="show label2" hideText='hide label2' + targetVisible='{false}'/> + + <JLabel id='hidor2' text='Label 2'/> + </HBox> + </JPanel> + +</jaxx.demo.DemoPanel> Modified: trunk/jaxx-demo/src/main/resources/i18n/jaxx-demo-en_GB.properties =================================================================== --- trunk/jaxx-demo/src/main/resources/i18n/jaxx-demo-en_GB.properties 2009-12-08 17:21:03 UTC (rev 1679) +++ trunk/jaxx-demo/src/main/resources/i18n/jaxx-demo-en_GB.properties 2009-12-09 17:31:41 UTC (rev 1680) @@ -56,6 +56,8 @@ Italic= JAXX\ Demo= JMenu\ demo= +Label\ 1= +Label\ 2= Last\ Name\:= LastName\:= Locale\ editor\:= @@ -200,6 +202,8 @@ numbereditor.type=Type numbereditor.with.auto.popup=With auto popup numbereditor.without.auto.popup=Without auto popup +show/hide\ label1= +show/hide\ label2= test= valid= x= Modified: trunk/jaxx-demo/src/main/resources/i18n/jaxx-demo-fr_FR.properties =================================================================== --- trunk/jaxx-demo/src/main/resources/i18n/jaxx-demo-fr_FR.properties 2009-12-08 17:21:03 UTC (rev 1679) +++ trunk/jaxx-demo/src/main/resources/i18n/jaxx-demo-fr_FR.properties 2009-12-09 17:31:41 UTC (rev 1680) @@ -56,6 +56,8 @@ Italic=Italique JAXX\ Demo= JMenu\ demo= +Label\ 1= +Label\ 2= Last\ Name\:=Nom \: LastName\:=Nom Locale\ editor\:=Editeur de locale @@ -200,6 +202,8 @@ numbereditor.type=Type d'\u00E9diteur numbereditor.with.auto.popup=Avec popup auto numbereditor.without.auto.popup=Sans popup auto +show/hide\ label1= +show/hide\ label2= test= valid=valide x=x Modified: trunk/jaxx-widgets/src/main/java/jaxx/runtime/swing/HidorButton.jaxx =================================================================== --- trunk/jaxx-widgets/src/main/java/jaxx/runtime/swing/HidorButton.jaxx 2009-12-08 17:21:03 UTC (rev 1679) +++ trunk/jaxx-widgets/src/main/java/jaxx/runtime/swing/HidorButton.jaxx 2009-12-09 17:31:41 UTC (rev 1680) @@ -1,15 +1,21 @@ <JToggleButton id='hidor' + text='{updateText(isTargetVisible())}' toolTipText='{updateToolTipText(isTargetVisible())}' - icon='{SwingUtil.createActionIcon("collapse")}' - pressedIcon='{SwingUtil.createActionIcon("expand")}' + icon="{updateIcon(isTargetVisible())}" + _hideIcon='{SwingUtil.createActionIcon("collapse")}' + _showIcon='{SwingUtil.createActionIcon("expand")}' onActionPerformed='setTargetVisible(!targetVisible)'> - - <Boolean id='targetVisible' javaBean='null'/> - <String id='collapseTip' javaBean='_("hidor.collapseTip")'/> - - <String id='expandTip' javaBean='_("hidor.expandTip")'/> + <Boolean id='targetVisible' javaBean='null'/> + <String id='hideText' javaBean='""'/> + + <String id='showText' javaBean='""'/> + + <String id='hideTip' javaBean='_("hidor.hideTip")'/> + + <String id='showTip' javaBean='_("hidor.showTip")'/> + <script><![CDATA[ import java.beans.PropertyChangeEvent; import java.beans.PropertyChangeListener; @@ -41,17 +47,27 @@ } public void setExpandIcon(Icon icon) { - setSelectedIcon(icon); + putClientProperty("expandIcon", icon); } -public void setCollapseIcon(Icon icon) { - setIcon(icon); +public void setHideIcon(Icon icon) { + putClientProperty("hideIcon", icon); } protected String updateToolTipText(boolean c) { - String i = c ? collapseTip : expandTip; + String i = c ? hideTip : showTip; return i; } + +protected String updateText(boolean c) { + String i = c ? hideText : showText; + return i; +} + +protected Icon updateIcon(boolean c) { + String key = c ? "hideIcon" : "showIcon"; + return (Icon) getClientProperty(key); +} ]]> </script> </JToggleButton> Modified: trunk/jaxx-widgets/src/main/resources/i18n/jaxx-widgets-en_GB.properties =================================================================== --- trunk/jaxx-widgets/src/main/resources/i18n/jaxx-widgets-en_GB.properties 2009-12-08 17:21:03 UTC (rev 1679) +++ trunk/jaxx-widgets/src/main/resources/i18n/jaxx-widgets-en_GB.properties 2009-12-09 17:31:41 UTC (rev 1680) @@ -46,8 +46,8 @@ errorUI.action.close=Close errorUI.message=An error wad detected... errorUI.title=Error... -hidor.collapseTip=Hide -hidor.expandTip=Show +hidor.hideTip=Hide +hidor.showTip=Show i18neditor.empty.locales=< No locale to select > i18neditor.popup.title=Change language i18neditor.selected=Selected language \: %1$s Modified: trunk/jaxx-widgets/src/main/resources/i18n/jaxx-widgets-fr_FR.properties =================================================================== --- trunk/jaxx-widgets/src/main/resources/i18n/jaxx-widgets-fr_FR.properties 2009-12-08 17:21:03 UTC (rev 1679) +++ trunk/jaxx-widgets/src/main/resources/i18n/jaxx-widgets-fr_FR.properties 2009-12-09 17:31:41 UTC (rev 1680) @@ -46,8 +46,8 @@ errorUI.action.close=Fermer errorUI.message=Une erreur est survenue \! errorUI.title=Erreur... -hidor.collapseTip=Cacher -hidor.expandTip=Voir +hidor.hideTip=Cacher +hidor.showTip=Voir i18neditor.empty.locales=< Aucune locale \u00E0 s\u00E9lectionner > i18neditor.popup.title=Changer de langue i18neditor.selected=Langue actuellement utilis\u00E9e \: %1$s