modified the left menu definition style to accomodate images and better
use XML text attributes
This commit is contained in:
113
src/com/silverwrist/venice/servlets/format/menus/ImageItem.java
Normal file
113
src/com/silverwrist/venice/servlets/format/menus/ImageItem.java
Normal file
@@ -0,0 +1,113 @@
|
||||
/*
|
||||
* The contents of this file are subject to the Mozilla Public License Version 1.1
|
||||
* (the "License"); you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at <http://www.mozilla.org/MPL/>.
|
||||
*
|
||||
* Software distributed under the License is distributed on an "AS IS" basis, WITHOUT
|
||||
* WARRANTY OF ANY KIND, either express or implied. See the License for the specific
|
||||
* language governing rights and limitations under the License.
|
||||
*
|
||||
* The Original Code is the Venice Web Communities System.
|
||||
*
|
||||
* The Initial Developer of the Original Code is Eric J. Bowersox <erbo@silcom.com>,
|
||||
* for Silverwrist Design Studios. Portions created by Eric J. Bowersox are
|
||||
* Copyright (C) 2001 Eric J. Bowersox/Silverwrist Design Studios. All Rights Reserved.
|
||||
*
|
||||
* Contributor(s):
|
||||
*/
|
||||
package com.silverwrist.venice.servlets.format.menus;
|
||||
|
||||
import java.io.Writer;
|
||||
import java.io.IOException;
|
||||
import org.apache.log4j.*;
|
||||
import org.w3c.dom.*;
|
||||
import com.silverwrist.util.*;
|
||||
import com.silverwrist.venice.core.ConfigException;
|
||||
import com.silverwrist.venice.servlets.format.ComponentRender;
|
||||
import com.silverwrist.venice.servlets.format.RenderData;
|
||||
|
||||
class ImageItem implements ComponentRender
|
||||
{
|
||||
/*--------------------------------------------------------------------------------
|
||||
* Static data members
|
||||
*--------------------------------------------------------------------------------
|
||||
*/
|
||||
|
||||
private static Category logger = Category.getInstance(LinkItem.class);
|
||||
|
||||
/*--------------------------------------------------------------------------------
|
||||
* Attributes
|
||||
*--------------------------------------------------------------------------------
|
||||
*/
|
||||
|
||||
private String src;
|
||||
private String alt = null;
|
||||
private int width;
|
||||
private int height;
|
||||
private boolean fixup;
|
||||
|
||||
/*--------------------------------------------------------------------------------
|
||||
* Constructor
|
||||
*--------------------------------------------------------------------------------
|
||||
*/
|
||||
|
||||
ImageItem(Element elt) throws ConfigException
|
||||
{
|
||||
if (!(elt.getNodeName().equals("image")))
|
||||
{ // just some shorts-checking here to make sure the element is OK
|
||||
logger.fatal("huh?!? this should have been a <image/> if it got here!");
|
||||
throw new ConfigException("not a <image/> element");
|
||||
|
||||
} // end if
|
||||
|
||||
// get image source
|
||||
DOMElementHelper h = new DOMElementHelper(elt);
|
||||
if (h.hasAttribute("src"))
|
||||
src = elt.getAttribute("src");
|
||||
else
|
||||
throw new ConfigException("src= attribute of <image/> element not specified");
|
||||
|
||||
// get the image width
|
||||
Integer tmp = h.getAttributeInt("width");
|
||||
if (tmp!=null)
|
||||
width = tmp.intValue();
|
||||
else
|
||||
throw new ConfigException("width= attribute of <image/> element not specified or invalid");
|
||||
|
||||
// get the image height
|
||||
tmp = h.getAttributeInt("height");
|
||||
if (tmp!=null)
|
||||
height = tmp.intValue();
|
||||
else
|
||||
throw new ConfigException("height= attribute of <image/> element not specified or invalid");
|
||||
|
||||
if (h.hasAttribute("alt"))
|
||||
alt = elt.getAttribute("alt");
|
||||
if (h.hasAttribute("fixup"))
|
||||
fixup = true;
|
||||
|
||||
} // end constructor
|
||||
|
||||
/*--------------------------------------------------------------------------------
|
||||
* Implementations from interface ComponentRender
|
||||
*--------------------------------------------------------------------------------
|
||||
*/
|
||||
|
||||
public void renderHere(Writer out, RenderData rdat) throws IOException
|
||||
{
|
||||
out.write("<IMG SRC=\"");
|
||||
if (fixup)
|
||||
{ // fix up the image path
|
||||
src = rdat.getFullImagePath(src);
|
||||
fixup = false;
|
||||
|
||||
} // end if
|
||||
|
||||
out.write(src + "\" WIDTH=" + width + " HEIGHT=" + height);
|
||||
if (alt!=null)
|
||||
out.write(" ALT=\"" + alt + "\"");
|
||||
out.write(" BORDER=0>");
|
||||
|
||||
} // end renderHere
|
||||
|
||||
} // end class ImageItem
|
||||
Reference in New Issue
Block a user