Guest User

Untitled

a guest
Jul 22nd, 2018
92
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.45 KB | None | 0 0
  1. package nl.application.view.generic.components.textfields {
  2. import nl.application.model.enum.Colors;
  3.  
  4. import com.epologee.ui.text.FormattedTextField;
  5.  
  6. import flash.text.TextFieldAutoSize;
  7.  
  8. public class CABAutoTrimmingTextField extends FormattedTextField {
  9. private static const _MAGICAL_TEXTWIDTH_PADDING : Number = 3;
  10. //
  11. private var _width : Number;
  12. private var _originalText : String;
  13.  
  14. public function CABAutoTrimmingTextField(inText : String, inFont : String, inWidth : Number, inFontSize : Number = 13, inColor : uint = Colors.BLACK, inBold : Boolean = false, inItalic : Object = false) {
  15. super(inFont, inFontSize, inColor, inBold, inItalic);
  16. width = inWidth;
  17. text = inText;
  18. }
  19.  
  20. override public function set text(inText : String) : void {
  21. _originalText = inText;
  22. update();
  23. }
  24.  
  25. override public function set width(value : Number) : void {
  26. _width = value;
  27. update();
  28. }
  29.  
  30. private function update() : void {
  31. if (!_width || !_originalText) return;
  32. autoSize = TextFieldAutoSize.NONE;
  33. wordWrap = false;
  34. multiline = false;
  35. super.width = _width;
  36. super.text = _originalText;
  37. var trimLength : int = text.length;
  38. var emergencyHandbrake : int = 100;
  39. while (textWidth + _MAGICAL_TEXTWIDTH_PADDING > width && emergencyHandbrake > 0) {
  40. --trimLength;
  41. --emergencyHandbrake;
  42. super.text = _originalText.substr(0, trimLength) + "...";
  43. }
  44. debug(_originalText, _width);
  45. autoSize = TextFieldAutoSize.LEFT;
  46. }
  47. }
  48. }
Add Comment
Please, Sign In to add comment