Class: CDK::FSCALE

Inherits:
SCALE show all
Defined in:
lib/cdk/fscale.rb

Direct Known Subclasses

DSCALE

Instance Attribute Summary

Attributes inherited from CDKOBJS

#BXAttr, #HZChar, #LLChar, #LRChar, #ULChar, #URChar, #VTChar, #accepts_focus, #binding_list, #border_size, #box, #exit_type, #has_focus, #is_visible, #screen, #screen_index

Instance Method Summary collapse

Methods inherited from SCALE

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

#SCREEN_XPOS, #SCREEN_YPOS, #bind, #bindableObject, #checkBind, #cleanBindings, #cleanTitle, #destroy, #draw, #drawTitle, #erase, #focus, #getBox, #getc, #getch, #inject, #isBind, #move, #move_specific, #position, #refreshData, #saveData, #setBXattr, #setBackgroundColor, #setBox, #setExitType, #setHZchar, #setLLchar, #setLRchar, #setPostProcess, #setPreProcess, #setTitle, #setULchar, #setURchar, #setVTchar, #unbind, #unfocus, #validCDKObject, #validObjType

Constructor Details

#initialize(cdkscreen, xplace, yplace, title, label, field_attr, field_width, start, low, high, inc, fast_inc, digits, box, shadow) ⇒ FSCALE

Returns a new instance of FSCALE.


5
6
7
8
9
10
# File 'lib/cdk/fscale.rb', line 5

def initialize(cdkscreen, xplace, yplace, title, label, field_attr,
    field_width, start, low, high, inc, fast_inc, digits, box, shadow)
  @digits = digits
  super(cdkscreen, xplace, yplace, title, label, field_attr, field_width,
      start, low, high, inc, fast_inc, box, shadow)
end

Instance Method Details

#drawFieldObject


12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
# File 'lib/cdk/fscale.rb', line 12

def drawField
  @field_win.werase

  # Draw the value in the field.
  digits = [@digits, 30].min
  format = '%%.%if' % [digits]
  temp = format % [@current]
  
  Draw.writeCharAttrib(@field_win,
      @field_width - temp.size - 1, 0, temp, @field_attr,
      CDK::HORIZONTAL, 0, temp.size)

  self.moveToEditPosition(@field_edit)
  @field_win.wrefresh
end

#getDigitsObject


32
33
34
# File 'lib/cdk/fscale.rb', line 32

def getDigits
  return @digits
end

#object_typeObject


40
41
42
# File 'lib/cdk/fscale.rb', line 40

def object_type
  :FSCALE
end

#SCAN_FMTObject


36
37
38
# File 'lib/cdk/fscale.rb', line 36

def SCAN_FMT
  '%g%c'
end

#setDigits(digits) ⇒ Object


28
29
30
# File 'lib/cdk/fscale.rb', line 28

def setDigits(digits)
  @digits = [0, digits].max
end