     o.label                   or= null          # a KDLabelView instance
     o.cssClass                or= ""            # a String
     o.callback                or= null          # a Function
-    o.defaultValue            or= ""            # a String or a Boolean value depending on type
+    o.defaultValue             ?= ""            # a String or a Boolean value depending on type
     o.placeholder             or= ""            # a String
     o.disabled                 ?= no            # a Boolean value
     # o.readonly               ?= no            # a Boolean value

    @getSingleton("windowController").revertKeyView @
    yes

  mouseDown:=>

    @setFocus()
    #WHY NO?

    @getDomElement().removeAttr "disabled"

  getValue:()->
    if @getOption("type") is "checkbox"
      value = @$().is ':checked'
    else
      value = @getDomElement().val()
      {forceCase} = @getOptions()
      if forceCase
        value = if /uppercase/i.test forceCase
          value.toUpperCase()
        else
          value.toLowerCase()

    return value

  setValue:(value)->
    if @getOption("type") is "checkbox"
      @getDomElement().attr checked : value
    else @getDomElement().val(value) if value?

  _prevVal = null

