blob: e5594336fc36418721f1fe2ba1719e354f54cb54 [file] [log] [blame]
/*******************************************************************************
* Copyright (c) 2006 Sybase, Inc. and others.
*
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/epl-v10.html
*
* Contributors:
* Sybase, Inc. - initial API and implementation
*******************************************************************************/
package org.eclipse.jst.pagedesigner.css2.list;
import org.eclipse.jst.pagedesigner.css2.property.ICSSPropertyID;
import org.eclipse.swt.graphics.Image;
/**
* @author mengbo
*/
public class CSSHtmlListStyleData {
/**
* Image
*/
public final static int LIST_T_IMAGE = 0;
/**
* Disc
*/
public final static int LIST_T_DISC = 1;
/**
* Circle
*/
public final static int LIST_T_CIRCLE = 2;
/**
* Square
*/
public final static int LIST_T_SQUARE = 3;
/**
* Decimal
*/
public final static int LIST_T_DECIMAL = 0x11;
/**
* Decimial w/ leading zero
*/
public final static int LIST_T_DECIMAL_LEADING_ZERO = 0x12;
/**
* Lower alpha
*/
public final static int LIST_T_LOWER_ALPHA = 0x13;
/**
* Lower Roman
*/
public final static int LIST_T_LOWER_ROMAN = 0x14;
/**
* Upper alpha
*/
public final static int LIST_T_UPPER_ALPHA = 0x15;
/**
* Upper Roman
*/
public final static int LIST_T_UPPER_ROMAN = 0x16;
//private CSSMarkerStyleData _markerStyleData;
private Image _markerImage;
private int _type;
/**
* @return if is a default picture type
*/
public boolean isDefaultPicture() {
return (_type & 0xf) != 0;
}
private String getResolvedURL() {
//String textValue = _markerStyleData.getTextContent();
// TODO: when I found this, resolver was not being set and would either
// have thrown NPE or returned "".. so I've "improved it :)
//URIResolver resolver = null;// FIXME: this is not implemented yet.
// DesignerPropertyTool.getModel().getResolver();
//if (textValue != null && textValue.length() > 0) {
// return resolver.getLocationByURI(textValue);
//}
return ""; //$NON-NLS-1$
}
/**
* @return Returns the markerImage.
*/
public Image getMarkerImage() {
if (!this.isImage()) {
return null;
}
if (_markerImage == null) {
String uri = this.getResolvedURL();
_markerImage = new Image(null, uri);
}
return _markerImage;
}
/**
* @return Returns the type.
*/
public int getType() {
return _type;
}
/**
* @param type
*/
public void setType(String type) {
this._type = toTypeInt(type);
}
/**
* @param index
* @return Returns the markerString.
*/
public String getTextValue(int index) {
if (!this.isText()) {
return null;
}
// ICounter counter = CounterFactory.getInstance().getCounter(_type);
return ""; //$NON-NLS-1$
}
/**
* @return true if is a text type
*/
public boolean isText() {
return (_type & 0xf0) != 0;
}
/**
* @return true if is an image type
*/
public boolean isImage() {
return (_type == LIST_T_IMAGE);
}
/**
* @param type
* @return convert the 'type' String to one of LIST_T_*
*/
public static int toTypeInt(String type) {
if (type.equalsIgnoreCase(ICSSPropertyID.VAL_DECIMAL)) {
return LIST_T_DECIMAL;
} else if (type
.equalsIgnoreCase(ICSSPropertyID.VAL_DECIMAL_LEADING_ZERO)) {
return LIST_T_DECIMAL_LEADING_ZERO;
} else if (type.equalsIgnoreCase(ICSSPropertyID.VAL_DISC)) {
return LIST_T_DISC;
} else if (type.equalsIgnoreCase(ICSSPropertyID.VAL_CIRCLE)) {
return LIST_T_CIRCLE;
} else if (type.equalsIgnoreCase(ICSSPropertyID.VAL_SQUARE)) {
return LIST_T_SQUARE;
} else if (type.equalsIgnoreCase(ICSSPropertyID.VAL_IMAGE)) {
return LIST_T_IMAGE;
}
return 0;
}
}