11/16: refs #3501 (add SwingSession state)
This is an automated email from the git hooks/post-receive script. New commit to branch develop in repository jaxx. See http://git.nuiton.org/jaxx.git commit 24e9c724369109e741883423c14a61a44fcff6d7 Author: Tony CHEMIT <chemit@codelutin.com> Date: Sun Nov 30 12:29:27 2014 +0100 refs #3501 (add SwingSession state) --- .../jaxx/widgets/datetime/DateTimeEditor.css | 1 + .../jaxx/widgets/datetime/DateTimeEditor.jaxx | 4 +- .../datetime/session/DateTimeEditorState.java | 54 ++++++++++++++++++++++ 3 files changed, 58 insertions(+), 1 deletion(-) diff --git a/jaxx-widgets-datetime/src/main/java/org/nuiton/jaxx/widgets/datetime/DateTimeEditor.css b/jaxx-widgets-datetime/src/main/java/org/nuiton/jaxx/widgets/datetime/DateTimeEditor.css index e8d57b2..e5f019a 100644 --- a/jaxx-widgets-datetime/src/main/java/org/nuiton/jaxx/widgets/datetime/DateTimeEditor.css +++ b/jaxx-widgets-datetime/src/main/java/org/nuiton/jaxx/widgets/datetime/DateTimeEditor.css @@ -65,6 +65,7 @@ target:{slider}; showTip:{t("datetimeeditor.show.slider")}; hideTip:{t("datetimeeditor.hide.slider")}; + targetVisible:{isShowTimeEditorSlider()}; } #slider { diff --git a/jaxx-widgets-datetime/src/main/java/org/nuiton/jaxx/widgets/datetime/DateTimeEditor.jaxx b/jaxx-widgets-datetime/src/main/java/org/nuiton/jaxx/widgets/datetime/DateTimeEditor.jaxx index 13395be..4fe2d25 100644 --- a/jaxx-widgets-datetime/src/main/java/org/nuiton/jaxx/widgets/datetime/DateTimeEditor.jaxx +++ b/jaxx-widgets-datetime/src/main/java/org/nuiton/jaxx/widgets/datetime/DateTimeEditor.jaxx @@ -43,6 +43,9 @@ <!-- spinner minute editor --> <SpinnerDateModel id="minuteModel"/> + <!-- flag to show or hide the time slider (this state can be saved by SwingSession) --> + <Boolean id='showTimeEditorSlider' javaBean='false'/> + <script><![CDATA[ public void init() { handler.init(this); } @@ -54,7 +57,6 @@ public void setDate(Date date) { model.setDate(date); } public void setDateFormat(String dateFormat) { dayDateEditor.setFormats(dateFormat); } public void setLabel(String label) { dateTimeLabel.setText(label); } -public void setShowTimeEditorSlider(boolean showTimeEditorSlider) { sliderHidor.setTargetVisible(showTimeEditorSlider); } ]]> </script> diff --git a/jaxx-widgets-datetime/src/main/java/org/nuiton/jaxx/widgets/datetime/session/DateTimeEditorState.java b/jaxx-widgets-datetime/src/main/java/org/nuiton/jaxx/widgets/datetime/session/DateTimeEditorState.java new file mode 100644 index 0000000..eae97f4 --- /dev/null +++ b/jaxx-widgets-datetime/src/main/java/org/nuiton/jaxx/widgets/datetime/session/DateTimeEditorState.java @@ -0,0 +1,54 @@ +package org.nuiton.jaxx.widgets.datetime.session; + +import jaxx.runtime.swing.session.State; +import org.nuiton.jaxx.widgets.datetime.DateTimeEditor; + +/** + * Created on 11/30/14. + * + * @author Tony Chemit - chemit@codelutin.com + * @since 2.18 + */ +public class DateTimeEditorState implements State { + + protected Boolean showTimeEditorSlider = false; + + public boolean getShowTimeEditorSlider() { + return showTimeEditorSlider; + } + + public void setShowTimeEditorSlider(boolean showTimeEditorSlider) { + this.showTimeEditorSlider = showTimeEditorSlider; + } + + @Override + public State getState(Object o) { + DateTimeEditor list = checkComponent(o); + DateTimeEditorState state = new DateTimeEditorState(); + state.setShowTimeEditorSlider(list.getShowTimeEditorSlider()); + return state; + } + + @Override + public void setState(Object o, State state) { + if (!(state instanceof DateTimeEditorState)) { + throw new IllegalArgumentException("invalid state"); + } + + DateTimeEditor list = checkComponent(o); + DateTimeEditorState beanDoubleListState = (DateTimeEditorState) state; + list.setShowTimeEditorSlider(beanDoubleListState.getShowTimeEditorSlider()); + + } + + protected DateTimeEditor checkComponent(Object o) { + if (o == null) { + throw new IllegalArgumentException("null component"); + } + if (!(o instanceof DateTimeEditor)) { + throw new IllegalArgumentException("invalid component"); + } + return (DateTimeEditor) o; + } + +} -- To stop receiving notification emails like this one, please contact nuiton.org SCM administrator <admin+scm@nuiton.org>.
participants (1)
-
nuiton.org scm