YKLook説明書 クラス解説 YKLookTimer 機能別   ABC
ページ内リンク一覧   スーパークラス   クラスメソッド   インスタンスメソッド   その他の項目  

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 )

YKLookSwingBase.yk_find_objects の説明をご覧ください。




yk_find_objects_frame( frame )  
yk_find_objects_frame( frame , tagname )
yk_find_objects_frame( frame , tagname , tagno )

YKLookSwingBase.yk_find_objects_frame の説明をご覧ください。




yk_look( tagname )  
yk_look( tagname , tagno )

YKLookSwingBase.yk_look の説明をご覧ください。




yk_look_frame( frame , tagname )  
yk_look_frame( frame , tagname , tagno )

YKLookSwingBase.yk_look_frame の説明をご覧ください。



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()  

タイマーを初期化します。
具体的には以下の処理をおこないます。




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()  

タイマーをリセットします。
具体的には以下の処理をおこないます。




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()  

タイマーの設定時間を返します。
これは、 yk_set_total() yk_add_total() で指定された値を返します。



なし



ページ内リンク一覧   スーパークラス   クラスメソッド   インスタンスメソッド   その他の項目  
YKLook説明書 クラス解説 YKLookTimer 機能別   ABC


Copyright (c) 2003-2010 YorozuKotowariYa Ltd.