/**
 * 擬似コードによるマニュアル
 */

/// アイコン定数
global.niifNone = 0;     //> アイコン無し
global.niifInfo = 1;   　//> インフォアイコン
global.niifWarning = 2;  //> 警告アイコン
global.niifError = 3;    //> エラーアイコン

/**
 * Window拡張
 */
class Window {
  /**
   * タスクトレイを表示するかどうかを指定します。
   * true にするとアプリのアイコンがタスクトレイに表示され、
   * タスクトレイへのマウスアクセスをイベントで受信し、
   * タスクトレイアイコンに任意のチップスを表示できるようになります。
   * @return タスクトレイが有効なら true
   */
  property tasktrayEnable;
  

  /**
   * タスクトレイにアイコンにマウスカーソルを合わせた時に表示されるヒントを指定します。
   * @return ヒント
   */
  property tasktrayHint;


  /**
   * タスクトレイにバルーンチップをポップアップさせます。
   * @param icon アイコンの有無を定数で指定します(アイコンはタイトルが指定されている場合のみ表示されます）。
   * @param title バルーンチップのタイトルを指定します。
   * @param text バルーンチップのテキストを指定します。
   * @param timeout バルーンチップのタイムアウトをミリ秒で指定します。10秒〜30秒の範囲を超える場合はその範囲に自動的に丸め込まれます。
   */
  function popupTasktrayInfo(icon, title, text, timeout);

  /**
   * イベント：マウス移動
   * タスクトレイアイコン上でのマウス移動を検知した時に呼び出されます。
   * 呼び出し元はこの呼び出しが終了するまでロックされてしまうため、
   * 速やかに処理を終了するようにしてください。
   * @param マウスのX座標
   * @param マウスのY座標
   * @param shift マウスが移動していた時に同時に押されていたシフト系のキーのボタンの状態*/
  function onTasktrayMouseMove(x, y, shift);

  /**
   * イベント：マウスダウン
   * タスクトレイアイコン上でのマウスのボタンが押されたのを検知した時に呼び出されます。
   * 呼び出し元はこの呼び出しが終了するまでロックされてしまうため、
   * 速やかに処理を終了するようにしてください。
   * @param マウスのX座標
   * @param マウスのY座標
   * @param button 押されたボタン
   * @param shift 同時に押されていたシフト系のキーのボタンの状態*/
  function onTasktrayMouseDown(x, y, button, shift);

  /**
   * イベント：マウスアップ
   * タスクトレイアイコン上でのマウスのボタンが離されたのを検知した時に呼び出されます。
   * 呼び出し元はこの呼び出しが終了するまでロックされてしまうため、
   * 速やかに処理を終了するようにしてください。
   * @param マウスのX座標
   * @param マウスのY座標
   * @param button 押されたボタン
   * @param shift 同時に押されていたシフト系のキーのボタンの状態*/
  function onTasktrayMouseDown(x, y, button, shift);

  /**
   * イベント：マウスダブルクリック
   * タスクトレイアイコン上でのマウスのボタンがダブルクリックされたのを検知した時に呼び出されます。
   * 呼び出し元はこの呼び出しが終了するまでロックされてしまうため、
   * 速やかに処理を終了するようにしてください。
   * @param マウスのX座標
   * @param マウスのY座標
   * @param button 押されたボタン
   * @param shift 同時に押されていたシフト系のキーのボタンの状態*/
  function onTasktrayDoubleClick(x, y, button, shift);
};
