====== behavior: decimal ====== Decimal number input behavior. ===== Elements ===== that have this behavior applied by default (see [[master style sheet]]): * '''' - inline single line * '''' ===== Attributes ===== that this behavior knows about: * ''value=float'' - initial value of the input element * ''size=integer'' - determines value of (intrinsic and default) width of the element. * ''format'' - format of number representation, string that accepts following ';'-separated fields: * ''grouping'' - number, number of digits in "thousand" groups. * ''fdigits'' - number, fractional digits to show. * ''leading-zero'' - true/false, show leading zero. * ''decimal-sep'' - string, separator between integer and fractional parts. * ''grouping-sep'' - string, separator between groups. * ''negative-sign'' - true/false, true - show '-', false - wrap digits by '(' ')' characters. example: format="grouping:3; fdigits:4; leading-zero:false; decimal-sep:','; thousand-sep:'_'; negative-sign:false" ''format'' attribute can also be defined in CSS as a custom attribute ''-format''. Thus you may define it for group of input elements as: input.decimal { behavior:decimal; -format="fdigits:2; leading-zero:true;" } ===== Methods ===== The behavior supports following ''xcall()'' methods (see dom::element::xcall() function): * ''xcall("min"): int'' - returns min limit; * ''xcall("min", v:int)'' - sets min limit; * ''xcall("max"): int'' - returns max limit; * ''xcall("max", v:int)'' - sets max limit; * ''xcall("step"): int'' - returns step value; * ''xcall("step", v:int|undefined)'' - sets/clears step; ===== Events ===== Together with the standard set of events (mouse, keyboard, focus) //behavior: button// generates: * EDIT_VALUE_CHANGED event - value of the element was changed due to user actions. Posted (asynchronous) event. * EDIT_VALUE_CHANGING event - sent when value of the element is about to change. Synchronous event. ===== Value ===== type json::value::V_FLOAT, reflects current status of internal editing buffer. ===== Special key combinations ===== See [[h-smile:built-in-behaviors:edit]]