## Class TChoiceFormat

Description

TChoiceFormat class.

This component performs message/string choice translation. The translation source is set in the TGlobalization module. The following example demonstrates a simple 2 choice message translation.

     <com:TChoiceFormat Value="1">[1] One Apple. |[2] Two Apples</com:TChoiceFormat>

The Choice has Value "1" (one), thus the translated string is "One Apple". If the Value is "2", then it will show "Two Apples".

The message/string choices are separated by the pipe "|" followed by a set notation of the form

- <tt>[1,2]</tt> -- accepts values between 1 and 2, inclusive.
- <tt>(1,2)</tt> -- accepts values between 1 and 2, excluding 1 and 2.
- <tt>{1,2,3,4}</tt> -- only values defined in the set are accepted.
- <tt>[-Inf,0)</tt> -- accepts value greater or equal to negative infinity and strictly less than 0

Any non-empty combinations of the delimiters of square and round brackets are acceptable.

The string choosen for display depends on the Value property. The Value is evaluated for each set until the Value is found to belong to a particular set.

Properties

- Value, float,
  Gets or sets the Value that determines which string choice to display.

Since version 3.1.2 the following set notation is also possible.

- <tt>{n: n % 10 > 1 && n % 10 < 5}</tt> -- matches numbers like 2, 3, 4, 22, 23, 24

Where set is defined by the expression after <tt>n:</tt>. In particular, the expression accepts the following mathematical/logical operators to form a set of logical conditions on the value given by <tt>n</tt>:

- <tt>&lt;</tt> -- less than.
- <tt>&lt;=</tt> -- less than equals.
- <tt>&gt;</tt> -- greater than.
- <tt>&gt=</tt> -- greater than equals.
- <tt>==</tt> -- of equal value.
- <tt>%</tt> -- modulo, e.g., 1 % 10 equals 1, 11 % 10 equals 1.
- <tt>-</tt> -- minus, negative.
- <tt>+</tt> -- addition.
- <tt>&amp;</tt> -- conditional AND.
- <tt>&amp;&amp;</tt> -- condition AND with short circuit.
- <tt>|</tt> -- conditional OR.
- <tt>||</tt> -- conditional OR with short circuit.
- <tt>!</tt> -- negation.

Additional round brackets can also be used to perform grouping.

- version: v1.0, last update on Fri Dec 24 21:38:49 EST 2004
- author: Xiang Wei Zhuo <weizhuo[at]gmail[dot]com>

Located in /I18N/TChoiceFormat.php (line 77)

    TComponent
       |
       --TApplicationComponent
          |
          --TControl
             |
             --TI18NControl
                |
                --TTranslate
                   |
                   --TChoiceFormat

Method Summary
float getValue ()
void setValue (float $value)
void translateText (mixed $text, mixed $subs)
Methods
getValue (line 82)

- return: the numerical value.
- access: public

float getValue ()
setValue (line 91)

Sets the numerical choice value

- access: public

void setValue (float $value)

- float $value: the choice value

translateText (line 101)

Display the choosen translated string.

Overrides the parent method, also calls parent's renderBody to translate.

- access: protected

void translateText (mixed $text, mixed $subs)

Redefinition of:

TTranslate::translateText()
  Translates the text with subsititution.

#### Inherited Methods

Inherited From TTranslate

> TTranslate::getCatalogue()
> TTranslate::getKey()
> TTranslate::getParameter()
> TTranslate::getParameters()
> TTranslate::getText()
> TTranslate::getTrim()
> TTranslate::hasParameter()
> TTranslate::removeParameter()
> TTranslate::render()
> TTranslate::setCatalogue()
> TTranslate::setKey()
> TTranslate::setParameter()
> TTranslate::setText()
> TTranslate::setTrim()
> TTranslate::translateText()

Inherited From TI18NControl

> TI18NControl::getCharset()
> TI18NControl::getCulture()
> TI18NControl::setCharset()
> TI18NControl::setCulture()

Inherited From TControl

> TControl::__construct()
> TControl::addedControl()
> TControl::addParsedObject()
> TControl::addToPostDataLoader()
> TControl::applyStyleSheetSkin()
> TControl::autoBindProperty()
> TControl::autoDataBindProperties()
> TControl::bindProperty()
> TControl::broadcastEvent()
> TControl::bubbleEvent()
> TControl::clearChildState()
> TControl::clearControlState()
> TControl::clearNamingContainer()
> TControl::clearViewState()
> TControl::convertUniqueIdToClientId()
> TControl::createChildControls()
> TControl::createControlCollection()
> TControl::dataBind()
> TControl::dataBindChildren()
> TControl::dataBindProperties()
> TControl::ensureChildControls()
> TControl::findControl()
> TControl::findControlsByID()
> TControl::findControlsByType()
> TControl::focus()
> TControl::getAdapter()
> TControl::getAllowChildControls()
> TControl::getAttribute()
> TControl::getAttributes()
> TControl::getChildControlsCreated()
> TControl::getClientID()
> TControl::getControls()
> TControl::getControlStage()
> TControl::getControlState()
> TControl::getCustomData()
> TControl::getEnabled()
> TControl::getEnableTheming()
> TControl::getEnableViewState()
> TControl::getHasAdapter()
> TControl::getHasAttributes()
> TControl::getHasChildInitialized()
> TControl::getHasControls()
> TControl::getHasInitialized()
> TControl::getHasLoaded()
> TControl::getHasLoadedPostData()
> TControl::getHasPreRendered()
> TControl::getID()
> TControl::getNamingContainer()
> TControl::getPage()
> TControl::getParent()
> TControl::getRegisteredObject()
> TControl::getSkinID()
> TControl::getSourceTemplateControl()
> TControl::getTemplateControl()
> TControl::getUniqueID()
> TControl::getViewState()
> TControl::getVisible()
> TControl::hasAttribute()
> TControl::initRecursive()
> TControl::isDescendentOf()
> TControl::isObjectRegistered()
> TControl::loadRecursive()
> TControl::loadState()
> TControl::loadStateRecursive()
> TControl::onDataBinding()
> TControl::onInit()
> TControl::onLoad()
> TControl::onPreRender()
> TControl::onUnload()
> TControl::preRenderRecursive()
> TControl::raiseBubbleEvent()
> TControl::registerObject()
> TControl::removeAttribute()
> TControl::removedControl()
> TControl::render()
> TControl::renderChildren()
> TControl::renderControl()
> TControl::saveState()
> TControl::saveStateRecursive()
> TControl::setAdapter()
> TControl::setAttribute()
> TControl::setChildControlsCreated()
> TControl::setControlStage()
> TControl::setControlState()
> TControl::setCustomData()
> TControl::setEnabled()
> TControl::setEnableTheming()
> TControl::setEnableViewState()
> TControl::setID()
> TControl::setPage()
> TControl::setSkinID()
> TControl::setTemplateControl()
> TControl::setViewState()
> TControl::setVisible()
> TControl::trackViewState()
> TControl::traverseChildControls()
> TControl::unbindProperty()
> TControl::unloadRecursive()
> TControl::unregisterObject()
> TControl::__get()

Inherited From TApplicationComponent

> TApplicationComponent::getApplication()
> TApplicationComponent::getRequest()
> TApplicationComponent::getResponse()
> TApplicationComponent::getService()
> TApplicationComponent::getSession()
> TApplicationComponent::getUser()
> TApplicationComponent::publishAsset()
> TApplicationComponent::publishFilePath()

Inherited From TComponent

> TComponent::addParsedObject()
> TComponent::attachEventHandler()
> TComponent::canGetProperty()
> TComponent::canSetProperty()
> TComponent::createdOnTemplate()
> TComponent::detachEventHandler()
> TComponent::evaluateExpression()
> TComponent::evaluateStatements()
> TComponent::getEventHandlers()
> TComponent::getSubProperty()
> TComponent::hasEvent()
> TComponent::hasEventHandler()
> TComponent::hasProperty()
> TComponent::raiseEvent()
> TComponent::setSubProperty()
> TComponent::__get()
> TComponent::__set()

Class Constants

#### Inherited Constants

Inherited from TControl

> TControl::AUTOMATIC_ID_PREFIX
> TControl::CLIENT_ID_SEPARATOR
> TControl::CS_CHILD_INITIALIZED
> TControl::CS_CONSTRUCTED
> TControl::CS_INITIALIZED
> TControl::CS_LOADED
> TControl::CS_PRERENDERED
> TControl::CS_STATE_LOADED
> TControl::ID_FORMAT
> TControl::ID_SEPARATOR
> TControl::IS_CHILD_CREATED
> TControl::IS_CREATING_CHILD
> TControl::IS_DISABLE_THEMING
> TControl::IS_DISABLE_VIEWSTATE
> TControl::IS_ID_SET
> TControl::IS_SKIN_APPLIED
> TControl::IS_STYLESHEET_APPLIED
> TControl::RF_ADAPTER
> TControl::RF_AUTO_BINDINGS
> TControl::RF_CHILD_STATE
> TControl::RF_CONTROLS
> TControl::RF_CONTROLSTATE
> TControl::RF_DATA_BINDINGS
> TControl::RF_EVENTS
> TControl::RF_NAMED_CONTROLS
> TControl::RF_NAMED_CONTROLS_ID
> TControl::RF_NAMED_OBJECTS
> TControl::RF_SKIN_ID

Documentation generated on Mon, 22 Feb 2010 12:17:04 +0000 by phpDocumentor 1.3.0RC4