YKLookTimer
タイマーオブジェクトです。
タイマーの設定時間になるとタイマーイベントを送信しコールバック用メソッドを呼び出す機能です。
タイマーの設定時間以外にも、途中経過の任意の時点でタイマーイベントを送信することもできます。
このクラスを使うときは、
swingtimer をロードしてください。
例 |
require 'yklook/swing'
require 'yklook/swingtimer'
|
注意: |
このクラスは追加機能です。当社ライセンスに付属します。
|
クラスメソッド:
new
yk_find_objects
yk_find_objects_frame
yk_look
yk_look_frame
インスタンスメソッド:
yk_add_total
yk_clear
yk_elapsed_time
yk_fire
yk_is_active
yk_reset
yk_set_button_clear
yk_set_button_reset
yk_set_button_start
yk_set_button_stop
yk_set_listener
yk_set_repeat
yk_set_total
yk_set_trigger
yk_set_updown
yk_start
yk_stop
yk_total
その他の項目:
なし
Object (Ruby 組み込みのクラス。すべてのオブジェクトのスーパークラス)
┃
┗ YKLookSwingBase (YKLook のすべてのGUIオブジェクトの共通クラス)
┃
┗ YKLookTimer (このクラス)
new()
new( sec )
インスタンスを生成します。
引数の
sec は整数で、タイマーの設定時間を秒数で指定します。
引数を省略したときは、別途
yk_set_total()
で指定してください。
実際にタイマーを開始するには
yk_start()
を呼び出してください。
yk_find_objects()
yk_find_objects( tagname )
yk_find_objects( tagname , tagno )
yk_find_objects_frame( frame )
yk_find_objects_frame( frame , tagname )
yk_find_objects_frame( frame , tagname , tagno )
yk_look( tagname )
yk_look( tagname , tagno )
yk_look_frame( frame , tagname )
yk_look_frame( frame , tagname , tagno )
yk_add_total( sec )
タイマーの設定時間を加算します。
引数の
sec は整数で秒数を指定します。
以下の例はいずれも同じ意味になります。
例1 |
t = YKLookTimer.new( 60 )
|
例2 |
t = YKLookTimer.new()
t.yk_set_total( 10 )
t.yk_add_total( 20 )
t.yk_add_total( 30 )
|
例3 |
t = YKLookTimer.new()
t.yk_set_total( 60 )
|
yk_clear()
タイマーを初期化します。
具体的には以下の処理をおこないます。
-
タイマーを開始していたら停止する。
-
タイマーの設定時間を無効にする。
-
タイマーの設定時間以外のタイマーイベント送信を無効にする。
-
繰り返しタイマーの指定を1回限りのタイマーとする。
-
タイマー経過秒数を0にする。
yk_elapsed_time()
タイマーを開始してからの経過秒数を返します。
このメソッドは、コールバック時にのみ正確な値を返します。
このタイマー自体のコールバック時だけでなく、他のGUIオブジェクトのコールバック時でも正確な値を返します。
yk_fire()
タイマーイベントを送信したときの時間を秒数で返します。
yk_set_updown()
の指定によって秒数の意味が変わります。
以下の例を参考にしてください。
例 |
t = YKLookTimer.new()
t.yk_set_updown( 'up' )
|
この例の場合
yk_fire()
が返す値は、タイマー開始からの経過時間を返します。
例 |
t = YKLookTimer.new()
t.yk_set_updown( 'down' )
|
この例の場合
yk_fire()
が返す値は、タイマー終了までの残り時間を返します。
このメソッドは、このタイマー自体のタイマーイベント送信に伴うコールバック時にのみ正確な値を返します。
yk_is_active()
タイマーが活動中のときは true を返し、そうでなければ false を返します。
一時停止中のときは true を返します。
このメソッドは、コールバック時にのみ正確な値を返します。
このタイマー自体のコールバック時だけでなく、他のGUIオブジェクトのコールバック時でも正確な値を返します。
yk_reset()
タイマーをリセットします。
具体的には以下の処理をおこないます。
-
タイマーを開始していたら停止する。
-
タイマー経過秒数を0にする。
yk_set_button_clear( prm_button )
yk_clear()
を自動的に呼び出すボタンオブジェクトを指定します。
引数の
prm_button は、
YKLookButton
クラスのオブジェクトです。
この指定により、ボタンを押すと、コールバック用メソッドを介さずに直接
yk_clear()
を実行します。
引数に
nil を指定すると、この機能を解除します。
このボタンに対してコールバック用メソッドが指定されているときは、先に
yk_clear()
を実行し、その後にコールバック用メソッドを呼び出します。
タイマー処理はその特性上、時間的な制約がありますので、コールバックを介さずに直接操作できるようにしています。
yk_set_button_reset( prm_button )
yk_reset()
を自動的に呼び出すボタンオブジェクトを指定します。
引数の
prm_button は、
YKLookButton
クラスのオブジェクトです。
この指定により、ボタンを押すと、コールバック用メソッドを介さずに直接
yk_reset()
を実行します。
引数に
nil を指定すると、この機能を解除します。
このボタンに対してコールバック用メソッドが指定されているときは、先に
yk_reset()
を実行し、その後にコールバック用メソッドを呼び出します。
タイマー処理はその特性上、時間的な制約がありますので、コールバックを介さずに直接操作できるようにしています。
yk_set_button_start( prm_button )
yk_start()
を自動的に呼び出すボタンオブジェクトを指定します。
引数の
prm_button は、
YKLookButton
クラスのオブジェクトです。
この指定により、ボタンを押すと、コールバック用メソッドを介さずに直接
yk_start()
を実行します。
引数に
nil を指定すると、この機能を解除します。
このボタンに対してコールバック用メソッドが指定されているときは、先に
yk_start()
を実行し、その後にコールバック用メソッドを呼び出します。
タイマー処理はその特性上、時間的な制約がありますので、コールバックを介さずに直接操作できるようにしています。
yk_set_button_stop( prm_button )
yk_stop()
を自動的に呼び出すボタンオブジェクトを指定します。
引数の
prm_button は、
YKLookButton
クラスのオブジェクトです。
この指定により、ボタンを押すと、コールバック用メソッドを介さずに直接
yk_stop()
を実行します。
引数に
nil を指定すると、この機能を解除します。
このボタンに対してコールバック用メソッドが指定されているときは、先に
yk_stop()
を実行し、その後にコールバック用メソッドを呼び出します。
タイマー処理はその特性上、時間的な制約がありますので、コールバックを介さずに直接操作できるようにしています。
yk_set_listener( method_name )
コールバック用のメソッドを文字列またはシンボルで指定します。
nil を指定すると、コールバック用メソッドを未指定にします。
名前の先頭が
'yk' で始まるものは指定できません。
コールバック用のメソッドは、プログラム製作者が
YKLookMain
や
YKLookMainFrame
のサブクラスに定義する必要があります。
コールバック用のメソッドには引数がひとつあり、
YKLookEventTimer
クラスのオブジェクトです。
コールバック用メソッドが呼び出されるのは以下のときです。
yk_set_repeat( bool )
1回限りのタイマーか、繰り返しタイマーかを指定します。
引数の bool が false のとき、1回限りのタイマーです。
引数の bool が true のとき、繰り返しタイマーです。
デフォルトは1回限りのタイマーです。
yk_set_total( sec )
タイマーの設定時間を指定します。
引数の
sec は整数で秒数を指定します。
例 |
t = YKLookTimer.new()
t.yk_set_total( 180 )
|
この例では、3分の設定時間です。
yk_set_trigger( sec )
タイマーの設定時間以外でタイマーイベントを送信する時間を指定します。
引数の
sec は常に配列です。配列の要素数は任意です。
この配列の要素は整数で秒数を指定します。
yk_set_updown()
の指定によって秒数の意味が変わります。
以下の例を参考にしてください。
例 |
t = YKLookTimer.new()
t.yk_set_updown( 'up' )
t.yk_set_trigger( [90] )
|
この例では、タイマー開始してから90秒後にタイマーイベントを送信しコールバック用メソッドを呼び出します。
例 |
t = YKLookTimer.new()
t.yk_set_updown( 'down' )
t.yk_set_trigger( [90] )
|
この例では、タイマー開始後、残り時間が90秒になったときにタイマーイベントを送信しコールバック用メソッドを呼び出します。
このメソッドのデフォルト値は要素数が0の空の配列です。
このとき、タイマーの設定時間以外でタイマーイベントを送信することはありません。
実際に呼び出すコールバック用メソッドを指定するには、
yk_set_listener()
を使ってください。
yk_set_updown( mode )
タイマーの意味を、0秒から始めて設定時間で終わるように意味するか、設定時間から始めて0秒で終わるように意味するかを指定します。
指定するときは、タイマー開始前に指定してください。
このメソッドは
yk_set_trigger()
と
yk_fire()
の意味を変えます。
それ以外には影響ありません。
引数の
mode は
true または
false または以下の文字列のいずれかで指定してください。
指定 |
意味 |
true 'UP' |
0から始める(カウントアップタイマー) |
false 'DOWN' |
0で終わる(カウントダウンタイマー) |
文字列で指定するときの英字の大文字小文字はどちらでも受け付けます。
YKLook 内部では英字の先頭1文字だけを見ています。
デフォルトは
false で、0で終わるカウントダウンタイマーです。
yk_start()
タイマーを開始します。
もし
yk_stop()
により一時停止していたときは、タイマーを再開します。
一時停止していても、再開ではなくタイマーの設定時間の最初から開始したいときは、先に
yk_reset()
を呼び出してください。
yk_stop()
タイマーを停止します。厳密に言うと一時停止です。
このとき、タイマーの経過秒数は維持したままですので、この状態で
yk_start()
を実行すると、この秒数からタイマーを再開します。
経過秒数をリセットするには
yk_reset()
を実行してください。
yk_total()
なし
Copyright (c) 2003-2010 YorozuKotowariYa Ltd.