JP4679834B2 - Gui設計装置及びプログラム - Google Patents
Gui設計装置及びプログラム Download PDFInfo
- Publication number
- JP4679834B2 JP4679834B2 JP2004128556A JP2004128556A JP4679834B2 JP 4679834 B2 JP4679834 B2 JP 4679834B2 JP 2004128556 A JP2004128556 A JP 2004128556A JP 2004128556 A JP2004128556 A JP 2004128556A JP 4679834 B2 JP4679834 B2 JP 4679834B2
- Authority
- JP
- Japan
- Prior art keywords
- attribute
- state
- display component
- display
- event processing
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Lifetime
Links
- 230000007704 transition Effects 0.000 claims description 324
- 238000000034 method Methods 0.000 claims description 63
- 230000008569 process Effects 0.000 claims description 63
- 239000002131 composite material Substances 0.000 description 156
- 230000006399 behavior Effects 0.000 description 48
- 230000004044 response Effects 0.000 description 6
- 238000010586 diagram Methods 0.000 description 5
- 230000009471 action Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 239000000284 extract Substances 0.000 description 2
- 238000007562 laser obscuration time method Methods 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
Images
Description
図1は、この発明の実施の形態1によるGUI設計装置の構成を示すブロック図である。本実施の形態1によるGUI設計装置は、状態集合編集部(設計部)1、イベント処理編集部(設計部)2、基本表示部品格納部3、状態表示編集部(設計部)4、複合表示部品格納部(記憶部)5、複合表示部品実行部(実行部)6、表示部品表示期間決定部(部品表示制御部、実行制御部)7、イベント処理有効期間決定部(イベント処理有効性制御部、実行制御部)8及び属性編集部9から構成される。
ここでは、図2に示すようなGUIを設計する場合を説明する。図2は、状態集合編集部1によりGUI設計画面上に表示された複合表示部品を示す図であり、当該複合表示部品は状態1〜3にそれぞれ対応する3つのウィンドウからなる。これに対して設計記述したいふるまいは、次の通りである。
上述した例では、図2に示す「状態1に対応するメインウィンドウ中の詳細ボタンをマウスでクリックすると、メインウィンドウに加えて状態2に対応するサブウィンドウが開く」というふるまいを記述した。
以降では、図3に示すGUI設計により作成された複合表示部品を動作させる場合を例として説明する。なお、上述した処理にて、この複合表示部品には、「状態1に対応するメインウィンドウが最初に開き、このメインウィンドウ中の詳細ボタンをマウスでクリックすると、メインウィンドウに加えて状態2に対応するサブウィンドウが開く。また、メインウィンドウ中の詳細ボタンをクリックしてメインウィンドウ及びサブウィンドウの両方が開いた状態で、詳細ボタンをさらにクリックする度に、状態2に対応するサブウィンドウが一つずつ表示され、サブウィンドウが所定数分だけ表示されると、これを超えるサブウィンドウを表示しない。さらに、メインウィンドウ中の終了ボタンをクリックすると、サブウィンドウが開いているかに関わらず、状態3に対応する終了ウィンドウが表示され、その他のウィンドウが消去される。」というふるまいが設計記述されているものとする。
(2)状態属性編集部12は、図3に示す複合表示部品で、遷移元の状態1における表示部品を残しつつ、遷移先の状態2における表示部品を表示させるので、例えば遷移元の状態1の属性Qに真値を設定する。表示部品表示期間決定部7は、この状態1の属性Qの値に従って状態1から状態2への遷移時に遷移元の状態1における表示部品を消去しないように複合表示部品実行部6を制御する。
(3)状態遷移属性編集部13は、図3に示す複合表示部品で、遷移元の状態1における表示部品を残しつつ、遷移先の状態2における表示部品を表示させるので、例えば状態1から状態2への状態遷移の属性Rに真値を設定する。表示部品表示期間決定部7は、この状態1から状態2への状態遷移における属性Rの値に従ってその遷移時に遷移元の状態1における表示部品を消去しないように複合表示部品実行部6を制御する。
(4)表示部品属性編集部10は、図3に示す複合表示部品で、遷移元の状態1における表示部品を残しつつ、遷移先の状態2における表示部品を表示させるので、例えば状態1における各表示部品(メインウィンドウ中の詳細ボタンや終了ボタン)の属性Sに真値を設定する。表示部品表示期間決定部7は、この状態1から状態2への状態遷移時に状態1の各表示部品の属性Sの値に従ってその消去を行わないように複合表示部品実行部6を制御する。
(5)イベント処理属性編集部11は、図3に示す複合表示部品で、遷移元の状態1における表示部品を残しつつ、遷移先の状態2における表示部品を表示させるので、例えば状態1から状態2への状態遷移に伴うイベント処理(詳細ボタンのクリック)における属性Tに真値を設定する。表示部品表示期間決定部7は、この状態1から状態2への状態遷移を伴うイベント処理の属性Tの値に従って、その起点となる状態1の表示部品を消去しないように複合表示部品実行部6を制御する。
(2)状態属性編集部12は、図3に示す複合表示部品で、状態1から状態2への遷移後においても「状態1における詳細ボタンをクリックにより状態2の詳細ウィンドウを表示させる」というイベント処理を無効化しないので、例えば遷移元の状態1の属性Q2に真値を設定する。イベント処理有効期間決定部8では、この状態1の属性Q2の値に従って状態1から状態2への遷移後であっても状態1におけるイベント処理を無効化しないように複合表示部品実行部6を制御する。
(3)状態遷移属性編集部13は、図3に示す複合表示部品で、状態1から状態2への遷移後においても「状態1における詳細ボタンをクリックにより状態2の詳細ウィンドウを表示させる」というイベント処理を無効化しないので、例えば状態1から状態2への状態遷移の属性R2に真値を設定する。イベント処理有効期間決定部8では、この属性R2の値に従って状態1から状態2への遷移後であっても状態1におけるイベント処理を無効化しないように複合表示部品実行部6を制御する。
(4)表示部品属性編集部10は、図3に示す複合表示部品で、状態1から状態2への遷移後においても「状態1における詳細ボタンをクリックにより状態2の詳細ウィンドウを表示させる」というイベント処理を無効化しないので、例えば状態1において表示すべき表示部品の属性S2に真値を設定する。イベント処理有効期間決定部8では、この属性S2の値に従って状態1から状態2への遷移後であっても状態1におけるイベント処理を無効化しないように複合表示部品実行部6を制御する。
(5)イベント処理属性編集部11は、図3に示す複合表示部品で、状態1から状態2への遷移後においても「状態1における詳細ボタンをクリックにより状態2の詳細ウィンドウを表示させる」というイベント処理を無効化しないので、例えば状態1から状態2への状態遷移に伴うイベント処理(詳細ボタンのクリック)における属性T2に真値を設定する。イベント処理有効期間決定部8は、この状態1から状態2への状態遷移を伴うイベント処理の属性T2の値に従って状態1におけるイベント処理を無効化しないように複合表示部品実行部6を制御する。
(2)状態遷移属性編集部13は、図3に示す複合表示部品で、遷移先の状態2における表示部品が所定回数分表示されると、これを超える表示を行わないので、例えば状態1から状態2への状態遷移の属性R1に真値を設定する。表示部品表示期間決定部7は、所定回数を超える状態1から状態2への遷移が実行されると、この状態遷移の属性R1の値に従って遷移先の状態2における表示部品を消去するように複合表示部品実行部6を制御する。
(3)表示部品属性編集部10は、図3に示す複合表示部品で、遷移先の状態2における表示部品が所定回数分表示されると、これを超える表示を行わないので、例えば遷移先の状態2における表示部品(詳細ウィンドウ)の属性S1に真値を設定する。表示部品表示期間決定部7は、所定回数を超える状態1から状態2への遷移が実行されると、状態2における表示部品の属性S1の値に従ってこれを消去するように複合表示部品実行部6を制御する。
(4)イベント処理属性編集部11は、図3に示す複合表示部品で、遷移先の状態2における表示部品が所定回数分表示されると、これを超える表示を行わないので、例えば状態1から状態2への状態遷移に伴うイベント処理(詳細ボタンのクリック)の属性T1に真値を設定する。表示部品表示期間決定部7は、所定回数を超える状態1から状態2への遷移が実行されると、この遷移に伴うイベント処理の属性T1の値に従って遷移先の状態2における表示部品を消去するように複合表示部品実行部6を制御する。
(2)状態遷移属性編集部13は、図3に示す複合表示部品で、遷移先の状態2における表示部品が所定回数分表示されると、これを超える表示を行わさせないために、その表示の起因となるイベント処理を無効化するので、例えば状態1から状態2への状態遷移の属性R3に真値を設定する。イベント処理有効期間決定部8は、所定回数を超える状態1から状態2への遷移が指定されると、この状態遷移の属性R3の値に従ってその起因となるイベント処理を無効化するように複合表示部品実行部6を制御する。
(3)表示部品属性編集部10は、図3に示す複合表示部品で、遷移先の状態2における表示部品が所定回数分表示されると、これを超える表示を行わさせないために、その表示の起因となるイベント処理を無効化するので、例えば遷移先の状態2における表示部品(詳細ウィンドウ)の属性S3に真値を設定する。イベント処理有効期間決定部8は、所定回数を超える状態1から状態2への遷移が指定されると、状態2における表示部品の属性S3の値に従って上記状態遷移の起因となるイベント処理を無効化するように複合表示部品実行部6を制御する。
(4)イベント処理属性編集部11は、図3に示す複合表示部品で、遷移先の状態2における表示部品が所定回数分表示されると、これを超える表示を行わさせないために、その表示の起因となるイベント処理を無効化するので、当該イベント処理の属性T3に真値を設定する。イベント処理有効期間決定部8は、所定回数を超える状態1から状態2への遷移が指定されると、上記イベント処理の属性T3の値に従ってこれを無効化するように複合表示部品実行部6を制御する。
Claims (2)
- GUI操作画面の表示部品レイアウト及びこのレイアウトの状態遷移に関する設計データの入力を受け付け、この入力データを反映させたGUI設計データを生成する設計部と、
上記GUI操作画面での表示部品レイアウトの状態における表示部品の表示の可否、上記表示部品レイアウトの各状態遷移における表示部品の表示の可否、各表示部品の上記表示部品レイアウトの状態遷移に伴う表示の可否、各イベント処理に伴う表示部品の表示の可否、上記表示部品レイアウトの状態におけるイベント処理の無効化の可否、上記表示部品レイアウトの各状態遷移に伴うイベント処理の無効化の可否、各表示部品における上記表示部品レイアウトの状態遷移に伴うイベント処理の無効化の可否、及び各イベント処理の状態遷移に伴う無効化の可否に関する設計データの入力を受け付け、この入力データ内容を反映させるための属性を上記GUI設計データに設定する属性編集部と、
上記設計部により生成され、上記属性編集部により上記属性が設定されたGUI設計データを格納する記憶部と、
上記記憶部からGUI設計データを読み込んでGUI操作画面上での表示部品のふるまいを実行する実行部と、
上記実行部がGUI操作画面上での表示部品のふるまいを実行するにあたり、上記属性編集部により上記GUI設計データに設定された、上記表示部品レイアウトの状態の属性、状態遷移の属性、表示部品の属性、及びイベント処理の属性の内容に従って、上記表示部品レイアウトの状態遷移に伴う表示部品の表示の可否及びイベント処理の無効化の可否を制御する実行制御部とを備え、
上記属性編集部は、
各表示部品の上記表示部品レイアウトの状態遷移に伴う表示の可否、及び、各表示部品における上記表示部品レイアウトの状態遷移に伴うイベント処理の無効化の可否に関する設計データ内容を反映させるための属性を、上記表示部品の属性として設定する表示部品属性編集部と、
上記表示部品レイアウトの状態における、表示部品の表示の可否及びイベント処理の無効化の可否に関する設計データ内容を反映させるための属性を、上記表示部品レイアウトの状態の属性として設定する状態属性編集部と、
上記表示部品レイアウトの各状態遷移における、表示部品の表示の可否及びイベント処理の無効化の可否に関する設計データ内容を反映させるための属性を、上記状態遷移の属性として設定する状態遷移属性編集部と、
各イベント処理の状態遷移に伴う無効化の可否に関する設計データ内容を反映させるための属性を、上記イベント処理の属性として設定するイベント処理属性編集部とを有し、
上記実行制御部は、
上記属性編集部によりGUI設計データに設定された、上記表示部品レイアウトの状態の属性、上記状態遷移の属性、及び上記表示部品の属性の内容に従って、上記実行部が実行する上記GUI操作画面上での表示部品のふるまいにおける、上記表示部品レイアウトの状態遷移に伴う上記表示部品の表示の可否を制御する部品表示制御部と、
上記属性編集部により上記GUI設計データに設定された、上記表示部品レイアウトの状態の属性、上記状態遷移の属性、上記表示部品の属性、及び上記イベント処理の属性の内容に従って、上記実行部が実行する上記GUI操作画面上での表示部品のふるまいにおける、上記表示部品レイアウトの状態遷移に伴うイベント処理の無効化の可否を制御するイベント処理有効性制御部とを有するGUI設計装置。 - GUI操作画面の表示部品レイアウト及びこのレイアウトの状態遷移に関する設計データの入力を受け付け、この入力データを反映させたGUI設計データを生成する設計部と、
上記GUI操作画面での表示部品レイアウトの状態における表示部品の表示の可否、上記表示部品レイアウトの各状態遷移における表示部品の表示の可否、各表示部品の上記表示部品レイアウトの状態遷移に伴う表示の可否、各イベント処理に伴う表示部品の表示の可否、上記表示部品レイアウトの状態におけるイベント処理の無効化の可否、上記表示部品レイアウトの各状態遷移に伴うイベント処理の無効化の可否、各表示部品における上記表示部品レイアウトの状態遷移に伴うイベント処理の無効化の可否、及び各イベント処理の状態遷移に伴う無効化の可否に関する設計データの入力を受け付け、この入力データ内容を反映させるための属性を上記GUI設計データに設定する属性編集部と、
上記設計部により生成され、上記属性編集部により上記属性が設定されたGUI設計データを格納する記憶部と、
上記記憶部からGUI設計データを読み込んでGUI操作画面上での表示部品のふるまいを実行する実行部と、
上記実行部がGUI操作画面上での表示部品のふるまいを実行するにあたり、上記属性編集部により上記GUI設計データに設定された、上記表示部品レイアウトの状態の属性、状態遷移の属性、表示部品の属性、及びイベント処理の属性の内容に従って、上記表示部品レイアウトの状態遷移に伴う表示部品の表示の可否及びイベント処理の無効化の可否を制御する実行制御部とを備え、
上記属性編集部は、
各表示部品の上記表示部品レイアウトの状態遷移に伴う表示の可否、及び、各表示部品における上記表示部品レイアウトの状態遷移に伴うイベント処理の無効化の可否に関する設計データ内容を反映させるための属性を、上記表示部品の属性として設定する表示部品属性編集部と、
上記表示部品レイアウトの状態における、表示部品の表示の可否及びイベント処理の無効化の可否に関する設計データ内容を反映させるための属性を、上記表示部品レイアウトの状態の属性として設定する状態属性編集部と、
上記表示部品レイアウトの各状態遷移における、表示部品の表示の可否及びイベント処理の無効化の可否に関する設計データ内容を反映させるための属性を、上記状態遷移の属性として設定する状態遷移属性編集部と、
各イベント処理の状態遷移に伴う無効化の可否に関する設計データ内容を反映させるための属性を、上記イベント処理の属性として設定するイベント処理属性編集部とを有し、
上記実行制御部は、
上記属性編集部によりGUI設計データに設定された、上記表示部品レイアウトの状態の属性、上記状態遷移の属性、及び上記表示部品の属性の内容に従って、上記実行部が実行する上記GUI操作画面上での表示部品のふるまいにおける、上記表示部品レイアウトの状態遷移に伴う上記表示部品の表示の可否を制御する部品表示制御部と、
上記属性編集部により上記GUI設計データに設定された、上記表示部品レイアウトの状態の属性、上記状態遷移の属性、上記表示部品の属性、及び上記イベント処理の属性の内容に従って、上記実行部が実行する上記GUI操作画面上での表示部品のふるまいにおける、上記表示部品レイアウトの状態遷移に伴うイベント処理の無効化の可否を制御するイベント処理有効性制御部とを有するGUI設計装置としてコンピュータを機能させるためのプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004128556A JP4679834B2 (ja) | 2004-04-23 | 2004-04-23 | Gui設計装置及びプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004128556A JP4679834B2 (ja) | 2004-04-23 | 2004-04-23 | Gui設計装置及びプログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2005309978A JP2005309978A (ja) | 2005-11-04 |
JP4679834B2 true JP4679834B2 (ja) | 2011-05-11 |
Family
ID=35438654
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2004128556A Expired - Lifetime JP4679834B2 (ja) | 2004-04-23 | 2004-04-23 | Gui設計装置及びプログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4679834B2 (ja) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100962441B1 (ko) | 2008-01-15 | 2010-06-14 | 포항공과대학교 산학협력단 | 동시 편집을 지원하는 다중 플랫폼 기반 사용자 인터페이스화면 편집 방법 및 장치 |
KR100962439B1 (ko) | 2008-01-15 | 2010-06-14 | 포항공과대학교 산학협력단 | 다양한 플랫폼에 적용 가능한 사용자 인터페이스 모델 생성방법 및 장치 |
JP5112171B2 (ja) * | 2008-05-29 | 2013-01-09 | 株式会社リコー | 画面編集装置、画面編集方法、プログラム、電子装置及び画像形成装置 |
JP2020042702A (ja) * | 2018-09-13 | 2020-03-19 | 富士ゼロックス株式会社 | 情報処理装置及びプログラム |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002229785A (ja) * | 2001-01-31 | 2002-08-16 | Toshiba Corp | Gui設計支援装置および方法およびプログラム |
JP2002244848A (ja) * | 2001-02-14 | 2002-08-30 | Mitsubishi Electric Corp | ユーザインタフェース設計装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH05324237A (ja) * | 1992-05-20 | 1993-12-07 | Pfu Ltd | ユーザインタフェイス設計方式 |
-
2004
- 2004-04-23 JP JP2004128556A patent/JP4679834B2/ja not_active Expired - Lifetime
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002229785A (ja) * | 2001-01-31 | 2002-08-16 | Toshiba Corp | Gui設計支援装置および方法およびプログラム |
JP2002244848A (ja) * | 2001-02-14 | 2002-08-30 | Mitsubishi Electric Corp | ユーザインタフェース設計装置 |
Also Published As
Publication number | Publication date |
---|---|
JP2005309978A (ja) | 2005-11-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10248294B2 (en) | Modal-less interface enhancements | |
JP4829390B2 (ja) | 文書状態履歴の維持 | |
JP4270391B2 (ja) | マルチメディア・ファイルのツールチップ | |
JP4921352B2 (ja) | 画面から見えなくなっているエンティティの動的実体化(情報を表示する方法及び装置) | |
US7877701B2 (en) | In-context total document views for manipulating data | |
JP2006107436A (ja) | 文脈アクション発行 | |
US20110087999A1 (en) | Set definition in data processing systems | |
JP4462309B2 (ja) | 電子情報処理プログラム及び電子情報処理システム | |
JPH09258971A (ja) | アイコンプログラミング装置 | |
JP2009193196A (ja) | Guiシステム、gui生成方法、プログラムおよび記録媒体 | |
JP4679834B2 (ja) | Gui設計装置及びプログラム | |
KR20060015397A (ko) | Gui 운영 체제에서의 바탕 화면 변경 장치 및 방법 | |
JPH10154070A (ja) | ユーザインタフェース設計装置及び方法 | |
JP2007213248A (ja) | マルチウインドウ表示システム及びマルチウインドウ表示制御方法 | |
JPH08314679A (ja) | アプリケーション管理制御方法 | |
KR100327904B1 (ko) | 컴포넌트 재정의 방법 및 도구 시스템 | |
JPH06231030A (ja) | マルチメディアオーサリングシステム | |
JPH10289106A (ja) | 情報処理装置 | |
JP3167412B2 (ja) | データベース検索処理装置 | |
TW523700B (en) | Function program system and method based on a table structure | |
JP2011204139A (ja) | 操作記録プログラム及び装置 | |
JP2008257318A (ja) | 文字入力装置、方法及びプログラム | |
JP2003196091A (ja) | プログラム作成支援システム及びプログラム作成支援方法 | |
JP2001034452A (ja) | 操作支援装置、操作支援方法、および記録媒体 | |
JP2005242474A (ja) | ユーザインタフェース設計装置及びプログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20061225 |
|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20071015 |
|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20080715 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20091013 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20100216 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20100415 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20110125 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20110202 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 4679834 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140210 Year of fee payment: 3 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |