Class: CDK::FSLIDER
- Defined in:
- lib/cdk/components/fslider.rb
Instance Attribute Summary
Attributes included from HasTitle
Attributes included from HasScreen
#is_visible, #screen, #screen_index
Attributes included from ExitConditions
Attributes included from Bindings
Attributes included from Focusable
Attributes included from Borders
#BXAttr, #HZChar, #LLChar, #LRChar, #ULChar, #URChar, #VTChar, #border_size, #box
Instance Method Summary collapse
-
#drawField ⇒ Object
This draws the widget.
- #formattedSize(value) ⇒ Object
- #getDigits ⇒ Object
-
#initialize(cdkscreen, xplace, yplace, title, label, filler, field_width, start, low, high, inc, fast_inc, digits, box, shadow) ⇒ FSLIDER
constructor
A new instance of FSLIDER.
- #object_type ⇒ Object
- #SCAN_FMT ⇒ Object
- #setDigits(digits) ⇒ Object
Methods inherited from SLIDER
Decrement, Increment, #activate, #destroy, #draw, #erase, #focus, #getHighValue, #getLowValue, #getValue, #inject, #limitCurrentValue, #move, #moveToEditPosition, #performEdit, #position, removeChar, #set, #setBKattr, #setEditPosition, #setLowHigh, #setValue, #unfocus, #validEditPosition
Methods inherited from CDKOBJS
#setBackgroundColor, #timeout, #validCDKObject, #validObjType
Methods included from WindowHooks
#destroy, #draw, #erase, #refreshData, #saveData
Methods included from WindowInput
#getc, #getch, #inject, #setPostProcess, #setPreProcess
Methods included from HasTitle
#cleanTitle, #drawTitle, #init_title, #setTitle
Methods included from HasScreen
#SCREEN_XPOS, #SCREEN_YPOS, #init_screen, #wrefresh
Methods included from ExitConditions
#init_exit_conditions, #resetExitType, #setExitType
Methods included from Bindings
#bind, #bindableObject, #checkBind, #cleanBindings, #init_bindings, #isBind, #unbind
Methods included from Focusable
Methods included from Borders
#getBox, #init_borders, #setBXattr, #setBox, #setHZchar, #setLLchar, #setLRchar, #setULchar, #setURchar, #setVTchar
Methods included from Movement
#move, #move_specific, #position
Methods included from Converters
#char2Chtype, #charOf, #chtype2Char, #chtype2String, #decode_attribute, #encode_attribute
Methods included from Justifications
Methods included from Alignments
Constructor Details
#initialize(cdkscreen, xplace, yplace, title, label, filler, field_width, start, low, high, inc, fast_inc, digits, box, shadow) ⇒ FSLIDER
Returns a new instance of FSLIDER.
5 6 7 8 9 10 |
# File 'lib/cdk/components/fslider.rb', line 5 def initialize(cdkscreen, xplace, yplace, title, label, filler, field_width, start, low, high, inc, fast_inc, digits, box, shadow) @digits = digits super(cdkscreen, xplace, yplace, title, label, filler, field_width, start, low, high, inc, fast_inc, box, shadow) end |
Instance Method Details
#drawField ⇒ Object
This draws the widget.
13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 |
# File 'lib/cdk/components/fslider.rb', line 13 def drawField step = 1.0 * @field_width / (@high - @low) # Determine how many filler characters need to be drawn. filler_characters = (@current - @low) * step @field_win.werase # Add the character to the window. (0...filler_characters).each do |x| @field_win.mvwaddch(0, x, @filler) end # Draw the value in the field. digits = [@digits, 30].min format = '%%.%if' % [digits] temp = format % [@current] Draw.writeCharAttrib(@field_win, @field_width, 0, temp, Ncurses::A_NORMAL, CDK::HORIZONTAL, 0, temp.size) self.moveToEditPosition(@field_edit) wrefresh(@field_win) end |
#formattedSize(value) ⇒ Object
38 39 40 41 42 43 |
# File 'lib/cdk/components/fslider.rb', line 38 def formattedSize(value) digits = [@digits, 30].min format = '%%.%if' % [digits] temp = format % [value] return temp.size end |
#getDigits ⇒ Object
49 50 51 |
# File 'lib/cdk/components/fslider.rb', line 49 def getDigits return @digits end |
#object_type ⇒ Object
57 58 59 |
# File 'lib/cdk/components/fslider.rb', line 57 def object_type :FSLIDER end |
#SCAN_FMT ⇒ Object
53 54 55 |
# File 'lib/cdk/components/fslider.rb', line 53 def SCAN_FMT '%g%c' end |
#setDigits(digits) ⇒ Object
45 46 47 |
# File 'lib/cdk/components/fslider.rb', line 45 def setDigits(digits) @digits = [0, digits].max end |