package com.rectang.xsm.pages.cms;
import org.apache.wicket.PageParameters;
import org.jdom.Element;
import java.util.List;
import java.util.Vector;
import org.apache.wicket.markup.html.list.ListView;
import org.apache.wicket.markup.html.list.ListItem;
import org.apache.wicket.markup.html.basic.Label;
/**
* The list of available page images for WYSIWYG editing in CMS
*
* @author Andrew Williams
* @version $Id: ImageList.java 802 2009-05-16 17:25:24Z andy $
* @since 2.0
*/
public class ImageList
extends DocumentPage
{
public ImageList( PageParameters parameters )
{
super( parameters );
}
public void layout()
{
List files = new Vector();
if ( getDoc() != null )
{
Element rootElem = getDoc().getContentElement();
if ( rootElem != null )
{
Element images = rootElem.getChild( "images" );
if ( images != null )
{
files = images.getChildren( "image" );
}
}
}
add( new ListView( "images", files )
{
protected void populateItem( ListItem listItem )
{
Element next = (Element) listItem.getModelObject();
String path = getDocumentPage().getPublishedPath() + "/_images/" + next.getChildText( "path" );
String caption = next.getChildText( "caption" );
if ( caption == null || caption.equals( "" ) )
{
caption = next.getChildText( "path" );
}
String line = " [\"" + caption + "\", \"" + getXSMSession().getSite().getPrefixUrl() + path + "\"]";
if ( listItem.getIndex() < ((List) listItem.getParent().getDefaultModelObject()).size() - 1 )
{
line += ",\n";
}
listItem.add( new Label( "image", line ).setEscapeModelStrings( false ).setRenderBodyOnly( true ) );
listItem.setRenderBodyOnly( true );
}
}.setRenderBodyOnly( true ) );
}
}