#default
org.eclipse.osbp.infogrid.model.gridsource.CxGridProperty=A grid property define different styles.
org.eclipse.osbp.infogrid.model.gridsource.CxGridProperty.editable=Marks the propery as editable
org.eclipse.osbp.infogrid.model.gridsource.CxGridProperty.prop=Starts a new property definition
org.eclipse.osbp.infogrid.model.gridsource.CxGridProperty.style=Style defines how the property is visualized
org.eclipse.osbp.infogrid.model.gridsource.CxGridNestedPath=A nested path
org.eclipse.osbp.infogrid.model.gridsource.CxGridNestedPath..=Select a nested property
org.eclipse.osbp.infogrid.model.gridsource.style.CxGridPropBooleanStyle=Boolean style
org.eclipse.osbp.infogrid.model.gridsource.style.CxGridPropBooleanStyle.boolStyle=Shows the value of the property as a checkbox

org.eclipse.osbp.infogrid.model.gridsource.style.CxGridPropButtonStyle=Button style
org.eclipse.osbp.infogrid.model.gridsource.style.CxGridPropButtonStyle.buttonStyle=Shows the value of the property as a button caption
org.eclipse.osbp.infogrid.model.gridsource.style.CxGridPropButtonStyle.eventTopic=An event is published under this topic if the button was pressed

org.eclipse.osbp.infogrid.model.gridsource.style.CxGridPropDateStyle=Date style
org.eclipse.osbp.infogrid.model.gridsource.style.CxGridPropDateStyle.dateStyle=Shows the value of the property formated as date
org.eclipse.osbp.infogrid.model.gridsource.style.CxGridPropDateStyle.format=A date format to be used

org.eclipse.osbp.infogrid.model.gridsource.style.CxGridPropHtmlStyle=Html style
org.eclipse.osbp.infogrid.model.gridsource.style.CxGridPropHtmlStyle.htmlStyle=Shows the value of the property as rendered html

org.eclipse.osbp.infogrid.model.gridsource.style.CxGridPropImageStyle=Image style
org.eclipse.osbp.infogrid.model.gridsource.style.CxGridPropImageStyle.imageStyle=Shows the value of the property as an image
org.eclipse.osbp.infogrid.model.gridsource.style.CxGridPropImageStyle.eventTopic=An event is published under this topic if the image was clicked

org.eclipse.osbp.infogrid.model.gridsource.style.CxGridPropIndicatorStyle=Indicator style
org.eclipse.osbp.infogrid.model.gridsource.style.CxGridPropIndicatorStyle.indicatorStyle=Shows the value of the property as an indicator. Red means below value_lower. Green means above value_upper.
org.eclipse.osbp.infogrid.model.gridsource.style.CxGridPropIndicatorStyle.greenFrom=The indicator shows green if the value is greater then the value specified here
org.eclipse.osbp.infogrid.model.gridsource.style.CxGridPropIndicatorStyle.redUnitl=The indicator shows red until the value is greater then the value specified here 

org.eclipse.osbp.infogrid.model.gridsource.style.CxGridPropNumberStyle=Number style
org.eclipse.osbp.infogrid.model.gridsource.style.CxGridPropNumberStyle.numberStyle=Shows the value of the property as a formated number
org.eclipse.osbp.infogrid.model.gridsource.style.CxGridPropNumberStyle.format=Define a number format to be used. See following content assist.

org.eclipse.osbp.infogrid.model.gridsource.style.CxGridPropPriceStyle=Price style
org.eclipse.osbp.infogrid.model.gridsource.style.CxGridPropPriceStyle.priceStyle=Shows the value of the property as a price. Allows adding amount and currency
org.eclipse.osbp.infogrid.model.gridsource.style.CxGridPropPriceStyle.value=A nested field from the property to represent the value
org.eclipse.osbp.infogrid.model.gridsource.style.CxGridPropPriceStyle.format=Define a number format to be used. See following content assist.
org.eclipse.osbp.infogrid.model.gridsource.style.CxGridPropPriceStyle.currency=A nested field from the property to represent the currency

org.eclipse.osbp.infogrid.model.gridsource.style.CxGridPropProgressbarStyle=Progressbar style
org.eclipse.osbp.infogrid.model.gridsource.style.CxGridPropProgressbarStyle.progressbarStyle=Shows the value of the property as a progressbar
org.eclipse.osbp.infogrid.model.gridsource.style.CxGridPropProgressbarStyle.max=The maximum value expected

org.eclipse.osbp.infogrid.model.gridsource.style.CxGridPropQuantityStyle=Quantity style
org.eclipse.osbp.infogrid.model.gridsource.style.CxGridPropQuantityStyle.quantityStyle=Shows the value of the property as a quantity. Allows adding amount and uom
org.eclipse.osbp.infogrid.model.gridsource.style.CxGridPropQuantityStyle.value=A nested field from the property to represent the value
org.eclipse.osbp.infogrid.model.gridsource.style.CxGridPropQuantityStyle.format=Define a number format to be used. See following content assist.
org.eclipse.osbp.infogrid.model.gridsource.style.CxGridPropQuantityStyle.uom=A nested field from the property to represent the unit of measure

org.eclipse.osbp.infogrid.model.gridsource.style.CxGridPropTextStyle=Text style
org.eclipse.osbp.infogrid.model.gridsource.style.CxGridPropTextStyle.textStyle=Shows the value of the property as a text

org.eclipse.osbp.infogrid.model.gridsource.style.CxGridStyleConfigNumericToResource=Style config for numeric to resource
org.eclipse.osbp.infogrid.model.gridsource.style.CxGridStyleConfigNumericToResource.number=The input value for this compare is numeric
org.eclipse.osbp.infogrid.model.gridsource.style.CxGridStyleConfigNumericToResource.then=If compare returns OK, then the following image is used

org.eclipse.osbp.infogrid.model.gridsource.style.CxGridStyleConfigStringToResource=Style config for string to resource
org.eclipse.osbp.infogrid.model.gridsource.style.CxGridStyleConfigStringToResource.string=The input value for this compare is a String
org.eclipse.osbp.infogrid.model.gridsource.style.CxGridStyleConfigStringToResource.then=If compare returns OK, then the following image is used


