|
Platform 4.5.13 MR
2008年3月リリース 新しい機能 (Java)
DisplayService インターフェースにメソッドを追加 : (int) getUiUpdateFreezeCount() DisplayService.freezeUiUpdates(true) は、UI DOM の更新を最適化するために、画面の更新を一時的に停止する。 このメソッドの標準的な使い方(パターン)は、DisplayService.freezeUiUpdates(true) で停止した描画を finally ブロックに記述した、 DisplayService.freezeUiUpdates(false) で再開させる方法である。 画面更新の停止がネストしている場合、そのネストした回数をカウンタによって知ることができる。 このカウンタ(フリーズカウンタ)が、0なら描画は停止されておらず、UI DOMを更新するとその更新は、画面に反映されると判断できる。
注意点 新しい属性 "navigationWrapPolicy" "navigationWrapPolicy" によって、table、 tree、treeTable のcell について、キーボードによるラップ(移動)の振る舞いを指定することができる(この指定は、シングルセレクションモードのときに有効となる)。次の、4種類の振る舞いがある。
新しい属性 "dragIdList" dragIdList には、ドラッグ対象となるウィジェットのid をコンマで区切りで指定する。 この属性は、マルチドラッグがサポートされているウィジェット(tableのrowと、listItem)に対して有効となる。 dragIdList は、 onDragStart、onDragEnd、onDragDroそれぞれのイベントのパラメータとなる。これまでは、複数行ドラッグしても、ひとつのdragId だけしか利用できなかった。機能改善 (Java)
デバッグログの変更 Platform 4.5.8 で機能していなかったデバッグログは、Platform 4.5.13 で再び動作するようになった。デバッグログは、nexaweb-client.xml で設定する。
注意点 IME バッファに関する問題 onBeforeActiveLost() でsetAttribute() を呼び出したときにIMEのバッファがクリアされない問題があった。 onBeforeActiveLost()ハンドラで textField の text属性がリセットされたとき、テキストが確定されていない状態でIMEのバッファをクリアするよう修正した。 確定されていないテキストは、再び入力を開始しても表示されなくなる。振る舞いの変更 (Java)
"XUpdate" のログ(modificationsログ)名を"XModify"に変更した XMLの更新で記録されるログ名をXModifyに変更した。 これまでロギングは、実装したクラスに関連して、"XUpdate"が利用されていたが、今後は"XModify"とする。 クライアントサイドでログを記録する場合、nexaweb-client.xmlで、"XUpdate"を指定せず、"XModify"を指定する。nexaweb-client.xmlのロギング設定の例: <log name="XModify" log-level="debug"/> onStateChange の振る舞いを変更 dragIdList を新規に追加したことで、onStateChange と listBox、table、treeTableを選択したときの振る舞いを見直す必要があった。 onStateChangeは、ウィジェットが実際に変化したとき(例えば、選択された状態が変化したとき)にのみ発生する。 単一のウィジェットが選択されているだけでは、そのウィジェットで何度マウスクリックがあっても、onStateChangeは発生しない。 しかし、マルチプル(複合)ウィジェットが選択されているときの状態の変化については、その振る舞いは異なる。 マルチプルウィジェットが選択された状態で、onMouseDown が発生した場合、どのウィジェットも選択状態は解除されない。 しかし、その後 onMouseUp が発生し、他のすべてのウィジェットの選択状態が解除されたときは、クリックされたウィジェットの状態は変化せず、選択された状態のままとなる。マルチプルウィジェットが選択された状態で、その中のひとつのウィジェットを CTRL + マウスクリック(mouse down)すると、 そのウィジェットの選択は解除され、onStateChange イベントが発生する。 マルチプルウィジェットではなく、ひとつのウィジェットだけが選択されている状態でも、そのウィジェットの選択は解除され、onStateChange イベントが発生する。 onStateChange の振る舞いについて、これまでの動作との互換性を保つための設定をnexaweb-client.xml で指定することができる。 これまでの動作では、選択状態の row、cell、listItemでクリックするとonStateChangeが発生した。次のフラグを "true" にすることで、この動作と互換性を保つことができる。 nexaweb-client.xmlの互換性指定フラグ: ensure-pre-bugfix-table-statechange-behavior-onmousedown
注意点 selectionMode="singleRow" でラップしない selectionMode="singleRow" が設定されている table で、矢印キーで垂直方向にラップし水平に移動(セルをたてに循環しながらカラムを移動)しないようになった。 最終行を選択し、下矢印キーを押しても最初の行に戻ることはなく選択状態も変わらない。 また、最初の行を選択肢、上矢印キーを押しても最終行に移動することはなく選択状態も変わらない。修正項目 (Java)
修正の詳細 (Java)
|