JP4368098B2 - 携帯端末及びアプリケーションプログラム - Google Patents
携帯端末及びアプリケーションプログラム Download PDFInfo
- Publication number
- JP4368098B2 JP4368098B2 JP2002255729A JP2002255729A JP4368098B2 JP 4368098 B2 JP4368098 B2 JP 4368098B2 JP 2002255729 A JP2002255729 A JP 2002255729A JP 2002255729 A JP2002255729 A JP 2002255729A JP 4368098 B2 JP4368098 B2 JP 4368098B2
- Authority
- JP
- Japan
- Prior art keywords
- screen
- screen theme
- theme
- gui
- application program
- 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 - Fee Related
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/451—Execution arrangements for user interfaces
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Digital Computer Display Output (AREA)
- Telephone Function (AREA)
- User Interface Of Digital Computer (AREA)
Description
【発明の属する技術分野】
本発明は、アプリケーションプログラム(以下、アプリ,アプリケーションともいう)によって表示されるGUI(グラフィカル・ユーザ・インターフェース)部品からなるGUI画面を介してユーザが種々の操作を行なうことができる、携帯端末及びアプリケーションプログラムに関する。
【0002】
【従来の技術】
近年、パーソナルコンピュータにおいて、GUI画面を全体的に統一されたテーマ(画面テーマ)で表現し、その画面テーマを切り替える機能(テーマ機能)を備えるものが提供されている。
このような機能を持つものとしては、例えば、マイクロソフト社のウィンドウズ(登録商標)のデスクトップ・テーマやリアルオーディオのスキンなどを挙げることができる。
【0003】
【発明が解決しようとする課題】
ところで、近年、例えば携帯電話や携帯情報端末(PDA;Personal Digital Assistants)などの携帯端末の高機能化が進んでおり、パーソナルコンピュータに実装されている機能と同様の機能(例えば、上述のテーマ機能)を実装することが望まれている。
【0004】
しかしながら、携帯端末では、携帯性を考慮しなければならず、サイズや重さなどの制約を受けるため、パーソナルコンピュータのように、処理速度の速いCPUを用いたり、メモリの容量を多くしたりすることができない。
このため、このような制約の下、パーソナルコンピュータに実装されている機能と同様の機能を携帯端末に実装するには、何らかの工夫が必要になる。
【0005】
特に、携帯端末において、上述のテーマ機能を実装するためには、画面テーマが高速で切り替わるようにすること,画面テーマを切り替えるために使用するメモリ領域をできるだけ少なくすることが重要になる。なお、これらの点は、上述の機能を備えるパーソナルコンピュータなどにおいても必要なことである。
本発明は、このような課題に鑑み創案されたもので、アプリケーションの画面が全体的に統一されたテーマ(画面テーマ)で表現されるようにし、このような画面テーマが高速で切り替わるようにした携帯端末及び画面テーマが高速で切り替わるようにするためのアプリケーションプログラムを提供することを目的とする。
【0006】
また、本発明は、できるだけ少ないメモリ領域を使用して画面テーマの切り替え(特に、高速切替)を行なえるようにすることも目的とする。
【0007】
【課題を解決するための手段】
このため、本発明の携帯端末は、複数のアプリケーションプログラムをそれぞれ異なるメモリ領域を使用して動作させるマルチプロセスオペレーティングシステムを備える携帯端末であって、同種のグラフィカル・ユーザ・インターフェース(以下、GUIという)部品を複数個含むGUI画面を表示させるアプリケーションプログラムの画面テーマを切り替える処理を実行する制御部と、画面テーマを定義する画面テーマ定義データを格納する記憶部とを備え、制御部が、切替後の画面テーマの画面テーマ定義データを記憶部から読み出し、アプリケーションプログラムのために確保されたメモリ領域に記憶させる切替時画面テーマ読出処理ステップと、アプリケーションプログラムのメモリ領域に記憶されている画面テーマ定義データを用いてGUI画面に含まれる同種の複数個のGUI部品を描画するGUI画面描画処理ステップとを含む処理を実行するように構成されることを特徴としている(請求項1)。
【0008】
好ましくは、制御部を、切替時画面テーマ読出処理ステップにおいて、記憶部からGUI画面に含まれるGUI部品の画面テーマ定義データのみを読み出し、アプリケーションプログラムのメモリ領域に記憶させる処理を実行するように構成する(請求項2)。
また、制御部を、アプリケーションプログラムの起動時に、デフォルトとして設定された画面テーマの画面テーマ定義データを記憶部から読み出し、アプリケーションプログラムのメモリ領域に記憶させるアプリ起動時画面テーマ読出処理ステップを実行するように構成し、切替時画面テーマ読出処理ステップにおいて、切替後の画面テーマの画面テーマ定義データを記憶部から読み出し、アプリケーションプログラムのメモリ領域に記憶されている画面テーマ定義データを更新する処理を実行するように構成するのも好ましい(請求項3)。
【0009】
また、制御部を、切替時画面テーマ読出処理ステップにおいて、オペレーティングシステムによって管理される画面テーマに関する情報を用いて記憶部から画面テーマ定義データを読み出す処理を実行するように構成するのも好ましい(請求項4)。
また、制御部を、記憶部に格納されている画面テーマ定義データを読み出し、オペレーティングシステムのために確保されたメモリ領域に展開する処理を実行するように構成し、記憶部から画面テーマ定義データを読み出すのに代えて、記憶部から読み出され、オペレーティングシステムのメモリ領域に展開されている画面テーマ定義データを読み出す処理(切替時画面テーマ読出処理ステップ,アプリ起動時画面テーマ読出処理ステップ)を実行するように構成するのも好ましい(請求項5)。
【0010】
また、制御部を、オペレーティングシステムによって管理される画面テーマに関する情報が書き換えられた場合に、切替時画面テーマ読出処理ステップ及びGUI画面描画処理ステップを実行するように構成するのも好ましい(請求項6)。
また、制御部を、画面テーマの設定に用いる画面テーマ設定アプリケーションプログラムにしたがって、画面テーマ決定指令に応じて、オペレーティングシステムによって管理される画面テーマに関する情報を切替後の画面テーマに関する情報に書き換える処理を実行するように構成し、オペレーティングシステムにしたがって、画面テーマに関する情報が書き換えられた場合に、アプリケーションプログラムに対して画面テーマ変更通知を行なう処理を実行するように構成し、アプリケーションプログラムにしたがって、オペレーティングシステムからの画面テーマ変更通知を受けた場合に、切替時画面テーマ読出処理ステップ及びGUI画面描画処理ステップを実行するように構成するのも好ましい(請求項7)。
【0011】
また、制御部を、画面テーマの設定に用いる画面テーマ設定アプリケーションプログラムのGUI画面に含まれる画面テーマリストの選択位置に応じて、画面テーマ設定アプリケーションプログラムのGUI画面の画面テーマを切り替える処理を実行するように構成するもの好ましい(請求項8)。
また、制御部を、画面テーマの設定に用いる画面テーマ設定アプリケーションプログラムのGUI画面に含まれる画面テーマリストの選択位置に応じて、画面テーマ設定アプリケーションプログラムのGUI画面上にビットマップイメージを表示させる処理を実行するように構成するのも好ましい(請求項9)。
【0012】
本発明のアプリケーションプログラムは、複数のアプリケーションプログラムをそれぞれ異なるメモリ領域を使用して動作させるマルチプロセスオペレーティングシステムを備える携帯端末において、同種のグラフィカル・ユーザ・インターフェース(以下、GUIという)部品を複数個含むGUI画面の画面テーマを切り替える画面テーマ切替処理をコンピュータに実行させるためのアプリケーションプログラムであって、画面テーマ切替処理が、切替後の画面テーマの画面テーマ定義データを画面テーマリソースファイルから読み出し、アプリケーションプログラムのために確保されたメモリ領域に記憶させる切替時画面テーマ読出処理ステップと、アプリケーションプログラムのメモリ領域に記憶されている画面テーマ定義データを用いてGUI画面に含まれる同種の複数個のGUI部品を描画するGUI画面描画処理ステップとを含むことを特徴としている(請求項10)。
【0013】
【発明の実施の形態】
以下、図面により、本発明の一実施形態にかかる携帯端末,アプリケーションプログラム及び同プログラムを格納したコンピュータ読取可能な記憶媒体について説明する。
本実施形態では、携帯端末としての携帯電話を例に、図1〜図10を参照しながら説明する。
【0014】
まず、携帯電話の構成について、図1〜図10を参照しながら説明する。
図1に示すように、携帯電話1は、出力部(表示部)としてのディスプレイ2と、入力部としての操作部(例えば操作ボタンなど)3と、例えばCPUやメモリ(揮発性メモリ;RAM)などからなる制御部(コンピュータ)4と、例えばフラッシュメモリ(不揮発性メモリ;ROM)などの記憶部5とを備えて構成される。なお、当然のことながら、無線通信に必要なもの(例えばアンテナや信号処理部等)も備えられている。
【0015】
そして、記憶部5には、オペレーティングシステム(以下、OSともいう),種々のアプリケーションプログラム(以下、アプリ,アプリケーションともいう)が格納されており、これらのOSやアプリが、制御部4のメモリ上にロードされ、CPUによって実行されることで、携帯電話1の所望の機能が実現されるようになっている。
【0016】
特に、本実施形態では、OSは、システムの信頼性,安全性を確保すべく、あるプロセスから他のプロセスへ高速で切り替えることで、複数のプロセスを見かけ上同時に実行できるマルチプロセス機能を有するマルチプロセスOSとしている。
これは、単一のメモリ領域上で全てのアプリケーションやカーネル(OSの基本機能)が動作するモノリシックOSでは、一つのプログラムでトラブル(例えばメモリアクセスの誤りなど)が生じた場合にはシステム全体が停止してしまうことになるからである。
【0017】
これに対し、本実施形態のマルチプロセスOSは、プロセス毎に使用できるメモリ領域を制限するメモリ保護機能を備えており、OSやアプリなどのプログラム(プロセス)がそれぞれ異なるメモリ領域を使用するようになっており、一つのプログラム(プロセス)でトラブル(例えばメモリアクセスの誤りなど)が生じた場合であっても、OSや他のアプリケーションに影響を与えないようになっている。
【0018】
このように、携帯電話1においてマルチプロセスOSを用いる場合、オーバーヘッドを抑えることが重要になる。つまり、例えばパーソナルコンピュータのように処理速度が速いCPUを用いることができれば、オーバーヘッドはそれほど問題とならないが、携帯電話では、携帯性を考慮しなければならず、例えばパーソナルコンピュータのように処理速度の速いCPUを用いることはできず、処理速度の遅いCPUを用いることになるため、オーバーヘッドを抑えることが重要になる。
【0019】
また、各アプリは、ディスプレイ2上にグラフィカル・ユーザ・インターフェース(以下、GUIという)部品からなるGUI画面を表示させるものとして構成される。そして、ユーザがディスプレイ2上に表示されたGUI画面を見ながら操作部3を操作することで、制御部4に対して各種の指令を入力することができるようになっている。
【0020】
ところで、このようなGUI画面を表示させるアプリを使用可能な携帯電話1において、ユーザの好みや気分によってGUI画面の雰囲気を変えることができるように、各アプリのGUI画面が統一された所望のテーマ(画面テーマ)で表現されるようにし、ユーザが任意にGUI画面の画面テーマを切り替えることができるようにしたい。
【0021】
つまり、GUI画面を表示させるアプリを使用可能な携帯電話において、GUI画面に例えば装飾的な高級感,機械的な機能感,文房具的な親近感などの雰囲気をもたせるべく、各アプリのGUI画面を構成する複数のGUI部品の例えば色彩,立体感の有無,ボーダーの有無などを統一することで、GUI画面が所望のテーマ(画面テーマ)で表現されるようにし、ユーザが任意にGUI画面の画面テーマを切り替えることができるようにしたい。
【0022】
このようなGUI画面の画面テーマの切替機能を携帯電話1に実装するには、GUI画面の画面テーマが切り替えられた場合に、各アプリのGUI画面の画面テーマが高速で切り替わるようにすることが重要である。
特に、上述のように、メモリ保護機能を有するマルチプロセスOSを備える携帯電話1において、各アプリのGUI画面の画面テーマが高速で切り替わるようにするためには、プロセスをまたいでのメモリアクセスやコンテキストスイッチングをできるだけ減らして、オーバーヘッドを抑えることが重要になる。
【0023】
このため、本実施形態の携帯電話1では、以下の(1)〜(3)に示すようなシステム構成としている。
(1)GUI部品(コントロール)の画面テーマにかかわる属性(GUI画面を統一されたテーマで表現するために必要な属性)をGUI部品の種類毎に定義した画面テーマ定義データを格納して画面テーマリソースファイルを作成する。ここでは、画面テーマ毎に複数の画面テーマリソースファイルを作成する。
【0024】
そして、これらの画面テーマ毎の画面テーマリソースファイルを記憶部(例えばフラッシュメモリ)5に格納し、OSのファイルシステムによって管理する。具体的には、画面テーマ毎に作成される複数の画面テーマリソースファイルには、携帯電話1で用いることができる全種類のGUI部品の属性データ、例えば背景色,背景ビットマップ,ボーダーの有無などのデータを圧縮して格納しておく。
(2)一方、上述の(1)のように、画面テーマを定義した画面テーマ定義データを画面テーマリソースファイルに格納し、OSのファイルシステムによって管理されるようにすると、各アプリのGUI画面の画面テーマを切り替える際に、GUI画面を再描画するのに、GUI画面を構成するGUI部品の個数分だけ、画面テーマリソースファイルを参照しなければならなくなる。
【0025】
この場合、アプリとOSのカーネルとの間でGUI部品の個数分だけコンテキストスイッチングが生じるため、オーバーヘッドとなり、再描画が大変遅いものとなってしまう(例えばスリープが生じてしまう)ため、現実的ではない。なお、画面テーマ定義データをOSのために確保されているメモリ領域に展開しておく場合も、コンテキストスイッチングは生じることに変わりはないため、同様である。
【0026】
このため、本実施形態では、同種のGUI部品を複数個含むGUI画面を表示させるアプリの画面テーマの高速切替を実現すべく、以下のように構成している。
つまり、アプリのGUI画面の画面テーマを切り替える処理を実行する制御部4が、GUI画面の画面テーマの切替時に、切替後の画面テーマの画面テーマ定義データを画面テーマリソースファイルから読み出して、アプリのために確保されたメモリ領域に記憶させ、アプリのメモリ領域に記憶されている画面テーマ定義データを用いてGUI画面に含まれる複数個のGUI部品を描画するようにして、アプリとOSのカーネルとの間で生じるコンテキストスイッチングの回数をできるだけ減らし、オーバーヘッドを抑えることで、GUI画面の画面テーマの高速切替を実現している。
【0027】
特に、本実施形態では、制御部4が、アプリのGUI画面に含まれるGUI部品の画面テーマ定義データのみを読み出してアプリのメモリ領域に記憶させるようにして、GUI部品の画面テーマ定義データを記憶させるのに必要なメモリ領域を少なくし、メモリ容量の少ない携帯電話において画面テーマの高速切替を実現できるようにしている。
【0028】
また、本実施形態では、制御部4が、アプリの起動時に、デフォルトとして設定された画面テーマの画面テーマ定義データを画面テーマリソースファイルから読み出して、アプリのメモリ領域に記憶させるようにし、画面テーマの切替時には、アプリのメモリ領域に記憶されている画面テーマ定義データを更新する(書き換える)ようにして、さらなる画面テーマの切り替えの高速化を図るとともに、画面テーマを切り替えるのに必要なメモリ領域ができるだけ少なくて済むようにしている。
【0029】
なお、本実施形態では、画面テーマリソースファイルから画面テーマ定義データを読み出しているが、これに限られるものではなく、制御部4が、予め画面テーマリソースファイルに格納されている画面テーマ定義データを、OSのために確保されたメモリ領域に展開しておき、このOSのメモリ領域に展開されている画面テーマ定義データを読み出すようにしても良い。この場合、例えば画面テーマ定義データをエクセルシートによって作成しておき、OS起動時にOSのメモリ領域上に展開されるようにすれば良い。
【0030】
以下、このような画面テーマ切替処理を制御部(コンピュータ)4に実行させるためのアプリケーションプログラムの構成について、図1を参照しながら説明する。なお、ここではアプリケーションプログラムをオブジェクト指向プログラミングによって構成する場合を例に説明する。
ここでは、アプリ毎に画面テーマクラスを設け、この画面テーマクラスが画面テーマ定義データを取り込んで画面テーマインスタンスを生成するようにし、アプリがGUI画面を描画する際に、同種の複数個のGUI部品を描画するのに、同一の画面テーマインスタンスをキャッシュメモリのように利用するようにしている。
【0031】
具体的には、本アプリケーションプログラムは、図1に示すように、GUI画面を描画するためのクラスとしてGUI画面クラス(アプリ画面クラス)を備える。
ここで、GUI画面クラスは、GUI画面を構成する各GUI部品を描画するためのGUI部品クラス(例えば、ボタンクラス,ウィンドウクラス,アンテナ・電池残量等クラスなど)を集約したものとして構成される。なお、GUI画面クラスは、各アプリ毎に、各アプリのGUI画面を構成するGUI部品を描画するのに必要なGUI部品クラスのみを集約したものとして構成している。
【0032】
特に、本実施形態では、同種のGUI部品の構成要素を、GUI部品毎に固有の構成要素(固有構成要素)と、GUI部品に共通の構成要素(共通構成要素)とに分け、このうち、GUI部品の固有構成要素を、GUI部品クラスの属性として持たせている。例えば、ボタンクラスは、固有構成要素として、例えばボタンの描画位置とサイズ,文字列などの属性を持つものとして構成している。
【0033】
一方、本実施形態では、GUI画面クラスのほかに、GUI画面の画面テーマを形成するためのクラスとしてGUI画面テーマクラスを設けている。
ここで、GUI画面テーマクラスは、各GUI部品の画面テーマを形成するためのGUI部品画面テーマクラス(例えば、ボタン画面テーマクラス,ウィンドウ画面テーマクラス,アンテナ・電池残量等画面テーマクラスなど)を集約したものとして構成される。本実施形態では、GUI画面テーマクラスは、アプリのGUI画面を構成するために用いることができる全てのGUI部品のGUI部品画面テーマクラスを集約したものとして構成している。
【0034】
特に、本実施形態では、GUI部品の共通構成要素が画面テーマを形成しうる構成要素となりうるため、この共通構成要素(テーマ形成構成要素)を、GUI部品画面テーマクラスの属性として持たせている。例えば、ボタン画面テーマクラスは、テーマ形成構成要素として、例えばボタンの背景色,フォントフェイス,枠線の有無などの属性を持つものとして構成している。
【0035】
そして、本実施形態では、アプリケーションの起動時に、GUI画面クラス,各GUI部品クラス,GUI画面テーマクラス,各GUI部品画面テーマクラスのメソッドが制御部4によって実行されて、図1に示すように、各GUI部品クラス(例えばボタンクラス)からそれぞれGUI部品インスタンス(例えばボタン1インスタンス,ボタン2インスタンス)が生成されるとともに、各GUI部品画面テーマクラス(例えばボタン画面テーマクラス)からそれぞれGUI部品画面テーマインスタンス(例えばボタン画面テーマインスタンス)が生成されるようになっている。
【0036】
具体的には、GUI部品画面テーマクラスのメソッドが制御部4によって実行され、OSによって管理されている現在の画面テーマのリソースファイル名(現在の画面テーマに関する情報)を用いて画面テーマリソースファイルから画面テーマ定義データが読み出され、この画面テーマ定義データを用いてGUI部品画面テーマインスタンスが生成されるようになっている。そして、生成されたGUI部品画面テーマインスタンスを、アプリケーションプログラムのために確保されたメモリ領域に記憶し、GUI部品画面テーマインスタンスを記憶したメモリ領域のアドレス(ポインタ)をGUI部品クラスに通知するようになっている。
【0037】
例えば、ボタン画面テーマクラスのメソッドが制御部4によって実行されると、図1に示すように、ボタン画面テーマインスタンスが生成されることになる。特に、本実施形態では、GUI部品画面テーマクラスのメソッドは、GUI部品クラスからの画面テーマ要求メッセージに応じて、制御部4によって実行されるようになっているため、各アプリのGUI画面を構成するのに必要なGUI部品のGUI部品画面テーマインスタンスのみが生成されることになる。
【0038】
なお、アプリケーションの起動時には、デフォルトとして設定されている画面テーマリソースファイル名を現在の画面テーマリソースファイル名として用いる。
一方、GUI部品クラスのメソッドが制御部4によって実行され、GUI部品インスタンスが生成されるようになっている。そして、生成されたGUI部品インスタンスを、アプリケーションプログラムのために確保されたメモリ領域に記憶し、そのメモリ領域のアドレス(ポインタ)をGUI部品クラスに通知する。
【0039】
例えば、ボタンクラスのメソッドが制御部4によって実行されると、図1に示すように、ボタン1インスタンスと、ボタン2インスタンスとが生成されることになる。そして、これらのボタンインスタンスは、それらが記憶されたメモリ領域のアドレス(ポインタ)をボタンクラスに通知する。
そして、GUI画面を構成する各GUI部品を描画する際には、それぞれのGUI部品クラスのメソッドが制御部4によって実行され、ポインタを用いてGUI部品インスタンス及びGUI部品画面テーマインスタンスを参照しながら、GUI画面を構成するGUI部品のそれぞれが描画され、結果的にGUI画面が描画されることになる。
【0040】
例えば、ボタンクラスのメソッドが制御部4によって実行されると、ポインタを用いてボタン1インスタンス及びボタン画面テーマインスタンスを読み出して、ボタン1が描画されることになる。つまり、例えば、ボタン1は、ボタン1インスタンスの持っている属性(例えばボタンの描画位置とサイズ,文字列)と、ボタン画面テーマインスタンスの持っている属性(例えばボタンの背景色,フォントフェイス,枠線の有無)とを合わせたものとして描画されることになる。
【0041】
同様に、ボタンクラスのメソッドが制御部4によって実行されると、ポインタを用いてボタン2インスタンス及びボタン画面テーマインスタンスを読み出して、ボタン2が描画されることになる。つまり、例えば、ボタン2は、ボタン2インスタンスの持っている属性(例えばボタンの描画位置とサイズ,文字列)と、ボタン画面テーマインスタンスの持っている属性(例えばボタンの背景色,フォントフェイス,枠線の有無)とを合わせたものとして描画されることになる。
【0042】
ところで、画面テーマの切替時には、GUI画面クラス,各GUI部品クラス,GUI画面テーマクラス及び各GUI部品画面テーマクラスのメソッドが制御部4によって実行され、切替後の画面テーマのリソースファイル名を用いて画面テーマリソースファイルから画面テーマ定義データが読み出され、この画面テーマ定義データを用いて、アプリのメモリ領域に記憶されているGUI部品画面テーマインスタンスを更新するようになっている。
【0043】
つまり、本実施形態では、画面テーマの切替時には、アプリ起動時にGUI部品画面テーマクラスのコンストラクタによって予め初期化されているGUI部品画面テーマインスタンスの属性を画面テーマ定義データを用いて設定しなおすことで、GUI部品画面テーマインスタンスを更新するようにしている。なお、本実施形態では、アプリ起動時に生成したGUI部品画面テーマインスタンスはアプリケーションの終了時まで削除されない。
【0044】
このように、本実施形態では、画面テーマの切替時には、新たにGUI部品画面テーマインスタンスの生成を行なわず、また、GUI部品画面テーマインスタンスの初期化処理(例えばnew演算子を用いる処理)も行なわないため、画面テーマの高速切替を実現できることになる。また、アプリの初期化から終了までメモリの使用領域が変動しないため、アプリのために確保するメモリ領域を少なくすることができ、これにより、メモリ容量の少ない携帯電話において画面テーマの切替機能を実現できることになる。
【0045】
このようにして、GUI画面テーマクラスを含むものとして構成されるアプリケーションプログラムにしたがって、制御部4が、切替後の画面テーマの画面テーマ定義データを画面テーマリソースファイルから読み出し、アプリのために確保されたメモリ領域に記憶させる切替時画面テーマ読出処理ステップを実行することになる。この機能を切替時画面テーマ読出処理手段という。ここでは、画面テーマ定義データは、GUI部品画面テーマインスタンスの属性値としてアプリのメモリ領域に記憶される。
【0046】
そして、GUI部品画面テーマインスタンスを更新すると、GUI画面テーマクラスのメソッドが制御部4によって実行され、GUI画面クラス(具体的には各GUI部品クラス)に対して画面無効化通知がなされ、これに応じて、(GUI画面クラス(具体的には各GUI部品クラス)のメソッドが制御部4によって実行され、GUI部品インスタンス及びGUI部品画面テーマインスタンスを参照しながら、GUI画面を構成するGUI部品のそれぞれが再描画され、結果的にGUI画面が再描画されることになる。
【0047】
この場合、各GUI部品クラスのメソッドでは、自らのプロセス内のメモリアクセスで、GUI部品インスタンスを参照できるだけでなく、さらにGUI部品画面テーマインスタンスを参照して画面テーマ定義データを取得できることになる。これにより、画面テーマの高速切替が実現できることになる。
例えば、ボタンクラスのメソッドが制御部4によって実行されると、ポインタを用いて、ボタン1インスタンス及びボタン画面テーマインスタンスを読み出しながら、ボタン1が再描画されることになる。同様に、ボタンクラスのメソッドが制御部4によって実行されると、ポインタを用いて、ボタン2インスタンス及びボタン画面テーマインスタンスを読み出しながら、ボタン2が再描画されることになる。
(3)また、本実施形態では、現在の画面テーマが、複数の画面テーマの中のどの画面テーマに設定されているかを、システム全体で1個のリソースファイル名(画面テーマに関する情報;例えばポインタ)によって管理する。
【0048】
具体的には、現在の画面テーマリソースファイルのファイル名(以下、リソースファイル名という)を記憶部(例えばフラッシュメモリ)5に格納しておき、携帯電話1の電源投入時(OS起動時)に、OSのために確保されたメモリ領域にロードされるようにして(ここではカーネルのメモリ領域にカーネルオブジェクトとしてロードされるようにして)、OSによって現在の画面テーマリソースファイル名が管理されるようにしておく。これにより、OSによって管理される画面テーマリソースファイル名を用いて画面テーマリソースファイルから画面テーマ定義データを読み出すことが可能となる。
【0049】
このように、現在の画面テーマのリソースファイル名をシステム全体で1個だけ持つようにしているのは、以下の理由による。
つまり、各アプリケーションのメモリ領域のそれぞれに現在のリソースファイル名を持たせておくと、画面テーマの切替時に全てのアプリケーションが持っている現在のリソースファイル名を書き換えなくてはならず、アプリケーション間のコンテキストスイッチングの回数が多くなってしまい、オーバーヘッドが発生するため、画面テーマの切替が大変遅くなってしまう。
【0050】
これに対し、現在の画面テーマのリソースファイル名をシステム全体で1個だけ持つようにしておけば、1個のリソースファイル名を1回だけ書き換えるだけで良く、アプリケーション間のコンテキストスイッチングの回数を減らすことができ、オーバーヘッドを抑えることができるため、画面テーマの高速切替を実現できるようになる。
【0051】
そして、画面テーマの切替時には、ユーザによる画面テーマ決定指令に基づいて、OS(ここではカーネル)のメモリ領域に格納されている現在のリソースファイル名が書き換えられるようにしておき、これが書き換えられた場合に、OS(ここではカーネル)が、現在のリソースファイル名が書き換えられた時点で起動している各アプリ(ここではGUI画面テーマクラス)に対して画面テーマの変更通知を行ない、これに応じて、各アプリが再描画を行なうようにする。
【0052】
例えば、OSが、起動している各アプリに対してイベントを発生させるようにポインタを設定できるようになっているならば、このOSの機能を利用して、各アプリ(ここではGUI画面テーマクラス)に対してイベントを発生させるようにポインタを設定しておき、現在のリソースファイル名が書き換えられた場合に、OSが、ポインタを用いて各アプリ(ここではGUI画面テーマクラス)に対してイベントを発生させることで、画面テーマの変更通知が行なわれるようにすれば良い。
【0053】
なお、記憶部(例えばフラッシュメモリ)5には、最初、現在の画面テーマのリソースファイル名として、デフォルトとして設定された画面テーマのリソースファイル名が格納されているが、画面テーマが切り替えられ、カーネルのメモリ領域上のリソースファイル名が書き換えられると、記憶部5に格納されているリソースファイル名も書き換えられるようになっている。これにより、現在の画面テーマのリソースファイル名は、電源OFF後も保存されることになる。
【0054】
また、本実施形態の携帯電話1には、ユーザが任意にGUI画面の画面テーマを設定できるように、画面テーマを設定するのに用いる画面テーマ設定アプリ(スクリーン設定アプリ)が備えられている。この画面テーマ設定アプリケーションは、上述のアプリケーションと同様に構成され、GUI画面の画面テーマが高速で切り替わるようになっている。なお、本実施形態では、画面テーマ設定アプリのほかに画面テーママネージャも備えられているが、画面テーママネージャによる処理(機能)を全て画面テーマ設定アプリに含ませて構成しても良い。
【0055】
本実施形態の携帯電話1は、上述のように構成されるため、以下、制御部4によって行なわれる画面テーマの切り替えにかかわる処理について、図2〜図6を参照しながら説明する。
▲1▼アプリ起動時のGUI画面描画処理
まず、アプリ起動時に、上述のようにGUI画面クラスやGUI画面テーマクラスを含むアプリケーションプログラムにしたがって制御部(コンピュータ)4が実行するGUI画面の描画処理について、図2を参照しながら説明する。
【0056】
なお、ここでは、GUI画面の構成要素としてのボタン(ここでは2つのボタン1,2)の描画処理について説明するが、例えばリストなどの他の構成要素についても同様の描画処理が行なわれる。
図2に示すように、アプリケーションのGUI画面クラスは、GUI画面を構成するボタン1を描画すべく、ボタンクラスに対して、ボタン1の描画を要求するメッセージを出す(GUI画面クラスのコンストラクタによる処理)。
【0057】
これに応じて、ボタンクラスは、ボタン画面テーマクラスに対して、ボタンの画面テーマを要求するメッセージを出す(ボタンクラスのコンストラクタによる処理)。なお、ボタンクラスのコンストラクタは、ボタンクラスによって生成されるインスタンス(オブジェクト)の初期化を行なう。
ボタン画面テーマクラスは、ボタンクラスからのメッセージを受けると、コンストラクタによって、以下のようにして、ボタン画面テーマクラスのインスタンス(ボタン画面テーマインスタンス)を生成する。なお、ボタン画面テーマクラスのコンストラクタは、ボタン画面テーマクラスによって生成されるインスタンスの初期化を行なう。
【0058】
まず、ボタン画面テーマクラスは、OS(ここではカーネル)に対して、画面テーマリソースファイルのファイル名(以下、リソースファイル名という)を要求するメッセージを出す。
これに応じて、OS(ここではカーネル)は、OS(ここではカーネル)のために確保されたメモリ領域(OS用メモリ領域,カーネル用メモリ領域)に記憶されて管理される現在の画面テーマのリソースファイル名(画面テーマに関する情報;例えばポインタ)を読み出して、これをボタン画面テーマクラスに通知する。
【0059】
なお、本実施形態では、複数の画面テーマリソースファイルを備えるが、OS起動時(電源投入時)には、デフォルトとして設定された画面テーマのリソースファイル名が、現在のリソースファイル名として、OS(ここではカーネル)のメモリ領域に記憶されるようになっている。
ボタン画面テーマクラスは、リソースファイル名を受け取ると、OSに対してボタンの画面テーマ定義データを要求する。ここでは、ボタン画面テーマクラスは、リソースファイル名及びボタンの画面テーマ定義データが格納されているアドレスをOSに対して通知して、ボタンの画面テーマ定義データを要求する。
【0060】
これに対して、OSは、リソースファイル名及びボタンの画面テーマ定義データが格納されているアドレスを用いて、該当する画面テーマリソースファイルからボタンの画面テーマ定義データを読み出し、これをボタン画面テーマクラスに対して通知する。
このように、本実施形態では、制御部4は、アプリケーションプログラムにしたがって、OSによって管理される現在の画面テーマのリソースファイル名を用いて画面テーマリソースファイルから画面テーマ定義データを読み出す処理を実行するようになっている。
【0061】
次に、ボタン画面テーマクラスは、ボタンの画面テーマ定義データを受け取ると、これに基づいてボタン画面テーマインスタンス(オブジェクト)を生成し、アプリケーションプログラムのために確保されたメモリ領域(アプリ用メモリ領域)上に領域(ボタン画面テーマインスタンス用メモリ領域)を確保して、生成したボタン画面テーマインスタンスを格納する。また、ボタン画面テーマクラスは、ボタン画面テーマインスタンスを格納したメモリ領域のアドレスを記憶する[ここではポインタ(以下、ボタン画面テーマ用ポインタという)を設定する](ステップS10)。
【0062】
このように、ボタン画面テーマクラス(GUI画面テーマクラス)を含むアプリにしたがって、制御部4によって、アプリ起動時に、デフォルトとして設定された画面テーマの画面テーマ定義データを画面テーマリソースファイルから読み出し、アプリのメモリ領域に記憶させる処理(アプリ起動時画面テーマ読出処理ステップ)が実行される。この機能をアプリ起動時画面テーマ読出処理手段という。
【0063】
そして、ボタン画面テーマクラスは、上述のボタンの画面テーマを要求するメッセージに対する応答として、ボタン画面テーマ用ポインタをボタンクラスに対して返す。
ボタンクラスは、ボタン画面テーマ用ポインタを受け取ると、これを記憶する。そして、ボタンクラスは、ボタン1のインスタンスを生成し、アプリ用メモリ領域上に領域(ボタン1インスタンス用メモリ領域)を確保して、生成したボタン1のインスタンスを格納する。また、ボタンクラスは、ボタン1のインスタンスを格納したメモリ領域のアドレスを記憶する[ここではポインタ(以下、ボタン1用ポインタという)を設定する](ステップS20)。
【0064】
このようにして、ボタン画面テーマクラスがボタン画面テーマインスタンスを生成し、ボタンクラスがボタン1のインスタンスを生成した後、ボタンクラスは、これらのインスタンスを用いてボタン1を描画する(ステップS30)。つまり、ボタンクラスは、ボタン1用ポインタを用いてボタン1のインスタンスを読み出し、さらにボタン画面テーマ用ポインタを用いてボタン画面テーマインスタンスを読み出して、ボタン1を描画する。
【0065】
そして、ボタン1の描画が終了すると、ボタンクラスは、GUI画面クラスに対してボタン1描画完了通知を行なう。
次いで、GUI画面クラスは、GUI画面を構成するボタン2を描画すべく、図2に示すように、ボタンクラスに対して、ボタン2の描画を要求するメッセージを出す(アプリ画面クラスのコンストラクタによる処理)。これに応じて、ボタンクラスは、ボタン画面テーマクラスに対して、ボタンの画面テーマを要求するメッセージを出す(ボタンクラスのコンストラクタによる処理)。
【0066】
ボタン画面テーマクラスは、このメッセージを受けると、ボタン画面テーマ用ポインタをボタンクラスに対して通知する。
ボタンクラスは、ボタン画面テーマ用ポインタを受け取ると、これを記憶する。そして、ボタン2のインスタンスを生成し、アプリ用メモリ領域上に領域(ボタン2インスタンス用メモリ領域)を確保して、生成したボタン2のインスタンスを格納する。そして、ボタンクラスは、ボタン2のインスタンスを格納したメモリ領域のアドレスを記憶する[ここではポインタ(以下、ボタン2用ポインタという)を設定する](ステップS40)。
【0067】
このようにして、ボタン2のインスタンスを生成した後、ボタンクラスは、このボタン2のインスタンス及び上述のボタン画面テーマインスタンスを用いてボタン2を描画する。つまり、ボタンクラスは、ボタン2用ポインタを用いてボタン2のインスタンスを読み出し、さらにボタン画面テーマ用ポインタを用いてボタン画面テーマインスタンスを読み出して、ボタン2を描画する(ステップS50)。
【0068】
そして、ボタン2の描画が終了すると、ボタンクラスは、アプリ画面クラスに対してボタン2描画完了通知を行なう。
以後、GUI画面に含まれるボタンの数に応じて、上述のボタン2を描画する場合の処理が繰り返される。
▲2▼画面テーマ設定アプリケーションを用いた画面テーマ設定処理
次に、画面テーマ設定アプリ(ここでは画面テーママネージャも含む)にしたがって制御部(コンピュータ)4が実行する画面テーマの設定処理について、図3,図4を参照しながら説明する。
【0069】
ここでは、最初に、画面テーマ設定アプリ(ここでは画面テーママネージャも含む)にしたがって制御部4が実行する画面テーマ設定アプリのGUI画面の描画処理について、図3を参照しながら説明し、次いで、画面テーマ設定アプリのGUI画面を介して画面テーマの設定を行なう場合に、画面テーマ設定アプリ(ここでは画面テーママネージャも含む)にしたがって制御部4が実行する画面テーマ設定処理について、図4を参照しながら説明する。
【0070】
なお、画面テーマ設定アプリによるGUI画面の描画処理については、基本的には、上述したアプリによるGUI画面の描画処理(図2参照)と同様である。最初に、図3に示すように、ユーザが、画面テーマを設定すべく、画面テーマ設定アプリを起動させると、画面テーマリソースファイルのファイル数に応じた数の欄を有するリストを作成すべく、画面テーマ設定アプリ及び画面テーママネージャにしたがって、制御部4によって、以下のリスト作成処理が行なわれる。
【0071】
まず、画面テーマ設定アプリは、画面テーママネージャに対して画面テーマリソースファイルのファイル数(以下、リソースファイル数という)を要求する。画面テーママネージャは、OSに対して画面テーマリソースファイルのファイル名(以下、リソースファイル名という)を要求する。これに応じて、OSは、ファイルシステムの画面テーマリソースファイル用ディレクトリに格納されている全ての画面テーマリソースのファイル名を取得し、これを画面テーママネージャに対して返答する。
【0072】
画面テーママネージャは、リソースファイル名を取得すると、それぞれのリソースファイル名にテーマ番号(テーマNO.)を付け、テーマNO.とリソースファイル名とを対応づけた対応表を作成する(ステップA10)。また、画面テーママネージャは、取得されたリソースファイル名に基づいてリソースファイル数を求め、画面テーマ設定アプリに返答する。
画面テーマ設定アプリは、リソースファイル数を受け取ると、リソースファイル数に応じた数の欄を有するリストを作成する(ステップA20)。なお、リストの各欄は、画面テーママネージャが管理するテーマNO.とリソースファイル名との対応表のテーマNO.と関連づけられている。
【0073】
次に、上述のようにして作成されるリストの各欄にタイトル文字列を組み込むべく、画面テーマ設定アプリ(ここでは画面テーママネージャも含む)にしたがって、制御部4によって、以下のタイトル文字列組込処理が行なわれる。
まず、図3に示すように、画面テーマ設定アプリは、画面テーママネージャに対して、リストの各欄に表示すべき画面テーマのタイトル文字列を各欄毎に要求する。
【0074】
これに応じて、画面テーママネージャは、要求された欄に関連づけられているテーマNO.に基づいてリソースファイル名を特定し(ステップA30)、このリソースファイル名に基づいて、OSに対して、画面テーマリソースファイルに格納されている画面テーマのタイトル文字列を要求する。
そして、画面テーママネージャは、OSからタイトル文字列の返答があると、これを要求された欄に表示すべき画面テーマのタイトル文字列として、画面テーマ設定アプリに返答する。
【0075】
画面テーマ設定アプリは、画面テーマのタイトル文字列の返答があると、上述のようにして作成したリストの各欄に、対応する画面テーマのタイトル文字列を組み込む処理(タイトル文字列組込処理)を行なう(ステップA40)。
次いで、現在の画面テーマのタイトル文字列が表示される欄と他の画面テーマのタイトル文字列が表示される欄とをユーザが識別できるように、現在の画面テーマのタイトル文字列が表示される欄にフォーカスを当てるべく(強調表示すべく)、画面テーマ設定アプリ(ここでは画面テーママネージャも含む)にしたがって、制御部4によって、以下の処理が行なわれる。
【0076】
まず、図3に示すように、画面テーマ設定アプリは、画面テーママネージャに対して、現在の画面テーマのテーマNO.を要求する。
これに応じて、画面テーママネージャは、OS(ここではカーネル)に対して、現在の画面テーマのリソースファイル名を要求する。
そして、画面テーママネージャは、OS(ここではカーネル)から現在の画面テーマのリソースファイル名の返答があると、テーマNO.とリソースファイル名とを対応づけて対応表を用いて、現在の画面テーマのリソースファイル名に対応するテーマNO.を特定し(ステップA50)、これを現在の画面テーマのテーマNO.として、画面テーマ設定アプリに返答する。
【0077】
画面テーマ設定アプリは、現在の画面テーマのテーマNO.の返答を受けると、この現在の画面テーマのテーマNO.に関連づけられている欄を現在の画面テーマのタイトル文字列を表示する欄として特定し、この欄と他の画面テーマのタイトル文字列が表示される欄とをユーザが識別できるように、現在の画面テーマのタイトル文字列を表示する欄にフォーカスが当たるようにして画面テーマリスト(画面テーマ一覧)を完成させ、この画面テーマリストを含むGUI画面をディスプレイ上に表示させる(ステップA60)。
【0078】
ここで、図7では、画面テーマ設定アプリのGUI画面として、8つの欄を有する画面テーマリスト,選択ボタン,スクロールボタン,アンテナ・電池残量等を含むGUI画面をディスプレイ上に表示した状態を例示している。
また、図7中、画面テーマリストの第1欄から第8欄までの各欄に順に、"AccessoriesRuby","AccessoriesSapphire","ClassicalGreen","ClassicalTomato","FancyOrange","FancyPink","ForestAqua","ForestYellow"と組み込まれている文字列が、画面テーマのタイトル文字列である。
【0079】
さらに、図7では、現在の画面テーマのタイトル文字列を表示する欄として、ユーザが識別しうるように、"FancyPink"というタイトル文字列が表示されている第1欄にフォーカスが当てられた状態を例示している。
また、現在の画面テーマが"FancyPink"という画面テーマになっており、上述の画面テーマ設定アプリによるGUI画面の描画処理(例えばステップA20,A40,A60)として、上述したアプリによるGUI画面の描画処理(図2参照)と同様の処理が行なわれるため、例えば図7に示すように、画面テーマ設定アプリのGUI画面が、"FancyPink"という画面テーマで全体的に統一されたものとして表示される。
【0080】
次に、上述のようにしてディスプレイ上に表示された画面テーマ設定アプリのGUI画面を介して画面テーマの設定を行なう場合に、画面テーマ設定アプリ(ここでは画面テーママネージャも含む)にしたがって制御部4が実行する画面テーマ設定処理(画面テーマを他の画面テーマに変更する処理)について、図4を参照しながら説明する。
【0081】
まず、ユーザが操作部3を操作して他の画面テーマのタイトル文字列が表示されている欄を選択すると、画面テーマ設定アプリは、画面テーママネージャに対して、選択された画面テーマの画面テーマ定義データを要求する。
これに応じて、画面テーママネージャは、テーマNO.とリソースファイル名とを対応づけて対応表を用いて、選択された画面テーマのタイトル文字列が表示されている欄に関連づけられているテーマNO.に対応するリソースファイル名を特定し(ステップB10)、このリソースファイル名に基づいて、OSに対して、画面テーマ定義データを要求する。
【0082】
そして、画面テーママネージャは、OSから画面テーマ定義データの返答を受けると、これを選択された画面テーマ定義データとして、画面テーマ設定アプリに返答する。
画面テーマ設定アプリは、選択された画面テーマ定義データの返答を受けると、画面テーマのリストを含むGUI画面の画面テーマを切り替えて表示する(ステップB20)。具体的には、画面テーマ設定アプリは、後述するGUI画面の再描画処理(図6参照)と同様の処理を行なって、画面テーマ設定アプリのGUI画面を再描画することで、GUI画面の画面テーマを切り替えることになる。
【0083】
このように、制御部4が、画面テーマ設定アプリ(ここでは画面テーママネージャも含む)にしたがって、画面テーマ設定アプリのGUI画面に含まれる画面テーマリストの選択位置に応じて、GUI画面の画面テーマを切り替える処理を実行するようにしている。
その後、ユーザが、操作部3を操作して図7のGUI画面上に表示されている「選択」ボタンを押すことで、画面テーマを他の画面テーマに切り替えることを決定する指令(画面テーマ決定指令)を出した場合、画面テーマ設定アプリは、画面テーママネージャに対して、決定された画面テーマのタイトル文字列が表示されている欄のテーマNO.を通知して、現在の画面テーマのリソースファイル名を書き換えるように要求する。
【0084】
これに応じて、画面テーママネージャは、テーマNO.とリソースファイル名とを対応づけて対応表を用いて、決定された画面テーマのタイトル文字列が表示されている欄に関連づけられているテーマNO.に対応するリソースファイル名を特定し(ステップB30)、OS(ここではカーネル)に対して、特定されたリソースファイル名を通知して、現在の画面テーマのリソースファイル名を書き換えるように要求する。
【0085】
OS(ここではカーネル)は、画面テーママネージャからの現在の画面テーマのリソースファイル名の書換要求を受けると、自らが管理している現在の画面テーマのリソースファイル名を、特定されたリソースファイル名に書き換える(ステップB40)。
なお、ここでは、ユーザによる画面テーマの選択時に、画面テーマ設定アプリのGUI画面自体の画面テーマを切り替えるようにしているが、これに限られるものではなく、例えば、予め画面テーマリソースファイルにそれぞれの画面テーマに対応するビットマップイメージを格納しておき、制御部4が、画面テーマ設定アプリ(ここでは画面テーママネージャも含む)にしたがって、以下のような処理を行なうことで、画面テーマ設定アプリのGUI画面上にビットマップイメージを表示させるようにしても良い。
【0086】
この場合、まず、図5に示すように、ユーザが操作部を操作して他の画面テーマのタイトル文字列が表示されている欄を選択すると、画面テーマ設定アプリは、画面テーママネージャに対して、選択された画面テーマのビットマップイメージを要求する。
これに応じて、画面テーママネージャは、テーマNO.とリソースファイル名とを対応づけて対応表を用いて、選択された画面テーマのタイトル文字列が表示されている欄に関連づけられているテーマNO.に対応するリソースファイル名を特定し(ステップC10)、このリソースファイル名に基づいて、OSに対して、画面テーマのビットマップイメージを要求する。
【0087】
そして、画面テーママネージャは、OSから画面テーマのビットマップイメージの返答を受けると、これを選択された画面テーマのビットマップイメージとして、画面テーマ設定アプリに返答する。
画面テーマ設定アプリは、選択された画面テーマのビットマップイメージの返答を受けると、画面テーマリストを含むGUI画面上にビットマップイメージを表示させる(ステップC20)。
【0088】
このように、制御部4が、画面テーマ設定アプリ及び画面テーママネージャにしたがって、画面テーマ設定アプリのGUI画面に含まれる画面テーマリストの選択位置に応じて、GUI画面上にビットマップイメージを表示させる処理を実行するようにしている。
その後、ユーザが、操作部を操作して図7のGUI画面上に表示されている「選択」ボタンを押すことで、画面テーマを他の画面テーマに切り替えることを決定する指令(画面テーマ決定指令)を出した場合、画面テーマ設定アプリは、画面テーママネージャに対して、現在の画面テーマのリソースファイル名の変更を要求する。
【0089】
これに応じて、画面テーママネージャは、テーマNO.とリソースファイル名とを対応づけて対応表を用いて、決定された画面テーマのタイトル文字列が表示されている欄に関連づけられているテーマNO.に対応するリソースファイル名を特定し(ステップC30)、OS(ここではカーネル)に対して、特定されたリソースファイル名を通知して、現在の画面テーマのリソースファイル名を書き換えるように要求する。
【0090】
OS(ここではカーネル)は、画面テーママネージャからの現在の画面テーマのリソースファイル名の書換要求を受けると、自らが管理している現在の画面テーマのリソースファイル名を、特定されたリソースファイル名に書き換える(ステップC40)。
▲3▼画面テーマ切替時のアプリのGUI画面の再描画処理
次に、上述のようにして画面テーマを切り替えるべく他の画面テーマの設定が行なわれた場合に、GUI画面クラス及びGUI画面テーマクラスを含むアプリにしたがって、制御部4が実行するアプリのGUI画面の再描画処理(画面テーマ切替処理)について、図6を参照しながら説明する。
【0091】
なお、ここでは、GUI画面の構成要素としてのボタン(ここでは2つのボタン1,2)の再描画処理について説明するが、例えばリストなどの他の構成要素についても同様の再描画処理が行なわれる。
まず、上述のようにして画面テーマを他の画面テーマに切り替える決定がなされ、OS(ここではカーネル)のメモリ領域に記憶されている現在のリソースファイル名(画面テーマに関する情報)が書き換えられた場合に、図6に示すように、OS(ここではカーネル)が、現在のリソースファイル名が書き換えられた時点で起動している各アプリ(ここではGUI画面テーマクラス)に対して、画面テーマの変更通知がなされる。
【0092】
本実施形態では、OSが、起動している各アプリケーションに対してイベントを発することができるようにポインタの設定が可能となっているため、このOSの機能を利用して、各アプリ(ここではGUI画面テーマクラス)に対してイベントを発することができるようにポインタを設定しておき、現在のリソースファイル名が書き換えられた場合に、OSが、ポインタを用いて各アプリ(ここではGUI画面テーマクラス)に対してイベントを発することで、画面テーマの変更通知が行なわれるようになっている。
【0093】
GUI画面テーマクラスは、画面テーマの変更通知(イベント)を受けると、OS(ここではカーネル)に対して、現在の画面テーマのリソースファイル名を要求するメッセージを出す。
具体的には、GUI画面テーマクラスは、例えばボタン画面テーマクラスなどのGUI部品画面テーマクラスを集約したものとして構成されるため、各GUI部品画面テーマクラスが、OS(ここではカーネル)に対して、現在の画面テーマのリソースファイル名を要求するメッセージを出す。
【0094】
これに応じて、OS(ここではカーネル)は、OS(ここではカーネル)のメモリ領域に記憶されている現在のリソースファイル名を読み出して、これをGUI画面テーマクラス(具体的には各GUI部品画面テーマクラス)に通知する。なお、この段階では、現在のリソースファイル名は画面テーマ切替後のリソースファイル名に書き換えられている。
【0095】
GUI画面テーマクラス(具体的にはGUI部品画面テーマクラス)は、リソースファイル名を受け取ると、OSに対して、それぞれのGUI部品(例えばボタン)の画面テーマ定義データを要求する。ここでは、GUI画面テーマクラス(具体的にはGUI部品画面テーマクラス)は、リソースファイル名及びそれぞれのGUI部品(例えばボタン)の画面テーマ定義データが格納されているアドレスをOSに対して通知して、それぞれのGUI部品(例えばボタン)の画面テーマ定義データを要求する。
【0096】
これに対して、OSは、リソースファイル名及びそれぞれのGUI部品(例えばボタン)の画面テーマ定義データが格納されているアドレスを用いて、該当する画面テーマリソースファイルからそれぞれのGUI部品(例えばボタン)の画面テーマ定義データを読み出し、これをGUI画面テーマクラス(具体的にはGUI部品画面テーマクラス)に通知する。
【0097】
GUI画面テーマクラス(具体的にはGUI部品画面テーマクラス)は、各GUI部品(例えばボタン)の画面テーマ定義データを受け取ると、これらを用いて、GUI部品画面テーマインスタンス用メモリ領域(例えばボタン画面テーマインスタンス用メモリ領域)に格納されているそれぞれのGUI部品画面テーマインスタンス(例えばボタン画面テーマインスタンス)を更新する(ステップD10)。
【0098】
つまり、アプリ起動時に、GUI部品画面テーマクラス(例えばボタン画面テーマインスタンス)のコンストラクタによって予め初期化されているGUI部品画面テーマインスタンス(例えばボタン画面テーマインスタンス)の属性を、画面テーマ定義データを用いて設定しなおすことでGUI部品画面テーマインスタンスを更新する。
【0099】
このようにして、GUI画面テーマクラスを含むものとして構成されるアプリケーションプログラムにしたがって、制御部4が、切替後の画面テーマの画面テーマ定義データを画面テーマリソースファイルから読み出し、アプリのために確保されたメモリ領域に記憶させる切替時画面テーマ読出処理ステップを実行することになる。ここでは、画面テーマ定義データは、GUI部品画面テーマインスタンスの属性値としてアプリのメモリ領域に記憶される。
【0100】
この場合、画面テーマ切替後のGUI部品画面テーマインスタンス(例えばボタン画面テーマインスタンス)が格納されているGUI部品画面テーマインスタンス用メモリ領域のアドレスは、画面テーマ切替前のアドレスと変わらないため、GUI部品画面テーマ用ポインタ(例えばボタン画面テーマ用ポインタ)は変更されない。
【0101】
このようにして、GUI画面テーマクラス(具体的にはGUI部品画面テーマクラス)が、GUI画面を構成するGUI部品の画面テーマインスタンス(GUI部品画面テーマインスタンス)の全てを更新した後、GUI画面クラスに対してGUI画面の無効化通知(画面無効化通知)を行なう。
GUI画面クラスが、画面無効化通知を受けると、GUI画面クラスに含まれる各GUI部品クラスがそれぞれ各GUI部品を再描画する(ステップD20)。
【0102】
例えば、ボタン1,ボタン2を含むGUI画面を再描画する場合を例に説明する。
まず、GUI画面クラスは、ボタンクラスに対して、ボタン1の再描画を要求するメッセージを出す。これに応じて、ボタンクラスは、更新されたボタン画面テーマインスタンス及びボタン1インスタンスを用いてボタン1を再描画する。つまり、ボタンクラスは、ボタン1インスタンス用ポインタを用いてボタン1インスタンスを読み出し、さらにボタン画面テーマインスタンス用ポインタを用いてボタン画面テーマインスタンスを読み出して、ボタン1を再描画する。
【0103】
次いで、GUI画面クラスは、ボタンクラスに対して、ボタン2の再描画を要求するメッセージを出す。これに応じて、ボタンクラスは、更新されたボタン画面テーマインスタンス及びボタン2インスタンスを用いてボタン2を再描画する。つまり、ボタンクラスは、ボタン2インスタンス用ポインタを用いてボタン2インスタンスを読み出し、さらにボタン画面テーマインスタンス用ポインタを用いてボタン画面テーマインスタンスを読み出して、ボタン2を再描画する。
【0104】
このように、ボタンクラスは、切替後の画面テーマの画面テーマ定義データをOSによって管理されている画面テーマリソースファイルから読み出すのではなく、上述のようにしてアプリのメモリ領域に記憶した画面テーマ定義データ(ボタン画面テーマインスタンス)を用いて、2つのボタン1,ボタン2を再描画することになる。
【0105】
これは、GUI画面クラスを含むものとして構成されるアプリケーションプログラムにしたがって、制御部4が、アプリのメモリ領域に記憶されている画面テーマ定義データ(GUI部品画面テーマインスタンス)を用いてGUI画面に含まれる複数個のGUI部品を描画するGUI画面描画処理ステップを実行することを意味する。この機能をGUI画面描画処理手段という。
【0106】
このようにして、アプリとOSとの間のコンテキストスイッチングを減らして、オーバーヘッドを抑えるようにして、各アプリの画面テーマの切替が高速で行なわれるようにしている。
例えば画面テーマが"FancyPink"に設定されている場合(図7参照)、各アプリのGUI画面(ここでは電話帳アプリのGUI画面)は、例えば図8に示すような画面として表示されるが、これを、上述のようにして画面テーマ設定アプリを用いて画面テーマを切り替えて、切替後の画面テーマを例えば"ForestYellow"に設定した場合(図9参照)、各アプリのGUI画面(ここでは電話帳アプリのGUI画面)は、例えば図10に示すような画面に高速で切り替わることになる。
【0107】
したがって、本実施形態にかかる携帯端末としての携帯電話及びアプリケーションプログラムによれば、アプリケーションの画面が全体的に統一されたテーマ(画面テーマ)で表現され、このような画面テーマを高速で切り替える機能を実装できるという利点がある。また、できるだけ少ないメモリ領域を使用しながら、画面テーマの切替(特に高速切替)を実現できるという利点もある。
【0108】
なお、上述の実施形態では、携帯電話を例に説明したが、携帯端末は、携帯電話に限られるものではなく、例えば携帯情報端末(PDA;Personal Digital Assistants)などの携帯型の端末が含まれる。また、上述の実施形態では、本発明を携帯電話に適用したものとして説明したが、本発明は、携帯電話をはじめとする携帯端末に適用できるだけでなく、画面テーマの切替機能を備える例えばパーソナルコンピュータのようなものにも適用できる。
【0109】
また、上述の実施形態では、画面テーマ切替処理を制御部4に実行させるアプリケーションプログラム(携帯電話用アプリケーションプログラム)を備える携帯電話について説明したが、このようなアプリーションプログラムは、コンピュータ読取可能な記録媒体に格納することができ、記録媒体に格納した状態で頒布し、市場を流通させ、また売買することができる。
【0110】
そして、このような記録媒体に格納されているアプリケーションプログラムを携帯電話などの携帯端末やパーソナルコンピュータなどのコンピュータにインストールし、携帯端末やコンピュータがこのプログラムを実行することで、上述の実施形態で説明したものと同様の作用,効果が得られる。
ここで、記録媒体には、例えば半導体メモリなどのメモリ,磁気ディスク,光ディスク(例えばCD−ROM等),光磁気ディスク(MO),磁気テープ,ハードディスク,フレキシブルディスク,ICカード,ROMカートリッジ,パンチカード,コンピュータ内部の記憶装置(RAMやROMなどのメモリ),外部記憶装置等のプログラムを記録することができるものが含まれる。また、バーコードなどの符号が印刷された印刷物等のコンピュータ読取可能な種々の媒体を利用することもできる。なお、CD−ROM,MO,磁気テープ,ICカード等を可搬型記録媒体ともいう。
【0111】
なお、ここでは、アプリケーションプログラムをコンピュータ読取可能な記録媒体に格納しているが、記録媒体に格納しなくても良い。また、アプリケーションプログラムは、上述のような記録媒体に格納せずに、例えば伝送媒体としてのネットワーク(通信ネットワーク)を介して伝送(送受信)することもでき、これによりアプリケーションプログラムを頒布し、市場を流通させ、また売買することもできる。例えば、アプリケーションプログラムをウェブサーバ等にアップロードしたり、インターネット等のネットワークを経由して例えばウェブサーバ等からダウンロードしたりすることもできる。
【0112】
また、本発明は、上述した実施形態に限定されず、上記以外にも、本発明の趣旨を逸脱しない範囲で種々変形して実施することができる。
(付記1) 同種のグラフィカル・ユーザ・インターフェース(以下、GUIという)部品を複数個含むGUI画面を表示させるアプリケーションプログラムのGUI画面の画面テーマを切り替える処理を実行する制御部と、
画面テーマを定義する画面テーマ定義データを格納する記憶部とを備え、
前記制御部が、
切替後の画面テーマの画面テーマ定義データを前記記憶部から読み出し、前記アプリケーションプログラムのために確保されたメモリ領域に記憶させる切替時画面テーマ読出処理ステップと、
前記アプリケーションプログラムのメモリ領域に記憶されている画面テーマ定義データを用いて前記GUI画面に含まれる同種の複数個のGUI部品を描画するGUI画面描画処理ステップとを含む処理を実行するように構成されることを特徴とする、携帯端末。
【0113】
(付記2) 前記制御部が、前記切替時画面テーマ読出処理ステップにおいて、前記記憶部から前記GUI画面に含まれるGUI部品の画面テーマ定義データのみを読み出し、前記アプリケーションプログラムのメモリ領域に記憶させる処理を実行するように構成されることを特徴とする、付記1記載の携帯端末。
(付記3) 前記制御部が、
前記アプリケーションプログラムの起動時に、デフォルトとして設定された画面テーマの画面テーマ定義データを前記記憶部から読み出し、前記アプリケーションプログラムのメモリ領域に記憶させるアプリ起動時画面テーマ読出処理ステップを実行するように構成され、
前記切替時画面テーマ読出処理ステップにおいて、切替後の画面テーマの画面テーマ定義データを前記記憶部から読み出し、前記アプリケーションプログラムのメモリ領域に記憶されている画面テーマ定義データを更新する処理を実行するように構成されることを特徴とする、付記1又は2記載の携帯端末。
【0114】
(付記4) 前記制御部が、前記切替時画面テーマ読出処理ステップにおいて、オペレーティングシステムによって管理される画面テーマに関する情報を用いて前記記憶部から画面テーマ定義データを読み出す処理を実行するように構成されることを特徴とする、付記1〜3のいずれか1項に記載の携帯端末。
(付記5) 前記制御部が、
前記記憶部に格納されている画面テーマ定義データを読み出し、オペレーティングシステムのために確保されたメモリ領域に展開する処理を実行するように構成され、
前記記憶部から前記画面テーマ定義データを読み出すのに代えて、前記記憶部から読み出され、前記オペレーティングシステムのメモリ領域に展開されている前記画面テーマ定義データを読み出す処理を実行するように構成されることを特徴とする、付記1〜4のいずれか1項に記載の携帯端末。
【0115】
(付記6) 前記制御部が、オペレーティングシステムによって管理される画面テーマに関する情報が書き換えられた場合に、前記切替時画面テーマ読出処理ステップ及び前記GUI画面描画処理ステップを実行するように構成されることを特徴とする、付記1〜5のいずれか1項に記載の携帯端末。
(付記7) 前記制御部が、
画面テーマの設定に用いる画面テーマ設定アプリケーションプログラムにしたがって、画面テーマ決定指令に応じて、オペレーティングシステムによって管理される画面テーマに関する情報を切替後の画面テーマに関する情報に書き換える処理を実行するように構成され、
前記オペレーティングシステムにしたがって、前記画面テーマに関する情報が書き換えられた場合に、前記アプリケーションプログラムに対して画面テーマ変更通知を行なう処理を実行するように構成され、
前記アプリケーションプログラムにしたがって、前記オペレーティングシステムからの画面テーマ変更通知を受けた場合に、前記切替時画面テーマ読出処理ステップ及び前記GUI画面描画処理ステップを実行するように構成されることを特徴とする、付記1〜5のいずれか1項に記載の携帯端末。
【0116】
(付記8) 前記制御部が、画面テーマの設定に用いる画面テーマ設定アプリケーションプログラムのGUI画面に含まれる画面テーマリストの選択位置に応じて、前記画面テーマ設定アプリケーションプログラムのGUI画面の画面テーマを切り替える処理を実行するように構成されることを特徴とする、付記1〜7のいずれか1項に記載の携帯端末。
【0117】
(付記9) 前記制御部が、画面テーマの設定に用いる画面テーマ設定アプリケーションプログラムのGUI画面に含まれる画面テーマリストの選択位置に応じて、前記画面テーマ設定アプリケーションプログラムのGUI画面上にビットマップイメージを表示させる処理を実行するように構成されることを特徴とする、付記1〜7のいずれか1項に記載の携帯端末。
【0118】
(付記10) 同種のグラフィカル・ユーザ・インターフェース(以下、GUIという)部品を複数個含むGUI画面の画面テーマを切り替える画面テーマ切替処理をコンピュータに実行させるためのアプリケーションプログラムであって、
前記画面テーマ切替処理が、
切替後の画面テーマの画面テーマ定義データを画面テーマリソースファイルから読み出し、前記アプリケーションプログラムのために確保されたメモリ領域に記憶させる切替時画面テーマ読出処理ステップと、
前記アプリケーションプログラムのメモリ領域に記憶されている画面テーマ定義データを用いて前記GUI画面に含まれる同種の複数個のGUI部品を描画するGUI画面描画処理ステップとを含むことを特徴とする、アプリケーションプログラム。
【0119】
(付記11) 前記切替時画面テーマ読出処理ステップにおいて、前記画面テーマリソースファイルから前記GUI画面に含まれるGUI部品の画面テーマ定義データのみを読み出し、前記アプリケーションプログラムのメモリ領域に記憶させる処理を前記コンピュータに実行させるように構成されることを特徴とする、付記10記載のアプリケーションプログラム。
【0120】
(付記12) 起動時に、デフォルトとして設定された画面テーマの画面テーマ定義データを前記画面テーマリソースファイルから読み出し、前記アプリケーションプログラムのメモリ領域に記憶させる起動時画面テーマ読出処理ステップを前記コンピュータに実行させるように構成され、
前記切替時画面テーマ読出処理ステップにおいて、切替後の画面テーマの画面テーマ定義データを前記画面テーマリソースファイルから読み出し、前記アプリケーションプログラムのメモリ領域に記憶されている画面テーマ定義データを更新する処理を前記コンピュータに実行させるように構成されることを特徴とする、付記10又は11記載のアプリケーションプログラム。
【0121】
(付記13) 前記切替時画面テーマ読出処理ステップにおいて、オペレーティングシステムによって管理される画面テーマに関する情報を用いて前記画面テーマリソースファイルから画面テーマ定義データを読み出す処理を前記コンピュータに実行させるように構成されることを特徴とする、付記10〜12のいずれか1項に記載のアプリケーションプログラム。
【0122】
(付記14) 前記画面テーマリソースファイルから前記画面テーマ定義データを読み出すのに代えて、前記画面テーマリソースファイルから読み出され、オペレーティングシステムのために確保されたメモリ領域に展開されている前記画面テーマ定義データを読み出す処理を前記コンピュータに実行させるように構成されることを特徴とする、付記10〜13のいずれか1項に記載のアプリケーションプログラム。
【0123】
(付記15) オペレーティングシステムによって管理される画面テーマに関する情報が書き換えられたときに前記オペレーティングシステムから発せられる画面テーマ変更通知を受けた場合に、前記切替時画面テーマ読出処理ステップ及び前記GUI画面描画処理ステップを前記コンピュータに実行させるように構成されることを特徴とする、付記10〜14のいずれか1項に記載のアプリケーションプログラム。
【0124】
(付記16) 同種のグラフィカル・ユーザ・インターフェース(以下、GUIという)部品を複数個含むGUI画面の画面テーマを切り替える画面テーマ切替処理をコンピュータに実行させるためのアプリケーションプログラムを格納したコンピュータ読取可能な記憶媒体であって、
前記画面テーマ切替処理が、
切替後の画面テーマの画面テーマ定義データを画面テーマリソースファイルから読み出し、前記アプリケーションプログラムのために確保されたメモリ領域に記憶させる切替時画面テーマ読出処理ステップと、
前記アプリケーションプログラムのメモリ領域に記憶されている画面テーマ定義データを用いて前記GUI画面に含まれる同種の複数個のGUI部品を描画するGUI画面描画処理ステップとを含むことを特徴とする、アプリケーションプログラムを格納したコンピュータ読取可能な記憶媒体。
【0125】
(付記17) 前記アプリケーションプログラムが、前記切替時画面テーマ読出処理ステップにおいて、前記画面テーマリソースファイルから前記GUI画面に含まれるGUI部品の画面テーマ定義データのみを読み出し、前記アプリケーションプログラムのメモリ領域に記憶させる処理を前記コンピュータに実行させるように構成されることを特徴とする、付記16記載のアプリケーションプログラムを格納したコンピュータ読取可能な記憶媒体。
【0126】
(付記18) 前記アプリケーションプログラムが、
起動時に、デフォルトとして設定された画面テーマの画面テーマ定義データを前記画面テーマリソースファイルから読み出し、前記アプリケーションプログラムのメモリ領域に記憶させるアプリ起動時画面テーマ読出処理ステップを含む処理を前記コンピュータに実行させるように構成され、
前記切替時画面テーマ読出処理ステップにおいて、切替後の画面テーマの画面テーマ定義データを前記画面テーマリソースファイルから読み出し、前記アプリケーションプログラムのメモリ領域に記憶されている画面テーマ定義データを更新する処理を前記コンピュータに実行させるように構成されることを特徴とする、付記16又は17記載のアプリケーションプログラムを格納したコンピュータ読取可能な記憶媒体。
【0127】
(付記19) 前記アプリケーションプログラムが、前記切替時画面テーマ読出処理ステップにおいて、オペレーティングシステムによって管理される画面テーマに関する情報を用いて前記画面テーマリソースファイルから画面テーマ定義データを読み出す処理を前記コンピュータに実行させるように構成されることを特徴とする、付記16〜18のいずれか1項に記載のアプリケーションプログラムを格納したコンピュータ読取可能な記憶媒体。
【0128】
(付記20) 前記アプリケーションプログラムが、前記画面テーマリソースファイルから前記画面テーマ定義データを読み出すのに代えて、前記画面テーマリソースファイルから読み出され、オペレーティングシステムのために確保されたメモリ領域に展開されている前記画面テーマ定義データを読み出す処理を前記コンピュータに実行させるように構成されることを特徴とする、付記16〜19のいずれか1項に記載のアプリケーションプログラムを格納したコンピュータ読取可能な記憶媒体。
【0129】
(付記21) 前記アプリケーションプログラムが、オペレーティングシステムによって管理される画面テーマに関する情報が書き換えられたときに前記オペレーティングシステムから発せられる画面テーマ変更通知を受けた場合に、前記切替時画面テーマ読出処理ステップ及び前記GUI画面描画処理ステップを前記コンピュータに実行させるように構成されることを特徴とする、付記16〜20のいずれか1項に記載のアプリケーションプログラムを格納したコンピュータ読取可能な記憶媒体。
【0130】
【発明の効果】
以上詳述したように、本発明の携帯端末及びアプリケーションプログラムによれば、アプリケーションの画面が全体的に統一されたテーマ(画面テーマ)で表現され、GUI画面の画面テーマを高速で切り替えることができるという利点がある。また、できるだけ少ないメモリ領域を使用しながら、GUI画面の画面テーマの切替(特に高速切替)を実現できるという利点もある。
【図面の簡単な説明】
【図1】本発明の一実施形態にかかる携帯電話の全体構成を示す模式図である。
【図2】本発明の一実施形態にかかる携帯電話におけるアプリ起動時のアプリのGUI画面の描画処理について説明するためのシーケンス図である。
【図3】本発明の一実施形態にかかる携帯電話における画面テーマ設定時の画面テーマリストの表示処理について説明するためのシーケンス図である。
【図4】本発明の一実施形態にかかる携帯電話における画面テーマ設定時の画面テーマ選択時,決定時の処理について説明するためのシーケンス図である。
【図5】本発明の一実施形態にかかる携帯電話における画面テーマ設定時の画面テーマ選択時,決定時の処理の他の例について説明するためのシーケンス図である。
【図6】本発明の一実施形態にかかる携帯電話におけるアプリのGUI画面の画面テーマ切替時の処理について説明するためのシーケンス図である。
【図7】本発明の一実施形態にかかる携帯電話において表示される画面テーマリストの例を示す図である。
【図8】本発明の一実施形態にかかる携帯電話において表示されるアプリのGUI画面の例を示す図である。
【図9】本発明の一実施形態にかかる携帯電話において表示される画面テーマリストの選択位置を変えた場合の例を示す図である。
【図10】本発明の一実施形態にかかる携帯電話において表示されるアプリのGUI画面の画面テーマが切り替えられた場合の例を示す図である。
【符号の説明】
1 携帯電話(携帯端末)
2 ディスプレイ
3 操作部
4 制御部
5 記憶部
Claims (10)
- 複数のアプリケーションプログラムをそれぞれ異なるメモリ領域を使用して動作させるマルチプロセスオペレーティングシステムを備える携帯端末であって、
同種のグラフィカル・ユーザ・インターフェース(以下、GUIという)部品を複数個含むGUI画面を表示させるアプリケーションプログラムのGUI画面の画面テーマを切り替える処理を実行する制御部と、
画面テーマを定義する画面テーマ定義データを格納する記憶部とを備え、
前記制御部が、
切替後の画面テーマの画面テーマ定義データを前記記憶部から読み出し、前記アプリケーションプログラムのために確保されたメモリ領域に記憶させる切替時画面テーマ読出処理ステップと、
前記アプリケーションプログラムのメモリ領域に記憶されている画面テーマ定義データを用いて前記GUI画面に含まれる同種の複数個のGUI部品を描画するGUI画面描画処理ステップとを含む処理を実行するように構成されることを特徴とする、携帯端末。 - 前記制御部が、前記切替時画面テーマ読出処理ステップにおいて、前記記憶部から前記GUI画面に含まれるGUI部品の画面テーマ定義データのみを読み出し、前記アプリケーションプログラムのメモリ領域に記憶させる処理を実行するように構成されることを特徴とする、請求項1記載の携帯端末。
- 前記制御部が、
前記アプリケーションプログラムの起動時に、デフォルトとして設定された画面テーマの画面テーマ定義データを前記記憶部から読み出し、前記アプリケーションプログラムのメモリ領域に記憶させるアプリ起動時画面テーマ読出処理ステップを実行するように構成され、
前記切替時画面テーマ読出処理ステップにおいて、切替後の画面テーマの画面テーマ定義データを前記記憶部から読み出し、前記アプリケーションプログラムのメモリ領域に記憶されている画面テーマ定義データを更新する処理を実行するように構成されることを特徴とする、請求項1又は2記載の携帯端末。 - 前記制御部が、前記切替時画面テーマ読出処理ステップにおいて、オペレーティングシステムによって管理される画面テーマに関する情報を用いて前記記憶部から画面テーマ定義データを読み出す処理を実行するように構成されることを特徴とする、請求項1〜3のいずれか1項に記載の携帯端末。
- 前記制御部が、
前記記憶部に格納されている画面テーマ定義データを読み出し、オペレーティングシステムのために確保されたメモリ領域に展開する処理を実行するように構成され、
前記記憶部から前記画面テーマ定義データを読み出すのに代えて、前記記憶部から読み出され、前記オペレーティングシステムのメモリ領域に展開されている前記画面テーマ定義データを読み出す処理を実行するように構成されることを特徴とする、請求項1〜4のいずれか1項に記載の携帯端末。 - 前記制御部が、オペレーティングシステムによって管理される画面テーマに関する情報が書き換えられた場合に、前記切替時画面テーマ読出処理ステップ及び前記GUI画面描画処理ステップを実行するように構成されることを特徴とする、請求項1〜5のいずれか1項に記載の携帯端末。
- 前記制御部が、
画面テーマの設定に用いる画面テーマ設定アプリケーションプログラムにしたがって、画面テーマ決定指令に応じて、オペレーティングシステムによって管理される画面テーマに関する情報を切替後の画面テーマに関する情報に書き換える処理を実行するように構成され、
前記オペレーティングシステムにしたがって、前記画面テーマに関する情報が書き換えられた場合に、前記アプリケーションプログラムに対して画面テーマ変更通知を行なう処理を実行するように構成され、
前記アプリケーションプログラムにしたがって、前記オペレーティングシステムからの画面テーマ変更通知を受けた場合に、前記切替時画面テーマ読出処理ステップ及び前記GUI画面描画処理ステップを実行するように構成されることを特徴とする、請求項1〜5のいずれか1項に記載の携帯端末。 - 前記制御部が、画面テーマの設定に用いる画面テーマ設定アプリケーションプログラムのGUI画面に含まれる画面テーマリストの選択位置に応じて、前記画面テーマ設定アプリケーションプログラムのGUI画面の画面テーマを切り替える処理を実行するように構成されることを特徴とする、請求項1〜7のいずれか1項に記載の携帯端末。
- 前記制御部が、画面テーマの設定に用いる画面テーマ設定アプリケーションプログラムのGUI画面に含まれる画面テーマリストの選択位置に応じて、前記画面テーマ設定アプリケーションプログラムのGUI画面上にビットマップイメージを表示させる処理を実行するように構成されることを特徴とする、請求項1〜7のいずれか1項に記載の携帯端末。
- 複数のアプリケーションプログラムをそれぞれ異なるメモリ領域を使用して動作させるマルチプロセスオペレーティングシステムを備える携帯端末において、同種のグラフィカル・ユーザ・インターフェース(以下、GUIという)部品を複数個含むGUI画面の画面テーマを切り替える画面テーマ切替処理をコンピュータに実行させるためのアプリケーションプログラムであって、
前記画面テーマ切替処理が、
切替後の画面テーマの画面テーマ定義データを画面テーマリソースファイルから読み出し、前記アプリケーションプログラムのために確保されたメモリ領域に記憶させる切替時画面テーマ読出処理ステップと、
前記アプリケーションプログラムのメモリ領域に記憶されている画面テーマ定義データを用いて前記GUI画面に含まれる同種の複数個のGUI部品を描画するGUI画面描画処理ステップとを含むことを特徴とする、アプリケーションプログラム。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002255729A JP4368098B2 (ja) | 2002-08-30 | 2002-08-30 | 携帯端末及びアプリケーションプログラム |
US10/647,328 US7660604B2 (en) | 2002-08-30 | 2003-08-26 | Mobile terminal |
EP03255381A EP1394676A3 (en) | 2002-08-30 | 2003-08-29 | Mobile terminal |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002255729A JP4368098B2 (ja) | 2002-08-30 | 2002-08-30 | 携帯端末及びアプリケーションプログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2004094656A JP2004094656A (ja) | 2004-03-25 |
JP4368098B2 true JP4368098B2 (ja) | 2009-11-18 |
Family
ID=31492682
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002255729A Expired - Fee Related JP4368098B2 (ja) | 2002-08-30 | 2002-08-30 | 携帯端末及びアプリケーションプログラム |
Country Status (3)
Country | Link |
---|---|
US (1) | US7660604B2 (ja) |
EP (1) | EP1394676A3 (ja) |
JP (1) | JP4368098B2 (ja) |
Families Citing this family (34)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050102380A1 (en) * | 2003-11-06 | 2005-05-12 | International Business Machines Corporation | Method, system, and computer program product for theme configuration and deployment |
US8376855B2 (en) | 2004-06-28 | 2013-02-19 | Winview, Inc. | Methods and apparatus for distributed gaming over a mobile device |
US8870639B2 (en) | 2004-06-28 | 2014-10-28 | Winview, Inc. | Methods and apparatus for distributed gaming over a mobile device |
US10226698B1 (en) | 2004-07-14 | 2019-03-12 | Winview, Inc. | Game of skill played by remote participants utilizing wireless devices in connection with a common game event |
KR100631755B1 (ko) * | 2005-01-25 | 2006-10-11 | 삼성전자주식회사 | 자바 응용 프로그램의 룩을 실시간으로 전환하는 장치 및방법 |
US7917860B2 (en) * | 2005-03-03 | 2011-03-29 | Microsoft Corporation | Simple styling |
JP4391434B2 (ja) * | 2005-03-10 | 2009-12-24 | フェリカネットワークス株式会社 | テーマ変更システム,携帯通信装置,サーバ装置,およびコンピュータプログラム |
EP1904196A2 (en) | 2005-06-20 | 2008-04-02 | Airplay Network, Inc. | Method of and system for managing client resources and assets for activities on computing devices |
US10721543B2 (en) | 2005-06-20 | 2020-07-21 | Winview, Inc. | Method of and system for managing client resources and assets for activities on computing devices |
US9511287B2 (en) | 2005-10-03 | 2016-12-06 | Winview, Inc. | Cellular phone games based upon television archives |
US8149530B1 (en) | 2006-04-12 | 2012-04-03 | Winview, Inc. | Methodology for equalizing systemic latencies in television reception in connection with games of skill played in connection with live television programming |
US9919210B2 (en) | 2005-10-03 | 2018-03-20 | Winview, Inc. | Synchronized gaming and programming |
US7636586B2 (en) * | 2005-10-12 | 2009-12-22 | Nokia Corporation | Mobile communication terminal |
US8002618B1 (en) | 2006-01-10 | 2011-08-23 | Winview, Inc. | Method of and system for conducting multiple contests of skill with a single performance |
US9056251B2 (en) | 2006-01-10 | 2015-06-16 | Winview, Inc. | Method of and system for conducting multiple contests of skill with a single performance |
US10556183B2 (en) | 2006-01-10 | 2020-02-11 | Winview, Inc. | Method of and system for conducting multiple contest of skill with a single performance |
US11082746B2 (en) | 2006-04-12 | 2021-08-03 | Winview, Inc. | Synchronized gaming and programming |
US7646392B2 (en) | 2006-05-03 | 2010-01-12 | Research In Motion Limited | Dynamic theme color palette generation |
US8225227B2 (en) * | 2007-01-19 | 2012-07-17 | Microsoft Corporation | Managing display of user interfaces |
US8813112B1 (en) * | 2007-10-23 | 2014-08-19 | Winview, Inc. | Method of and apparatus for utilizing SMS while running an application on a mobile device controlling a viewer's participation with a broadcast |
US9716918B1 (en) | 2008-11-10 | 2017-07-25 | Winview, Inc. | Interactive advertising system |
US20110199388A1 (en) * | 2010-02-17 | 2011-08-18 | Samsung Electronics Co., Ltd. | Method and apparatus for configuring graphical effect in a mobile terminal |
US20120259753A1 (en) * | 2011-04-07 | 2012-10-11 | Amir Orad | System and method for managing collaborative financial fraud detection logic |
US9588652B2 (en) | 2011-12-12 | 2017-03-07 | International Business Machines Corporation | Providing feedback for screen sharing |
US9852432B2 (en) | 2011-12-12 | 2017-12-26 | International Business Machines Corporation | Customizing a presentation based on preferences of an audience |
US20130151624A1 (en) | 2011-12-12 | 2013-06-13 | International Business Machines Corporation | Context-Sensitive Collaboration Channels |
US9141264B2 (en) | 2011-12-14 | 2015-09-22 | International Business Machines Corporation | Variable refresh rates for portions of shared screens |
US9124657B2 (en) | 2011-12-14 | 2015-09-01 | International Business Machines Corporation | Dynamic screen sharing for optimal performance |
US8897552B2 (en) * | 2012-08-01 | 2014-11-25 | Microsoft Corporation | Setting an operating-system color using a photograph |
JP5634464B2 (ja) | 2012-08-31 | 2014-12-03 | 株式会社東芝 | 管理装置および管理プログラム |
KR101536346B1 (ko) * | 2013-08-16 | 2015-07-15 | 주식회사 플레인유니버스 | 주소록을 이용한 호불호(好不好) 정보를 제공하는 방법 및 시스템 |
US11551529B2 (en) | 2016-07-20 | 2023-01-10 | Winview, Inc. | Method of generating separate contests of skill or chance from two independent events |
US11308765B2 (en) | 2018-10-08 | 2022-04-19 | Winview, Inc. | Method and systems for reducing risk in setting odds for single fixed in-play propositions utilizing real time input |
CN112394933A (zh) * | 2020-11-27 | 2021-02-23 | 平安普惠企业管理有限公司 | 一种更换主题资源的方法、装置、设备及可读存储介质 |
Family Cites Families (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH04360228A (ja) | 1991-06-06 | 1992-12-14 | Seiko Epson Corp | 画面の設定方法およびそれを用いた情報処理装置 |
JP3705826B2 (ja) | 1993-03-17 | 2005-10-12 | 株式会社日立製作所 | 仮想3次元ウインドウ表示制御方法 |
DE69526218T2 (de) | 1994-05-16 | 2002-12-12 | Apple Computer, Inc. | System zur anpassung der erscheinung und des verhaltens graphischer benutzeroberflächen |
JPH08297585A (ja) | 1995-04-25 | 1996-11-12 | Hitachi Ltd | オペレーティングシステムによるデータ転送方法 |
JPH08305529A (ja) | 1995-05-08 | 1996-11-22 | Canon Inc | データ処理装置とデータ処理方法 |
US20010056532A1 (en) * | 1996-08-16 | 2001-12-27 | Barnes Cooper | Method and apparatus for fault tolerant flash upgrading |
US5905492A (en) | 1996-12-06 | 1999-05-18 | Microsoft Corporation | Dynamically updating themes for an operating system shell |
JP2000163182A (ja) | 1998-11-25 | 2000-06-16 | Oki Electric Ind Co Ltd | 画面表示システム |
JP4566297B2 (ja) | 1999-01-19 | 2010-10-20 | ソニー株式会社 | 情報処理装置および画像処理方法、並びに記録媒体 |
WO2001020448A2 (en) | 1999-09-17 | 2001-03-22 | Cddb, Inc. | System for creating dynamic graphical user interfaces |
JP2001142673A (ja) | 1999-11-11 | 2001-05-25 | Sony Corp | 情報提供システム |
US6580438B1 (en) | 1999-11-22 | 2003-06-17 | Fuji Xerox Co., Ltd. | Systems and methods for maintaining uniformity in a presentation environment |
EP1143334A3 (en) | 2000-04-06 | 2005-03-30 | Microsoft Corporation | Theme aware graphical user interface |
JP4159238B2 (ja) | 2000-09-26 | 2008-10-01 | 株式会社タイトー | モバイル電話機におけるゲームコンテンツ取入方式 |
JP2002236638A (ja) | 2001-02-09 | 2002-08-23 | Ii D Kontoraibu Kk | Webページ多様化方法及びWebページ多様化システム |
-
2002
- 2002-08-30 JP JP2002255729A patent/JP4368098B2/ja not_active Expired - Fee Related
-
2003
- 2003-08-26 US US10/647,328 patent/US7660604B2/en not_active Expired - Fee Related
- 2003-08-29 EP EP03255381A patent/EP1394676A3/en not_active Ceased
Also Published As
Publication number | Publication date |
---|---|
US7660604B2 (en) | 2010-02-09 |
JP2004094656A (ja) | 2004-03-25 |
EP1394676A2 (en) | 2004-03-03 |
US20040056897A1 (en) | 2004-03-25 |
EP1394676A3 (en) | 2006-08-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4368098B2 (ja) | 携帯端末及びアプリケーションプログラム | |
US8478245B2 (en) | Method and system for rendering content on a wireless device | |
US8103865B2 (en) | Server method and system for rendering content on a wireless device | |
WO2018103550A1 (zh) | 应用程序页面处理方法和装置 | |
TWI463368B (zh) | 提供螢幕鎖定之背景的方法、電子裝置及電腦程式產品 | |
US9575647B2 (en) | Method and apparatus for providing information of multiple applications | |
US20090031243A1 (en) | Method and apparatus for controlling display of windows | |
JP7217357B2 (ja) | ミニプログラムのデータバインディング方法、装置、デバイス及びコンピュータプログラム | |
JP2008117181A (ja) | 携帯端末およびその表示制御方法 | |
JP2012507089A (ja) | ウィンドウ固有の制御の表面化および管理 | |
JPWO2005109176A1 (ja) | ウィンドウ表示システム、ウィンドウ表示方法、プログラム開発支援装置及びサーバ装置 | |
JP4971202B2 (ja) | 情報処理装置及びプログラム | |
US10712910B2 (en) | Electronics apparatus, method for executing application, and computer-readable recording medium | |
CN114995929B (zh) | 一种弹窗的显示方法及装置 | |
CN112130734B (zh) | 基于浮层技术的文档管理方法及设备 | |
KR102619538B1 (ko) | 멀티윈도우 운용 방법 및 이를 지원하는 전자 장치 | |
CN114327733B (zh) | 开机启动交互界面的动态更新方法、装置、设备及介质 | |
CN109032728B (zh) | Ui界面显示方法、智能终端及计算机可读存储介质 | |
CN116991447B (zh) | 一种操作系统更新方法及相关设备 | |
CN117707385B (zh) | 桌面图标调整方法、电子设备及存储介质 | |
CN115277937B (zh) | 待办事项的显示方法及移动终端 | |
CN118093067A (zh) | 显示卡片的方法、电子设备及可读存储介质 | |
JP4177420B2 (ja) | 情報処理システム、クライアント装置、電話機、情報機器、家電機器及び機器 | |
JP2024096308A (ja) | 情報処理装置、情報処理システム、情報処理方法およびプログラム | |
CN118244950A (zh) | 一种微件显示方法及电子设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A821 Effective date: 20031118 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20050411 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20070925 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20080527 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20080725 |
|
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: 20090804 |
|
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: 20090825 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 4368098 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: 20120904 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120904 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130904 Year of fee payment: 4 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313117 |
|
S533 | Written request for registration of change of name |
Free format text: JAPANESE INTERMEDIATE CODE: R313533 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
LAPS | Cancellation because of no payment of annual fees |