Initial commit from SVN.
This commit is contained in:
@@ -0,0 +1,194 @@
|
||||
/*
|
||||
* Copyright (c) 2003,2008 Declarative Engineering LLC.
|
||||
* All rights reserved. This program and the accompanying materials
|
||||
* are made available under the terms of the Declarative Engineering LLC
|
||||
* verson 1 which accompanies this distribution, and is available at
|
||||
* http://declarativeengineering.com/legal/DE_Developer_License_v1.txt
|
||||
*/
|
||||
package com.foundation.view.swt.builder;
|
||||
|
||||
import com.common.util.*;
|
||||
import com.foundation.view.builder.*;
|
||||
import com.foundation.view.definition.*;
|
||||
|
||||
public class StyledTextBuilder extends ComponentBuilder {
|
||||
protected static final String STYLE_MULTI = "multi line";
|
||||
protected static final String STYLE_SINGLE = "single line";
|
||||
protected static final String STYLE_READ_ONLY = "read only";
|
||||
protected static final String STYLE_WRAP = "wrap";
|
||||
protected static final String STYLE_FULL = "full";
|
||||
|
||||
protected static final String PROPERTY_TEXT = "text";
|
||||
protected static final String PROPERTY_USE_NULL = "use-null";
|
||||
protected static final String ASSOCIATION_TEXT = "text";
|
||||
|
||||
private static final String LINK_TARGET_BOLD_TEXT = "boldText";
|
||||
private static final String LINK_TARGET_ITALIC_TEXT = "italicText";
|
||||
private static final String LINK_TARGET_UNDERLINE_TEXT = "underlineText";
|
||||
private static final String LINK_TARGET_STRIKEOUT_TEXT = "strikeoutText";
|
||||
private static final String LINK_TARGET_TEXT_FONT_NAME = "textFontName";
|
||||
private static final String LINK_TARGET_TEXT_FONT_SIZE = "textFontSize";
|
||||
|
||||
protected static final IHashMap styleMap = new LiteHashMap(ComponentBuilder.styleMap);
|
||||
protected static final IHashMap linkMap = new LiteHashMap(ComponentBuilder.linkMap);
|
||||
|
||||
static {
|
||||
styleMap.put(STYLE_MULTI, "STYLE_MULTI");
|
||||
styleMap.put(STYLE_SINGLE, "STYLE_SINGLE");
|
||||
styleMap.put(STYLE_READ_ONLY, "STYLE_READ_ONLY");
|
||||
styleMap.put(STYLE_WRAP, "STYLE_WRAP");
|
||||
styleMap.put(STYLE_FULL, "STYLE_FULL");
|
||||
|
||||
linkMap.put(LINK_TARGET_BOLD_TEXT, "LINK_TARGET_BOLD_TEXT");
|
||||
linkMap.put(LINK_TARGET_ITALIC_TEXT, "LINK_TARGET_ITALIC_TEXT");
|
||||
linkMap.put(LINK_TARGET_UNDERLINE_TEXT, "LINK_TARGET_UNDERLINE_TEXT");
|
||||
linkMap.put(LINK_TARGET_STRIKEOUT_TEXT, "LINK_TARGET_STRIKEOUT_TEXT");
|
||||
linkMap.put(LINK_TARGET_TEXT_FONT_NAME, "LINK_TARGET_TEXT_FONT_NAME");
|
||||
linkMap.put(LINK_TARGET_TEXT_FONT_SIZE, "LINK_TARGET_TEXT_FONT_SIZE");
|
||||
}//static//
|
||||
/**
|
||||
* TextFieldBuilder constructor.
|
||||
*/
|
||||
public StyledTextBuilder() {
|
||||
}//TextFieldBuilder()//
|
||||
/* (non-Javadoc)
|
||||
* @see com.foundation.view.builder.IBuilder#appendInitializationHead(com.foundation.view.builder.IViewSourceBuilder, StringBuffer, ComponentData)
|
||||
*/
|
||||
public void appendInitializationHead(IViewSourceBuilder viewBuilder, StringBuffer buffer, IComponentData data) {
|
||||
String variableName = viewBuilder.getComponentAttributeName(data);
|
||||
|
||||
buffer.append("\t" + variableName + " = new " + getComponentClassName() + "(");
|
||||
appendComponentConstructorParameters(viewBuilder, buffer, data, "parent");
|
||||
buffer.append(");\r\n");
|
||||
|
||||
appendInitializationBody(viewBuilder, buffer, data, variableName);
|
||||
}//appendInitializationHead()//
|
||||
/* (non-Javadoc)
|
||||
* @see com.foundation.view.builder.IBuilder#appendInitializationBody(com.foundation.view.builder.IViewSourceBuilder, java.lang.StringBuffer, com.foundation.view.definition.ComponentData, java.lang.String)
|
||||
*/
|
||||
public void appendInitializationBody(IViewSourceBuilder viewBuilder, StringBuffer buffer, IComponentData data, String variableName) {
|
||||
//boolean isReadOnly = data.getStyles().containsValue(STYLE_READ_ONLY);
|
||||
String text = (String) data.getPropertyValue(PROPERTY_TEXT);
|
||||
Boolean useNull = (Boolean) data.getPropertyValue(PROPERTY_USE_NULL);
|
||||
|
||||
if(useNull != null) {
|
||||
buffer.append("\t" + variableName + ".setUseNull(" + useNull + ");\r\n");
|
||||
}//if//
|
||||
|
||||
if(text != null) {
|
||||
buffer.append("\t" + variableName + ".setText(");
|
||||
buffer.append('"');
|
||||
//TODO: Should escape the text.
|
||||
buffer.append(text);
|
||||
buffer.append('"');
|
||||
buffer.append(");\r\n");
|
||||
}//if//
|
||||
|
||||
appendAssociation(viewBuilder, buffer, data, ASSOCIATION_TEXT, variableName, "setTextAssociation", "ASSOCIATION_TEXT", IViewSourceBuilder.ACCESS_TYPE_GET_ONLY);
|
||||
|
||||
super.appendInitializationBody(viewBuilder, buffer, data, variableName);
|
||||
}//appendInitializationBody()//
|
||||
/* (non-Javadoc)
|
||||
* @see com.foundation.view.builder.IBuilder#appendLinks(com.foundation.view.builder.IViewSourceBuilder, java.lang.StringBuffer, com.foundation.view.definition.ComponentData, java.lang.String)
|
||||
*/
|
||||
public void appendLinks(IViewSourceBuilder viewBuilder, StringBuffer buffer, IComponentData data, String variableName) {
|
||||
IList boldTextLinks = data.getLinks(LINK_TARGET_BOLD_TEXT);
|
||||
IList italicTextLinks = data.getLinks(LINK_TARGET_ITALIC_TEXT);
|
||||
IList strikeoutTextLinks = data.getLinks(LINK_TARGET_STRIKEOUT_TEXT);
|
||||
IList underlineTextLinks = data.getLinks(LINK_TARGET_UNDERLINE_TEXT);
|
||||
IList textFontNameLinks = data.getLinks(LINK_TARGET_TEXT_FONT_NAME);
|
||||
IList textFontSizeLinks = data.getLinks(LINK_TARGET_TEXT_FONT_SIZE);
|
||||
|
||||
if(boldTextLinks != null) {
|
||||
for(int index = 0; index < boldTextLinks.getSize(); index++) {
|
||||
ILinkPart part = (ILinkPart) boldTextLinks.get(index);
|
||||
|
||||
buffer.append("\t");
|
||||
buffer.append(variableName);
|
||||
buffer.append(".addBoldTextLink(");
|
||||
viewBuilder.appendLink(data, buffer, part);
|
||||
buffer.append(");\r\n");
|
||||
}//for//
|
||||
}//if//
|
||||
|
||||
if(italicTextLinks != null) {
|
||||
for(int index = 0; index < italicTextLinks.getSize(); index++) {
|
||||
ILinkPart part = (ILinkPart) italicTextLinks.get(index);
|
||||
|
||||
buffer.append("\t");
|
||||
buffer.append(variableName);
|
||||
buffer.append(".addItalicTextLink(");
|
||||
viewBuilder.appendLink(data, buffer, part);
|
||||
buffer.append(");\r\n");
|
||||
}//for//
|
||||
}//if//
|
||||
|
||||
if(underlineTextLinks != null) {
|
||||
for(int index = 0; index < underlineTextLinks.getSize(); index++) {
|
||||
ILinkPart part = (ILinkPart) underlineTextLinks.get(index);
|
||||
|
||||
buffer.append("\t");
|
||||
buffer.append(variableName);
|
||||
buffer.append(".addUnderlineTextLink(");
|
||||
viewBuilder.appendLink(data, buffer, part);
|
||||
buffer.append(");\r\n");
|
||||
}//for//
|
||||
}//if//
|
||||
|
||||
if(strikeoutTextLinks != null) {
|
||||
for(int index = 0; index < strikeoutTextLinks.getSize(); index++) {
|
||||
ILinkPart part = (ILinkPart) strikeoutTextLinks.get(index);
|
||||
|
||||
buffer.append("\t");
|
||||
buffer.append(variableName);
|
||||
buffer.append(".addStrikeoutTextLink(");
|
||||
viewBuilder.appendLink(data, buffer, part);
|
||||
buffer.append(");\r\n");
|
||||
}//for//
|
||||
}//if//
|
||||
|
||||
if(textFontNameLinks != null) {
|
||||
for(int index = 0; index < textFontNameLinks.getSize(); index++) {
|
||||
ILinkPart part = (ILinkPart) textFontNameLinks.get(index);
|
||||
|
||||
buffer.append("\t");
|
||||
buffer.append(variableName);
|
||||
buffer.append(".addTextFontNameLink(");
|
||||
viewBuilder.appendLink(data, buffer, part);
|
||||
buffer.append(");\r\n");
|
||||
}//for//
|
||||
}//if//
|
||||
|
||||
if(textFontSizeLinks != null) {
|
||||
for(int index = 0; index < textFontSizeLinks.getSize(); index++) {
|
||||
ILinkPart part = (ILinkPart) textFontSizeLinks.get(index);
|
||||
|
||||
buffer.append("\t");
|
||||
buffer.append(variableName);
|
||||
buffer.append(".addTextFontSizeLink(");
|
||||
viewBuilder.appendLink(data, buffer, part);
|
||||
buffer.append(");\r\n");
|
||||
}//for//
|
||||
}//if//
|
||||
|
||||
super.appendLinks(viewBuilder, buffer, data, variableName);
|
||||
}//appendLinks()//
|
||||
/* (non-Javadoc)
|
||||
* @see com.foundation.view.builder.IBuilder#getComponentClassName()
|
||||
*/
|
||||
public String getComponentClassName() {
|
||||
return "com.foundation.view.swt.StyledText";
|
||||
}//getComponentClassName()//
|
||||
/* (non-Javadoc)
|
||||
* @see com.foundation.view.swt.builder.AbstractBuilder#getStyleMap()
|
||||
*/
|
||||
public IHashMap getStyleMap() {
|
||||
return styleMap;
|
||||
}//getStyleMap()//
|
||||
/* (non-Javadoc)
|
||||
* @see com.foundation.view.swt.builder.AbstractBuilder#getLinkMap()
|
||||
*/
|
||||
public IHashMap getLinkMap() {
|
||||
return linkMap;
|
||||
}//getLinkMap()//
|
||||
}//TextFieldBuilder//
|
||||
Reference in New Issue
Block a user