package com.rectang.xsm.widget; import com.rectang.xsm.doc.DocWidget; import org.apache.wicket.markup.html.WebMarkupContainer; import org.apache.wicket.markup.html.basic.Label; import org.apache.wicket.markup.html.form.CheckBox; import org.apache.wicket.markup.html.form.TextField; import org.apache.wicket.markup.html.panel.Panel; import org.apache.wicket.model.PropertyModel; import org.jdom.Element; import java.io.Serializable; import java.lang.*; public class Boolean extends DocWidget implements Serializable { public Boolean( java.lang.String name ) { super( name ); } private java.lang.String format( java.lang.String in ) { if ( in.equalsIgnoreCase( "true" ) ) { return "YES"; } return "NO"; } public void view( Element node, StringBuffer s ) { s.append( format( node.getValue() ) ); } public void publish( Element node, StringBuffer s ) { s.append( format( node.getValue() ) ); } public WebMarkupContainer edit( java.lang.String wicketId, Element node, java.lang.String path ) { return new BooleanPanel( wicketId, node ); } public void create( Element node ) { node.setText( "" ); } class BooleanPanel extends Panel { boolean checked; public BooleanPanel( java.lang.String id, final Element node ) { super( id ); checked = java.lang.Boolean.parseBoolean( node.getText() ); add( new Label( "label", name ) ); add( new org.apache.wicket.markup.html.form.CheckBox( "value", new PropertyModel( node, "text" ) ) { protected void onSelectionChanged( Object newSelection ) { node.setText( newSelection.toString() ); } protected boolean wantOnSelectionChangedNotifications() { return true; } } ); } } }