4.5.22 (Dec 2008)
cell に autoWrap 属性と autoWrapType 属性を追加
これらの属性を設定することで、cell のテキストの複数行表示が可能となります。
richText属性が true に設定された UI コンポーネントで全角スペースを利用することができる
過去のバージョンでは、 richText 属性が true に設定された UI コンポーネント上で全角スペースを表現するための手段はありませんでした。
本バージョンより、リッチテキストの中で全角スペースを表現するために文字参照として「 」を利用することができるようになりました。
ただし、「 」は通常入力される全角スペースとは文字コードが異なります。
また、使用するフォントによっては、「 」による全角スペースの表示がサポートされていない場合があることに注意してください。
メモリとCPUについてパフォーマンスを向上
ClientEvent オブジェクトが null クリアされるようになります。
本バージョンより、 ClientEvent オブジェクトの振る舞いが変更されました。
従来は EventHandler#getClientEvent() にて取得可能な ClientEvent オブジェクト は次のイベントが発生するまでクリアされませんでした。
しかしながら、メモリ使用効率を向上するために本バージョンより ClientEvent オブジェクトはイベント呼び出しの後にクリアされるようになりました。
※修正の詳細は 10247 を参照ください。
このため、本バージョンより以下の場合に EventHandler#getClientEvent() で取得可能な ClientEvent が null になるケースがあります。
- イベント呼び出しスレッド以外で EventHandler#getClientEvent() を使用した場合。
- イベント呼び出しスレッドから、 EventHandler#fireEvent() を呼び出した後にEventHandler#getClientEvent() を使用した場合。
- 有効な ClientEvent オブジェクトへの参照をイベント呼び出しスレッド以外の処理で使用した場合。
EventHandler#getClientEvent() にて取得可能な ClientEvent オブジェクトの値はイベント呼び出しの処理が終了した後では取得される値について保証されません。
このため、イベント処理スレッド以外で ClientEvent を使用している場合、従来のバージョンから ClientEvent の内容については保証されていません。
ただし、従来のバージョンでは、 EventHandler#getClientEvent() を使用して取得可能な ClientEvent は前回のイベントの内容が保持されていたため、基本的には null になることはありませんでした。
この振る舞いの変更で問題が生じる可能性がある場合、Nexaweb Platform 4.5.24 の 10351 により導入された互換性のオプションを使用してください。
10231 | 機能追加 : cell のオートラップ機能の追加 |
10232 | gridTable: gridTable で row を削除したとき ClassCastException が発生する |
10240 | gridTable: gridTable で MCO によって row を削除したとき ClassCastException が発生する |
10245 | gridTable: gridTable で row を削除したときモメリリークが起きる |
10247 | レイアウトペインでウィジェットを削除したときモメリリークが起きる |
10248 | gridTable: footerRow で cell 以外のウィジェットを使うと CPU の負荷が高まる |
10249 | tree の要素に対し replace-children を行うと ArrayIndexOutOfBoundsException が発生する |
10250 | richText で全角スペースが使えない |
10272 | cell の selected 属性を true に設定ても表示が selected の状態にならない |
10278 | gridTable: gridTable が lockedColumn を持つとき水平方向にスクロールすると CPU の負荷が100%となる |
10284 | ウィンドウをリサイズしたときに popupMenu がその親メニューから離れて表示される |
10286 | 互換性 : comboBoxo が持つ listBox で ActiveLost イベントが発生しない |
10287 | 互換性 : menuItem のショートカットが動作しない |
10231 | |||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
cell のオートラップ機能の追加 | |||||||||||||
対象 | <cell/> | ||||||||||||
機能 追加 内容 | <cell/> 上で autoWrap 属性と autoWrapType 属性を正式サポート。 この機能追加のためのコード修正はありません。 従来のバージョンから非公式に autoWrap 属性と autoWrapType 属性を <cell/> の中で指定する事ができましたが、本バージョンから、 正式にサポート対象になりました。 | ||||||||||||
10232 | |||||||||||||
gridTable: gridTable で row を削除したとき ClassCastException が発生する | |||||||||||||
環境 |
| ||||||||||||
対象 | <gridTable/> | ||||||||||||
事象 内容 | <gridTable/> から XModify を使用して <row/> データを削除した場合に ClassCastException 例外が発生してしまう。 | ||||||||||||
修正 内容 | <gridTable/> から XModify を使用して <row/> データを削除しても ClassCastException 例外が発生しないように修正。 この問題は 10240 と共に修正されました。 | ||||||||||||
10240 | |||||||||||||
gridTable: gridTable で MCO によって row を削除したとき ClassCastException が発生する | |||||||||||||
環境 |
| ||||||||||||
対象 | <gridTable/> | ||||||||||||
事象 内容 | <gridTable/> から MCO を使用して <row/> データを削除した場合に ClassCastException 例外が発生してしまう。 | ||||||||||||
修正 内容 | <gridTable/> から MCO を使用して <row/> データを削除しても ClassCastException 例外が発生しないように修正。 この問題は 10232 と共に修正されました。 | ||||||||||||
10245 | |||||||||||||
gridTable: gridTable で row を削除したときモメリリークが起きる | |||||||||||||
環境 |
| ||||||||||||
対象 | <gridTable/> | ||||||||||||
事象 内容 | <gridTable/> から <row/> データを削除するとメモリリークが発生してしまう。 | ||||||||||||
修正 内容 | <gridTable/> から <row/> データを削除してもメモリリークが発生しない要に修正。 | ||||||||||||
10247 | |||||||||||||
レイアウトペインでウィジェットを削除したときモメリリークが起きる | |||||||||||||
環境 |
| ||||||||||||
対象 | ClientEvent オブジェクトのスコープ | ||||||||||||
事象 内容 | この問題は厳密にはメモリリークではありません。 この問題は ClientEvent オブジェクトが次のイベント発生まで残り続けることが原因で起こるメモリ使用効率に関する問題です。 ClientEvent オブジェクトはイベント発生元の情報を保持しているため、イベント処理によってイベント発生元を含む XML Element データを削除した場合に、 ClientEvent オブジェクト内に削除された Element への参照が残ります。 | ||||||||||||
修正 内容 | この問題を解決するために、 ClientEvent オブジェクトをイベント呼び出し処理が終了した後にクリアするように修正しました。 その結果、以下の場合に ClientEvent オブジェクトが null になる可能性があります。
| ||||||||||||
10248 | |||||||||||||
gridTable: footerRow で cell 以外のウィジェットを使うと CPU の負荷が高まる | |||||||||||||
環境 |
| ||||||||||||
対象 | <gridTable/> | ||||||||||||
事象 内容 | <gridTable/> の中で <footerRow/> を使用し、 <footerRow/> の中で <cell/> 以外の UI コンポーネントを使用した場合に CPU 負荷が高くなり、メモリ使用量が増加し続ける。 | ||||||||||||
修正 内容 | <gridTable/> の中で <footerRow/> を使用し、 <footerRow/> の中で <cell/> 以外の UI コンポーネントを使用しても CPU 負荷の不要な増加、 およびメモリ使用量の増加が起こらないように修正。 | ||||||||||||
10249 | |||||||||||||
tree の要素に対し replace-children を行うと ArrayIndexOutOfBoundsException が発生する | |||||||||||||
環境 |
| ||||||||||||
対象 | <tree/> | ||||||||||||
事象 内容 | フォーカスを持っており、ノードが選択されている <tree/> に対して <tree/> 自身の onSelect もしくは onStateChange イベント呼び出しによって <tree/> の子エレメントを <replace-children/> コマンドで置換しようとした場合に ArrayIndexOutOfBoundsException 例外が発生する場合がある。 | ||||||||||||
修正 内容 | ArrayIndexOutOfBoundsException 例外が発生しないように修正。 | ||||||||||||
10250 | |||||||||||||
richText で全角スペースが使えない | |||||||||||||
環境 |
| ||||||||||||
対象 | richText 属性を指定可能な UI コンポーネントの全て | ||||||||||||
事象 内容 | richText 属性が true の場合にテキスト値として全角スペースを表示することができなかった。 richText 属性が true の場合はテキスト値をパースする処理が実行され、パース処理によって全角スペースおよび連続するスペースが単一のスペースに置き換えられるためにこの事象が発生していました。 | ||||||||||||
修正 内容 | 表示上の全角スペースを実現するための文字参照として「 」を使用できるように修正しました。 この修正によってテキスト値の全角スペースを表示したい位置で「 」を使用する事で、全角スペースを表示することができるようになりました。 ただし、「 」によって表現される全角スペースは通常入力される全角スペースとは文字コードが異なります。 このため、表示上は全角スペースに見えても文字コードが異なるため、プログラム等から「 」によって表現される全角スペースは入力等による全角スペースと同等に扱うことはできません。 また、使用するフォントによっては、「 」による全角スペースの表示がサポートされていない場合があることに注意してください。 | ||||||||||||
10272 | |||||||||||||
cell の selected 属性を true に設定しても表示が selected の状態にならない | |||||||||||||
環境 |
| ||||||||||||
対象 | <cell/> 以外の UI コンポーネントが <cell/> の変わりに使用されており、 selectionMode 属性が "multiCell" もしくは "singleCell" に設定されており、 初期表示時にいずれかの <cell/> が selected 属性値として "true" を持っている <table/>, <treeTable/>, <gridTable/> | ||||||||||||
事象 内容 | 初期表示時に selected 属性値が "true" に設定されている <cell/> が選択状態として表示されなければならないが、 <cell/> が選択状態にならない。 | ||||||||||||
修正 内容 | selected 属性値が "true" に設定されている <cell/> が存在している場合、必ず選択状態として表示されるように修正。 | ||||||||||||
10278 | |||||||||||||
gridTable: gridTable が lockedColumn を持つとき水平方向にスクロールすると CPU の負荷が100%となる | |||||||||||||
環境 |
| ||||||||||||
対象 | <lockedColumn&/gt; をカラムデータとして持っており、横スクロールバーが表示されている <gridTable/> | ||||||||||||
事象 内容 | <lockedColumn&/gt; をカラムデータとして持っている <gridTable/> を横スクロールバーにて横スクロールした場合に CPU 負荷が 100% になってしまう。 | ||||||||||||
修正 内容 | CPU 負荷が不要に上がらないように修正。 | ||||||||||||
10284 | |||||||||||||
ウィンドウをリサイズしたときに popupMenu がその親メニューから離れて表示される | |||||||||||||
環境 |
| ||||||||||||
対象 | <menu/> によって表示されるポップアップメニュー | ||||||||||||
事象 内容 | <menu/> によって表示されるポップアップメニューが開いている状態で、ブラウザウインドウをリサイズするとポップアップメニューの表示位置が <menu/> の表示位置に伴って自動的に移動しない。 このため、 <menu/> の表示位置と、ポップアップメニューの表示位置が異なる位置で表示される状況をユーザーオペレーションによって作り出すことができてしまう。 | ||||||||||||
修正 内容 | <menu/> がブラウザウインドウのリサイズによって移動した場合、 <menu/> によって表示されているポップアップメニューも一緒に移動するように修正。 | ||||||||||||
10286 | |||||||||||||
互換性 : comboBox が持つ listBox で ActiveLost イベントが発生しない | |||||||||||||
環境 |
| ||||||||||||
対象 | <comboBox/> の中の <listBox/> に onActiveLost イベントが設定されている場合。 | ||||||||||||
事象 内容 | <comboBox/> の中の <listBox/> の onActiveLost イベントが Nexaweb Platform 4.5.20 以上を使用した場合、発生しなくなりました。 Nexaweb Platform 4.5.19 以前を使用している場合、<comboBox/> の中の <listBox/> の onActiveLost イベントが発生していました。 | ||||||||||||
修正 内容 | <comboBox/> の中の <listBox/> の onActiveLost イベントが発生する用に修正。 この問題は Nexaweb Platform 4.5.20 の 10192 の修正によって生じるようになった互換性問題になります。 10192 の修正によって内部でポップアップメニューの表示をコントロールする処理に対して修正が行われており、ポップアップメニューを閉じる際にイベントがクリアされることが原因でこの問題が起こりました。 | ||||||||||||
10287 | |||||||||||||
互換性 : menuItem のショートカットが動作しない | |||||||||||||
環境 |
| ||||||||||||
対象 | <menuItem/> のショートカットキー | ||||||||||||
事象 内容 | <menuItem/> に shortcut 属性を使用してショートカットキーを設定している場合に、一度でもショートカットキーを設定している <menuItem/> を開いた場合、以後ショートカットキーが効かなくなってしまう。 | ||||||||||||
修正 内容 | <menuItem/> を開いた後でもショートカットキーが有効になるように修正。 この問題は、 Nexaweb Platform 4.5.20 の 10101 の修正によって生じるようになった互換性問題になります。 10101 の修正によって内部でショートカットキーをコントロールする処理に対して修正が行われており、 <menuItem/> を表示した場合にショートカットキーをコントロールする処理が呼び出されるようになりました。 10101 の修正のためにショートカットキーをコントロールする処理の呼び出しが必要になるのですが、この呼び出しの中で <menuItem/> に対するショートカットキーの追加と削除を行う処理が不要に呼び出されていた事が原因でこの問題が起こりました。 |