Class: VRWinComponent::Flags

Inherits:
Object
  • Object
show all
Defined in:
lib/vr/vruby.rb

Direct Known Subclasses

ExWinStyle, WinStyle

Constant Summary collapse

CONSTMOD =
"WStyle"

Instance Method Summary collapse

Constructor Details

#initialize(win) ⇒ Flags

Returns a new instance of Flags.



138
139
140
# File 'lib/vr/vruby.rb', line 138

def initialize(win)
  @win=win
end

Dynamic Method Handling

This class handles dynamic methods through the method_missing method

#method_missing(msd, *arg) ⇒ Object



142
143
144
145
146
147
148
149
150
151
152
153
154
# File 'lib/vr/vruby.rb', line 142

def method_missing(msd,*arg)
  msd=msd.to_s
  f_setter = (msd[-1..-1]=="=")
  flgname = if f_setter then msd[0..-2] else msd end.upcase
  flgname.chop! if flgname[-1..-1]=="?"
  raise "No such flags(#{flgname})" unless defined? "WStyle::#{flgname}"
  flg=eval("#{self.class::CONSTMOD}::#{flgname}")
  if f_setter then
    setter(flg,arg[0])
  else
    getter(flg)
  end
end

Instance Method Details

#getter(flagint) ⇒ Object



166
167
168
# File 'lib/vr/vruby.rb', line 166

def getter(flagint)
  (integer_getter() & flagint)==flagint
end

#setter(flagint, value) ⇒ Object



156
157
158
159
160
161
162
163
164
# File 'lib/vr/vruby.rb', line 156

def setter(flagint,value)
  f = integer_getter()
  if value then 
    f |= flagint
  else
    f &= ~flagint
  end
  integer_setter(f)
end

#valueObject



170
# File 'lib/vr/vruby.rb', line 170

def value() integer_getter; end

#value=(f) ⇒ Object



171
# File 'lib/vr/vruby.rb', line 171

def value=(f) integer_setter(f); end