124 lines
6.0 KiB
Java
124 lines
6.0 KiB
Java
/*
|
|
* Copyright (c) 2006,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.IHashMap;
|
|
import com.common.util.LiteHashMap;
|
|
import com.foundation.view.builder.IViewSourceBuilder;
|
|
import com.foundation.view.definition.IComponentData;
|
|
|
|
public class SpinnerBuilder extends ComponentBuilder {
|
|
protected static final String STYLE_WRAP = "wrap";
|
|
protected static final String STYLE_READ_ONLY = "read only";
|
|
|
|
protected static final String PROPERTY_AUTO_SYNCHRONIZE_SELECTION = "auto-synchronize-selection";
|
|
protected static final String PROPERTY_AUTO_SYNCHRONIZE_SELECTION_DELAY = "auto-synchronize-selection-delay";
|
|
protected static final String PROPERTY_MINIMUM = "minimum";
|
|
protected static final String PROPERTY_MAXIMUM = "maximum";
|
|
protected static final String PROPERTY_SELECTION = "selection";
|
|
protected static final String PROPERTY_INCREMENT = "increment";
|
|
protected static final String PROPERTY_PAGE_INCREMENT = "page-increment";
|
|
protected static final String ASSOCIATION_MAXIMUM = "maximum";
|
|
protected static final String ASSOCIATION_MINIMUM = "minimum";
|
|
protected static final String ASSOCIATION_SELECTION = "selection";
|
|
protected static final String ASSOCIATION_INCREMENT = "increment";
|
|
protected static final String ASSOCIATION_PAGE_INCREMENT = "page-increment";
|
|
|
|
protected static final IHashMap styleMap = new LiteHashMap(ComponentBuilder.styleMap);
|
|
protected static final IHashMap linkMap = new LiteHashMap(ComponentBuilder.linkMap);
|
|
|
|
static {
|
|
styleMap.put(STYLE_WRAP, "STYLE_WRAP");
|
|
styleMap.put(STYLE_READ_ONLY, "STYLE_READ_ONLY");
|
|
}//static//
|
|
/**
|
|
* SpinnerBuilder constructor.
|
|
*/
|
|
public SpinnerBuilder() {
|
|
super();
|
|
}//SpinnerBuilder()//
|
|
/* (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");
|
|
buffer.append("\t\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) {
|
|
Integer maximum = (Integer) data.getPropertyValue(PROPERTY_MAXIMUM);
|
|
Integer minimum = (Integer) data.getPropertyValue(PROPERTY_MINIMUM);
|
|
Integer selection = (Integer) data.getPropertyValue(PROPERTY_SELECTION);
|
|
Integer increment = (Integer) data.getPropertyValue(PROPERTY_INCREMENT);
|
|
Integer pageIncrement = (Integer) data.getPropertyValue(PROPERTY_PAGE_INCREMENT);
|
|
Boolean autoSynchronizeSelection = (Boolean) data.getPropertyValue(PROPERTY_AUTO_SYNCHRONIZE_SELECTION);
|
|
Long autoSynchronizeSelectionDelay = (Long) data.getPropertyValue(PROPERTY_AUTO_SYNCHRONIZE_SELECTION_DELAY);
|
|
|
|
if(maximum != null) {
|
|
buffer.append("\t" + variableName + ".setMaximum(new Integer(" + maximum + "));\r\n");
|
|
}//if//
|
|
|
|
if(minimum != null) {
|
|
buffer.append("\t" + variableName + ".setMinimum(new Integer(" + minimum + "));\r\n");
|
|
}//if//
|
|
|
|
if(selection != null) {
|
|
buffer.append("\t" + variableName + ".setSelection(new Integer(" + selection + "));\r\n");
|
|
}//if//
|
|
|
|
if(increment != null) {
|
|
buffer.append("\t" + variableName + ".setIncrement(new Integer(" + increment + "));\r\n");
|
|
}//if//
|
|
|
|
if(pageIncrement != null) {
|
|
buffer.append("\t" + variableName + ".setPageIncrement(new Integer(" + pageIncrement + "));\r\n");
|
|
}//if//
|
|
|
|
if(autoSynchronizeSelection != null) {
|
|
buffer.append("\t" + variableName + ".setAutoSynchronizeSelection(" + autoSynchronizeSelection + ");\r\n");
|
|
}//if//
|
|
|
|
if(autoSynchronizeSelectionDelay != null) {
|
|
buffer.append("\t" + variableName + ".setAutoSynchronizeSelectionDelay(" + autoSynchronizeSelectionDelay + "l);\r\n");
|
|
}//if//
|
|
|
|
appendAssociation(viewBuilder, buffer, data, ASSOCIATION_MAXIMUM, variableName, "setMaximumAssociation", "ASSOCIATION_MAXIMUM", IViewSourceBuilder.ACCESS_TYPE_GET_ONLY);
|
|
appendAssociation(viewBuilder, buffer, data, ASSOCIATION_MINIMUM, variableName, "setMinimumAssociation", "ASSOCIATION_MINIMUM", IViewSourceBuilder.ACCESS_TYPE_GET_ONLY);
|
|
appendAssociation(viewBuilder, buffer, data, ASSOCIATION_SELECTION, variableName, "setSelectionAssociation", "ASSOCIATION_SELECTION", IViewSourceBuilder.ACCESS_TYPE_BOTH);
|
|
appendAssociation(viewBuilder, buffer, data, ASSOCIATION_INCREMENT, variableName, "setIncrementAssociation", "ASSOCIATION_INCREMENT", IViewSourceBuilder.ACCESS_TYPE_GET_ONLY);
|
|
appendAssociation(viewBuilder, buffer, data, ASSOCIATION_PAGE_INCREMENT, variableName, "setPageIncrementAssociation", "ASSOCIATION_PAGE_INCREMENT", IViewSourceBuilder.ACCESS_TYPE_GET_ONLY);
|
|
|
|
super.appendInitializationBody(viewBuilder, buffer, data, variableName);
|
|
}//appendInitializationBody()//
|
|
/* (non-Javadoc)
|
|
* @see com.foundation.view.builder.IBuilder#getComponentClassName()
|
|
*/
|
|
public String getComponentClassName() {
|
|
return "com.foundation.view.swt.Spinner";
|
|
}//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()//
|
|
}//SpinnerBuilder// |