JP2013134622A - Information processing device, processing method therefor and program - Google Patents
Information processing device, processing method therefor and program Download PDFInfo
- Publication number
- JP2013134622A JP2013134622A JP2011284440A JP2011284440A JP2013134622A JP 2013134622 A JP2013134622 A JP 2013134622A JP 2011284440 A JP2011284440 A JP 2011284440A JP 2011284440 A JP2011284440 A JP 2011284440A JP 2013134622 A JP2013134622 A JP 2013134622A
- Authority
- JP
- Japan
- Prior art keywords
- screen
- accelerator key
- character string
- setting
- unit
- 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.)
- Pending
Links
Images
Landscapes
- Input From Keyboards Or The Like (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
Description
アプリケーションのアクセラレータキーを設定するための情報処理装置とその処理方法及びプログラムに関する。 The present invention relates to an information processing apparatus for setting an accelerator key of an application, a processing method thereof, and a program.
デスクトップPC用アプリケーションのGUIでは、メニューやボタンなどの画面部品に対して、マウスを用いなくても、アクセラレータキー(例えば、Alt+アルファベットキーの組み合わせ)を用いて機能にアクセスできることが求められる。 In the GUI of the desktop PC application, functions such as menus and buttons can be accessed using accelerator keys (for example, a combination of Alt + alphabetic keys) without using a mouse.
そのため、GUIアプリケーションの開発においては、画面設計の際に、メニュー、ボタン、テキストボックスなどの各機能に対して1つずつアクセラレータキーの割り当てが行われている。 Therefore, in the development of a GUI application, one accelerator key is assigned to each function such as a menu, a button, and a text box when designing a screen.
一般的に、アクセラレータキーの割り当てには以下の制約がある。 In general, accelerator key assignment has the following restrictions.
(1)同一画面内で重複しない
(2)使用することができるキーは、原則的にアルファベットの26文字
(3)英語版のUIで使われている文言(英語表記)の中から文字を選ぶ
(1) Do not overlap in the same screen (2) The key that can be used is, in principle, 26 letters of the alphabet (3) Select the character from the words (English notation) used in the English version of the UI
このような制約があるため、機能に割り当てたアクセラレータキーの管理や重複チェック、自動割り当てを行う仕組みが存在する。(例えば、特許文献1) Because of these restrictions, there is a mechanism for managing accelerator keys assigned to functions, performing duplication checking, and automatic assignment. (For example, Patent Document 1)
しかしながら、以下のような問題がある。 However, there are the following problems.
(1)近年のアプリケーション開発手法では、画面部品のまとまりをユーザコントロールとして作成し、同一の入力項目を持つ複数の画面ではユーザコントロールを共有し、開発工数を削減する手法がとられる。そのような場合、それぞれの利用シーンでアクセラレータキーが重複しないことを確認しなければならない。
(2)通常のアクセラレータキーは単語の先頭の文字を用いるが、それで重複せずに割り当てができることはまれであるため、単語内の他の文字を使うなどの対策が必要になる。
(1) In recent application development methods, a group of screen parts is created as a user control, and a user control is shared among a plurality of screens having the same input items, thereby reducing the development man-hours. In such a case, it is necessary to confirm that the accelerator key does not overlap in each usage scene.
(2) A normal accelerator key uses the first character of a word, but it is rare that it can be assigned without duplication, so measures such as using other characters in the word are required.
画面設計者は、上記の制約を満たすよう、アクセラレータキーの割り当てを行う必要があるが、アプリケーションが大規模化、複雑化することによって、目視や手作業による割り当てではアクセラレータキーの一意性を担保することが困難になりつつあった。 Screen designers need to assign accelerator keys to satisfy the above constraints, but as the application grows in size and complexity, the uniqueness of accelerator keys is ensured by visual and manual assignment. It was becoming difficult.
また、特許文献1の仕組みでは、「カテゴリ(Category)−機能(Function)」という粗い分類で行われており、実際のアプリケーションの画面配置や動作まで考慮されていないため、不都合が生じる場合があった。
In addition, the mechanism of
そこで、本発明は、同時に画面表示する組合せから画面の優先度を決定して、アクセラレータキーの割当を行うことで、適切にアクセラレータキーの割り当てをすることができる仕組みを提供することを目的とする。 Accordingly, an object of the present invention is to provide a mechanism capable of appropriately assigning accelerator keys by determining screen priorities from combinations that are simultaneously displayed on the screen and assigning accelerator keys. .
本発明の目的を達成するためのアクセラレータキーを設定することが可能な情報処理装置であって、アクセラレータキーを設定するアプリケーション画面の表示する組合せから、アクセラレータキーを設定するためのアプリケーション画面の優先度を決定する優先度決定手段と、前記優先度決定手段で決定された画面の優先度に従って、当該画面に表示する文字列を基に所定のルールに従って、アクセラレータキーを設定するアクセラレータキー設定手段とを備えることを特徴とする。 An information processing apparatus capable of setting an accelerator key for achieving the object of the present invention, the priority of an application screen for setting an accelerator key from a combination displayed on the application screen for setting the accelerator key Priority determining means for determining an accelerator key setting means for setting an accelerator key according to a predetermined rule based on a character string displayed on the screen according to the priority of the screen determined by the priority determining means It is characterized by providing.
本発明によれば、同時に画面表示する組合せから画面の優先度を決定して、アクセラレータキーの割当を行うことで、適切にアクセラレータキーの割り当てをすることができる。 According to the present invention, it is possible to appropriately assign accelerator keys by determining the priority of the screen from the combination of screen display simultaneously and assigning the accelerator key.
以下、図面を参照して、本発明の実施形態を詳細に説明する。なお、以下、グラフィカルユーザインターフェースをGUI(Graphical User Interfaceの略)として記載する。 Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings. Hereinafter, the graphical user interface is described as GUI (abbreviation of Graphical User Interface).
図1は、本発明における情報処理装置のハードウェア構成の一例を示すハードウェア構成図である。 FIG. 1 is a hardware configuration diagram illustrating an example of a hardware configuration of an information processing apparatus according to the present invention.
図1において、101はCPUで、システムバス105に接続される各デバイスやコントローラを統括的に制御する。また、ROM102あるいは補助記憶装置112には、CPU101の制御プログラムであるBIOS(Basic Input / Output System)やオペレーティングシステムプログラム(以下、OS)や、各サーバ或いは各PCの実行する機能を実現するために必要な後述する各種プログラム等が記憶されている。
In FIG. 1,
103はRAMで、CPU101の主メモリ、ワークエリア等として機能する。CPU101は、処理の実行に際して必要なプログラム等をROM102あるいは補助記憶装置112からRAM103にロードして、該ロードしたプログラムを実行することで各種動作を実現するものである。
また、105は入力コントローラで、キーボード(KB)109やマウス110等のポインティングデバイス等からの入力を制御する。106はビデオコントローラで、ディスプレイ211等の表示器への表示を制御する。なお、ディスプレイの種類はCRTだけでなく、液晶ディスプレイ等の他の表示器であってもよい。これらは必要に応じて管理者が使用するものである。
107はメモリコントローラで、ブートプログラム,各種のアプリケーション,フォントデータ,ユーザファイル,編集ファイル,各種データ等を記憶する外部記憶装置(ハードディスク(HD))や、フレキシブルディスク(FD)、或いはPCMCIAカードスロットにアダプタを介して接続されるコンパクトフラッシュ(登録商標)メモリ等の補助記憶装置112へのアクセスを制御する。
A memory controller 107 is provided in an external storage device (hard disk (HD)), a flexible disk (FD), or a PCMCIA card slot for storing a boot program, various applications, font data, user files, editing files, various data, and the like. Controls access to the
108はネットワークコントローラで、ネットワーク(例えば、図1に示したネットワーク113)を介して外部機器と接続・通信するものであり、ネットワークでの通信制御処理を実行する。例えば、TCP/IPを用いた通信等が可能である。
A network controller 108 connects and communicates with an external device via a network (for example, the
なお、CPU101は、例えばRAM103内の表示情報用領域へアウトラインフォントの展開(ラスタライズ)処理を実行することにより、ディスプレイ210上での表示を可能としている。また、CPU101は、ディスプレイ210上のマウスカーソル等でのユーザ指示を可能とする。
Note that the
本発明を実現するための後述する各種プログラムは、補助記憶装置112に記録されており、必要に応じてRAM103にロードされることによりCPU101によって実行されるものである。さらに、上記プログラムの実行時に用いられる定義ファイル及び各種情報テーブル等も、補助記憶装置112に格納されており、これらについての詳細な説明も後述する。なお、補助記憶装置112は、例えば、ハードディスクや外部メモリ等の記憶部である。
Various programs to be described later for realizing the present invention are recorded in the
図2は、本実施形態における機能ブロック構成の一例を示す図である。 FIG. 2 is a diagram illustrating an example of a functional block configuration according to the present embodiment.
アクセラレータキー割り当てGUI201は、画面設計者が評価対象アプリケーション207内で使用するアクセラレータキーの割り当て、管理を指示するためのGUI制御部である。
The accelerator
アクセラレータキー割り当て部202は、アクセラレータキー割り当てGUI201からの指示を受けて、評価対象アプリケーション207内で使用するアクセラレータキーの割り当て、管理を行う。
In response to an instruction from the accelerator
UI定義ファイルIO部203は、UI定義ファイル204に記述された画面部品定義およびそこで使用されるアクセラレータキーの割り当て情報を読み取り、およびアクセラレータキー割り当て部202が割り当てたアクセラレータキー情報をUI定義ファイル204に書き戻す機能を持つ。なお、UI定義ファイル204の一例を示す図は図3である。また、UI定義ファイルを解析し、画面部品ごとに内部IDを振る機能を有する。
The UI definition
UI定義ファイル204は、評価対象アプリケーション207で使用する画面部品及びそこで使用されるアクセラレータキーの割り当て情報が記述されている。
The
シソーラス205は、評価対象アプリケーション207のGUIで使用している文言では、どうしても一意なアクセラレータキーを割り当てられない場合、類義語を検索して代替案を提示するためのデータベースである。データそのものは既存に存在するシソーラス辞書等で利用するデータであり、様々なデータベースを利用できる。シソーラスとは、同義語や意味上の類似関係、包含関係などによって分類されたデータである。また、シソーラス205は外部のサーバに記憶されていてもよい。
The
画面部品組合せデータベース206は、評価対象アプリケーション207の利用において、同一画面内で同時に表示されうる画面部品の組み合わせを格納したデータベースである。なお、画面部品組合せデータベース206の一例を示す図は、図11である。これは画面部品組み合わせ評価部208によって構築されるが、画面設計書を元に手作業で構築してもよい。
The screen
評価対象アプリケーション207は、アクセラレータキーを割り当てる対象となる、開発中のアプリケーションである。本実施例では、ファイラーアプリケーションを例にとって後述する。
The
画面部品組み合わせ評価部208は、評価対象アプリケーション207に組み込む形で使用され、評価対象アプリケーション207の実行中に、同時に表示されている画面部品の組み合わせを評価し、画面部品組合せデータベース206に蓄積する機能を持つ。なお、ここでは評価対象アプリケーション207に組み込む形で画面部品組み合わせ評価部208を記載しているが、評価対象アプリケーション207に組み込まないことも可能である。つまり、少なくとも、アクセラレータキー割り当てGUI201、アクセラレータキー割り当て部202、UI定義ファイルIO部203を有するツールとしての本発明に画面部品組み合わせ評価部208が含まれる。
The screen component combination evaluation unit 208 is used in a form incorporated in the
図3は、本発明が対象とする、GUIアプリケーションのUI定義ファイルの一例である。 FIG. 3 is an example of a UI definition file of a GUI application targeted by the present invention.
本実施例ではUI定義ファイルはXMLで記述され、XMLの要素が画面部品に対応する。 In this embodiment, the UI definition file is described in XML, and an XML element corresponds to a screen component.
301はメインウィンドウを表す要素で、widgetというタグで表現されている。画面部品の種類はclassという属性で定義され、QMainWindow、QMenu、QPushButtonなどの種類がある。
302はメニューを表す要素である。ここではアクセラレータキーはstringという子要素で定義される。項目名に&(&amp)を含めると、その次の文字がアクセラレータキーとして定義される。303はボタンを表す要素である。
An
なお、本実施例ではXML形式で記述されているが、その他の形式のテキストファイル、バイナリファイル、リレーショナルデータベースなど、UI定義ファイルIO部203を通して読み取りおよび書き込みができれば形式を問わない。
Although the XML format is described in this embodiment, any format can be used as long as it can be read and written through the UI definition
図4は、本発明を適用して開発する評価対象アプリケーション207のGUIの一例である。本発明は開発するアプリケーションのジャンルは問わないが、本実施例では、ファイラーアプリケーションを用いて説明する。ファイラーとは、ファイルマネージャーとも呼ばれ、ファイルシステムを扱うためのユーティリティソフトウェアである。
FIG. 4 is an example of a GUI of the
400は、該ファイラーアプリケーションのメインウィンドウである。401は、該ファイラーアプリケーションのメインメニューである。メニューには、401のメインメニューには、「File」「Edit」「View」「Tool」「Help」のメニューが存在する。それぞれの項目には、アクセラレータキーが付加され、下線で表示されている。
402は、ファイルシステムの階層構造を表すツリービューである。403は、ディレクトリの中身を参照するためのリストビューである。ツリービュー402で選択したディレクトリ内に存在するファイルおよびディレクトリが表示される。各ファイルおよびディレクトリはアイコンで表示され、視覚的に種類が判別できるようになっている。
404は、ディレクトリ内の画像ファイルである。例えば、JPGの拡張子を持ち、画像であることが分かるアイコンがつけられている。405は、ディレクトリ内のPDF(Portable Document Format)ファイルである。例えば、PDFの拡張子を持ち、書類であることが分かるアイコンがつけられている。
406は、ファイルプロパティ画面部品である。リストビュー403にて、任意のファイルをマウスクリックなどの手段で選択すると、ウィンドウ右に表示される。ここでは、ファイル名、不可視属性など、すべてのファイルに共通の属性を閲覧、編集できる。画面部品内の要素であるラベル407(Name)、チェックボックス408(Read Only)、チェックボックス409(Hidden)には、アクセラレータキーが付加され、下線で表示されている。
410は、400のプレビュー画面に表示される画像プレビュー画面部品である。リストビュー403にて、画像ファイルをマウスクリックなどの手段で選択すると、ファイルの画像が表示される。ここでは、画像の内容確認、拡大、縮小、回転が行える。画面部品内のそれぞれの項目「Zoom In」「Zoom Out」「Rotate Left」「Rotate Right」には、アクセラレータキーが付加され、下線で表示されている。
An image
図5は、メインメニュー401におけるEditメニューを開いた際に表示される。プルダウンメニューの一例である。プルダウンメニュー501内のそれぞれの項目「Undo」「Redo」「Cut」「Copy」「Paste」「Move to」「Select All」には、アクセラレータキーが付加され、下線で表示されている。
FIG. 5 is displayed when the Edit menu in the
図6は、400のプレビュー画面に表示されるPDFプレビュー画面部品601である。リストビュー403にて、PDFファイルをマウスクリックなどの手段で選択すると、表示される。ここでは、表紙の内容確認、拡大、縮小、印刷が行える。画面部品内のそれぞれの項目には、アクセラレータキーが付加され、下線で表示されている。
FIG. 6 shows a PDF
なお、図6の601と図4の410は選択されたファイルの種類によって表示される画面の例であり、同じ領域に表示される画面である。 601 in FIG. 6 and 410 in FIG. 4 are examples of screens displayed according to the type of the selected file, and are screens displayed in the same area.
図7は、UI定義ファイルIO部203がUI定義ファイルを解析して抽出した画面部品のリストである。画面部品とは、メニュー、パネルなど、必ず同時に表示される画面要素の単位である。
FIG. 7 is a list of screen components extracted by the UI definition
なお本実施形態では、アクセラレータキーの割り当てのため、ツリービュー402や、リストビュー403など、アクセラレータキーを含まない画面部品は含まないように構成されている。また、画面部品のリストは別途ユーザによって生成されて記憶されているものであってもよい。
In the present embodiment, for allocation of accelerator keys, screen components that do not include accelerator keys, such as
図8は、画面部品組み合わせ評価部208の動作を表したフローチャートである。 FIG. 8 is a flowchart showing the operation of the screen component combination evaluation unit 208.
画面部品組み合わせ評価部208は、スタティックライブラリ、又はダイナミックリンクライブラリとして、評価対象アプリケーション207の一部として動作する。
The screen component combination evaluation unit 208 operates as a part of the
一般に、GUIを持つアプリケーションはイベントループと呼ばれるループ処理を実行し、この中でマウスクリックやキー入力などのイベントの発生を検知し、そのイベントに対応するイベントハンドら関数を呼び出すことによって動作する。画面部品組み合わせ評価部208は、このイベントループに処理を追加することで、UI定義ファイルに記述された各画面部品の表示状態を監視し、同一画面内に表示されている画面部品の組み合わせ、すなわちアクセラレータキーの重複をチェックする必要がある画面部品の組み合わせを評価する。 In general, an application having a GUI executes a loop process called an event loop, detects an occurrence of an event such as a mouse click or a key input therein, and operates by calling a function such as an event hand corresponding to the event. The screen component combination evaluation unit 208 adds processing to this event loop, thereby monitoring the display state of each screen component described in the UI definition file and combining the screen components displayed in the same screen, that is, Evaluate screen component combinations that need to check for duplicate accelerator keys.
イベントループはS801から開始する。S802において、評価対象アプリケーション207のバイナリがデバッグビルド構成でビルドされているかどうかをチェックする。S802に置いて、デバックビルドと判定される場合にはS806へ処理を移し、リリースビルドの場合にはS803へ処理を移す。
The event loop starts from S801. In S802, it is checked whether or not the binary of the
通常のアプリケーションの開発はデバッグビルド、リリースビルドの2つの構成で行われ、リリースビルドでは、変数の監視、画面部品の組み合わせ評価など、処理速度の低下を招き、かつ製品としてのアプリケーションには不要なデバッグ機能は動かないようにするのが一般的である。 Normal application development is done in two configurations: debug build and release build. Release build causes a decrease in processing speed, such as monitoring variables and evaluating combinations of screen parts, and is not necessary for product applications. It is common to disable the debugging function.
S803、S804は、通常のアプリケーションのイベントループで行われる処理である。S803はアプリケーション固有の処理、S804はウィンドウのクローズなど、アプリケーションの終了判定部分である。アプリケーションに終了指示が出された場合、S805に遷移し、イベントループとアプリケーションは終了する。 S803 and S804 are processes performed in an event loop of a normal application. S803 is an application specific process, and S804 is an application end determination part such as a window close. When an end instruction is issued to the application, the process proceeds to S805, where the event loop and the application are ended.
S806では、図3のUI定義ファイルに定義されている各画面部品の状態をチェックし、画面の表示から消えた、もしくは新しく画面に表示された画面部品がないかをチェックする。画面部品の表示状態に変化がない場合は、通常のアプリケーション処理のS803に戻る。 In step S806, the state of each screen component defined in the UI definition file in FIG. 3 is checked to check whether there is any screen component that has disappeared from the screen display or is newly displayed on the screen. If there is no change in the display state of the screen component, the process returns to S803 of normal application processing.
S807では、この時点で可視状態になっている画面部品のIDをリストを作成する。このリストを画面部品組合せと呼ぶ。例えば、図4の画面状態では、この画面部品組合せは[1,6,7]となる。 In step S807, a list of screen component IDs that are visible at this time is created. This list is called a screen component combination. For example, in the screen state of FIG. 4, this screen component combination is [1, 6, 7].
S808では、S807で抽出された画面部品組合せを画面部品組合せデータベース206から検索する。図11は画面部品組合せデータベースの一例であるが、これによれば、画面部品組合せ[1,6,7]は組合せID5として登録されている。
In S808, the screen component combination extracted in S807 is searched from the screen
S809では、S808で組合せIDが見つかったかどうかをチェックする。見つかっていた場合は通常のアプリケーション処理S803に戻る。 In S809, it is checked whether a combination ID is found in S808. If found, the process returns to the normal application process S803.
S810では、S807で抽出された画面部品組合せが画面部品組合せデータベース206内に存在しなかった場合、該画面部品組合せに新規IDを振って登録する。
In S810, if the screen component combination extracted in S807 does not exist in the screen
このようにして、同一アプリケーション内でアクセラレーターが重複する可能性のある画面部品の組み合わせを抽出する。この過程をより確実にするためには、評価対象アプリケーション207のシステムテストにおいて、GUIのテストの網羅率を上げることが望ましい。
In this manner, combinations of screen components that may overlap accelerators in the same application are extracted. In order to make this process more reliable, it is desirable to increase the coverage rate of the GUI test in the system test of the
図9は、アクセラレータキー割り当て部202の動作を示したフローチャートである。本実施例では、アクセラレータキー割り当てGUI201を起動することによって実行される。
FIG. 9 is a flowchart showing the operation of the accelerator
処理はS901から開始し、S902では、画面部品組み合わせデータベース206をRAM103にロードする。
The process starts from S901. In S902, the screen
S903では、画面部品IDを出現頻度降順でソートしたリストを作成する。具体的には、画面部品組み合わせデータベース206の件数をカウントし、レコード数の多い画面部品IDを出現頻度の高い画面具品として評価する。例えば、一番レコード数の多い画面部品IDは「1」である。出願頻度について図12と図13を用いて説明する。
In S903, a list in which screen component IDs are sorted in descending order of appearance frequency is created. Specifically, the number of cases in the screen
図12は、図11の画面部品組合せデータベースから、画面部品ID6を含む行を抽出した場合の図である。この行数から、画面部品ID6の出現頻度は3と評価される。
FIG. 12 is a diagram when a line including the
図13は、同様にして各画面部品の出現頻度を評価した図である。これを画面部品IDの出現頻度順リスト1301とする。
FIG. 13 is a diagram in which the appearance frequency of each screen component is similarly evaluated. This is a screen component ID appearance
S904からS912では、S903で作成された画面部品IDの出現頻度順リスト1301を降順でループし、それぞれの画面部品について処理を行う。
In steps S904 to S912, the screen component ID appearance
S905では、現在のループS904が対象としている画面部品について、画面部品組み合わせデータベース206から、当該画面部品IDが含まれる組合せIDを抽出する。図12から、例えば、画面部品ID6が含まれる組合せIDは[2,5,6]であることが分かる。
In S905, for the screen component targeted by the current loop S904, a combination ID including the screen component ID is extracted from the screen
S906からS911では、S905で作成した組み合わせIDリストについてループする。 In S906 to S911, the combination ID list created in S905 is looped.
S907では、S904で現在対象にしている画面部品について、UI定義ファイルから画面要素を抽出する。画面要素とは、ラベル、ボタン、メニューなど、アクセラレータキーを持ちうる画面の構成要素である。画面部品ID6に含まれる画面要素はラベル407、チェックボックス408、チェックボックス409である。また、図3で説明したように抽出される要素である。
In S907, screen elements are extracted from the UI definition file for the screen component currently targeted in S904. A screen element is a component of a screen that can have an accelerator key such as a label, a button, or a menu. Screen elements included in the
S908からS910では、S907で作成した画面要素のリストについてループする。 In steps S908 to S910, the screen element list created in step S907 is looped.
S909では、S908で対象としている画面要素について、アクセラレータキーの割り当てを行う。アクセラレータキーの割り当ての詳細な処理については、図10を用いて説明する。 In S909, an accelerator key is assigned to the screen element targeted in S908. Detailed processing of accelerator key assignment will be described with reference to FIG.
S913にてすべての画面要素についてアクセラレータキーの割り当てが終了する。 In S913, the assignment of accelerator keys for all screen elements ends.
図10は、図9におけるS909内部の処理の詳細である。 FIG. 10 shows details of the processing in S909 in FIG.
S1001でアクセラレータキーの割り当て処理をスタートし、S1002では、現在対象としている画面要素が、アクセラレータキーの割り当て対象外としてマークされているかどうか確認する。このマークはアクセラレータキー割り当て部202が内部で管理しているもので、過去にアクセラレータキー割り当て部202を実行した実績がある場合、S1017によって保存される。割り当て対象外としてマークされていた場合は、S1003に遷移し、当該画面要素に対するアクセラレータキーの割り当てを終了する。また、アクセラレータキーの割り当て対象外としてマークされていない場合は、S1007の判定のために、S1004で「1」を「i」に代入する。
In S1001, an accelerator key assignment process is started. In S1002, it is confirmed whether or not the screen element currently targeted is marked as not being assigned an accelerator key. This mark is managed internally by the accelerator
S1005では、S906で対象にしている組み合わせIDにおいて、S904で対象にしている画面部品内部およびそれより優先度の高い画面部品とアクセラレータキーの重複があるかどうかチェックする。例えば、図11の1101を参照すると、画面部品ID6について、組合せID5について評価している場合、画面部品ID6より出現頻度の高い画面部品はID1であるので、画面部品ID1および画面部品ID6について、重複がないことをチェックする。 In S1005, in the combination ID targeted in S906, it is checked whether the accelerator key overlaps the screen component targeted in S904 and the screen component with higher priority than that. For example, referring to 1101 in FIG. 11, when the combination ID5 is evaluated for the screen component ID6, the screen component having a higher appearance frequency than the screen component ID6 is ID1, so the screen component ID1 and the screen component ID6 are duplicated. Check that there is no.
重複は、例えば、画面部品ID1「Help」と画面部品ID6の要素の「Hidden」(図4の409)は先頭の単語が「H」であるため重複と判定される。
For example, “Hidden” (409 in FIG. 4) of the elements of the
S1006では、S1005において重複が見つかったか、又はアクセラレータキーがまだ割り当てられていないかをチェックする。すでにアクセラレータキーが割り当て済みで、かつS1005において重複が確認されなかった場合は、S1018に遷移し、UI定義ファイルにアクセラレータキー割り当て結果を書き戻した後、終了する。例えば画面部品ID6の要素の「Hidden」では、「H」ではなく、「d」がアクセラレータキーとして割り当てられ、UI定義ファイルに記憶される。
In S1006, it is checked whether a duplicate is found in S1005 or whether an accelerator key has not been assigned yet. If an accelerator key has already been assigned and no duplication has been confirmed in S1005, the process proceeds to S1018, where the accelerator key assignment result is written back to the UI definition file, and the process ends. For example, in the “Hidden” element of the
S1008からS1015では、アクセラレータキー割り当てにおける複数のルールを、望ましい順に実行し、割り当てを行う。割り当て時には都度S1005に戻り、重複をチェックする。重複が見られなかったらS1018に遷移し終了する。すなわち、S1008〜S1005はの処理は、画面の優先度に従って、当該画面に表示する文字列を基に所定のルールに従って、アクセラレータキーを設定する処理である。 In S1008 to S1015, a plurality of rules in accelerator key assignment are executed in the desired order for assignment. When assigning, the process returns to S1005 to check for duplication. If no overlap is found, the process proceeds to S1018 and ends. That is, the processes in S1008 to S1005 are processes for setting an accelerator key according to a predetermined rule based on a character string displayed on the screen according to the priority of the screen.
S1008では、当該画面要素の先頭の単語の最初の文字を割り当てる。もっとも望ましいアクセラレータキー割り当て方法である。例えば、画面部品ID6の要素の「Name」(図4の407)は、優先度の高い画面の画面部品ID1の要素でアクセラレータキー「N」が割り当てられていないので、ここで「N」がこの画面要素のアクセラレータキーに割り当てられる。
In S1008, the first character of the first word of the screen element is assigned. This is the most desirable accelerator key assignment method. For example, the “Name” (407 in FIG. 4) element of the
S1009では、2番目以降の各単語の最初の文字を割り当てる。単語が1語しかない場合、このステップはスキップされる。例えば、「Rotatte Left」で「L」が割り当てられる。 In S1009, the first character of each word after the second is assigned. If there is only one word, this step is skipped. For example, “L” is assigned to “Rotate Left”.
S1010では、最初の単語内の子音を割り当てる。例えば画面部品ID6の要素の「Hidden」(図4の409)で「d」が割り当てられる。 In S1010, a consonant in the first word is assigned. For example, “d” is assigned to “Hidden” (409 in FIG. 4) of the element of the screen component ID6.
S1011では、最初の単語内の母音を割り当てる。S1010を先に実行することにより、母音より子音を優先する。 In S1011, a vowel in the first word is assigned. By executing S1010 first, priority is given to consonants over vowels.
S1012では、2番目以降の各単語の子音を割り当てる。 In S1012, consonants of the second and subsequent words are assigned.
S1013では、2番目以降の各単語の母音を割り当てる。S1012を先に実行することにより、母音より子音を優先する。 In S1013, the vowels of the second and subsequent words are assigned. By executing S1012, the consonant is prioritized over the vowel.
S1015では、現在使用されている単語からは重複なくアクセラレータキーを割り当てられないと判断し、単語の代替案を提示するために、シソーラス205から代替の単語を検索しアクセラレータキー割り当てGUI201を通じてユーザ(画面設計者)に提示する。代替の単語の提示は、図14の1403で表示される。これにより、アクセラレータキーが割り当てられない場合のユーザへの負担を軽減することができる。
In S1015, it is determined that the accelerator key cannot be assigned without duplication from the currently used word, and in order to present a word alternative, the substitute word is searched from the
S1016において、ユーザが代替語の提示を受け入れなかった場合は、S1017において、当該画面要素のアクセラレータキーを解除し、アクセラレータキー割り当て対象外の画面要素としてマークする。この情報は補助記憶装置112に記憶され、次回のアクセラレータキー割り当て部202起動時にS1002で参照される。
If the user does not accept the alternative word presentation in S1016, in S1017, the accelerator key of the screen element is released and marked as a screen element that is not subject to accelerator key assignment. This information is stored in the
S1018では、ここまでの処理で確定したアクセラレータキーをUI定義ファイルIO部203を通してUI定義ファイル204に反映する。
In step S <b> 1018, the accelerator key determined by the processing so far is reflected in the
本実施例では、画面部品ID6(プロパティ画面部品406)における、画面要素であるチェックボックス409「Hidden」にて、ラベルが1語であり、画面部品ID6より優先度の高い画面部品ID1(メインメニュー401)内の「Help」にて「H」のアクセラレータキーが使用済みであることから、S1008,S1009ではアクセラレータキーの割り当てができず、S1010で「D」のアクセラレータキーが割り当てられている。
In the present embodiment, in the screen component ID 6 (property screen component 406), in the
図14は、アクセラレータキー割り当てGUI201の一例である。
FIG. 14 is an example of an accelerator
起動時に、アクセラレータキー割り当ての対象とするUI定義ファイル204と、画面部品組合せデータベース206を読み込んだ後は、半自動的に割り当てが行われ、必要に応じてユーザの確認、選択を仰ぐ。
At the time of activation, after the
テーブルビュー1401には出現頻度の高い画面部品の従って既に設定されたアクセラレータキーのリストが表示される。要素の名前(Label)と要素に設定されたアクセラレータキーが対応して表示される。
The
テーブルビュー1402には現在対象としている画面部品内で使用されている画面要素とそれに対応するアクセラレータキーのリストが表示される。1402の例は、画面部品ID6(プロパティ画面部品406)の画面要素「Name」「Read Only」「Hidden」にアクセラレータキーが割り当てられた際の例である。
The
リストビュー1403では、テーブルビュー1402で選択された単語に対して、S1015で提示された代替語彙を表示する。画面設計者はこの中から代替語彙を選んでUIで使用する文言を変更することができる。
The
ボタン1404は、アクセラレータキーを解除し、当該画面要素をアクセラレータキー割り当て対象外としてマークする。S1017のステップに対応する。
A
ボタン1405は、OKボタンであり、テーブルビュー1402に表示されたアクセラレータキーを登録するためのボタンである。
A
次の本実施形態を用いた発明に適用可能な機能ブロック図について図15を用いて説明する。 A functional block diagram applicable to the invention using the present embodiment will be described with reference to FIG.
優先度決定部1501は、アクセラレータキーを設定するアプリケーション画面の表示する組合せから、アクセラレータキーを設定するためのアプリケーション画面の優先度を決定する機能部である。また、後述する登録部1503で登録されたアプリケーション画面の組合せで、表示頻度の高いアプリケーション画面を高い優先度に決定するものである。
The
アクセラレータキー設定部1502は、優先度決定部1501で決定された画面の優先度に従って、当該画面に表示する文字列を基に所定のルールに従って、アクセラレータキーを設定する機能部である。また、アクセラレータキーの設定はアプリケーション画面ごとに設定し、設定対象のアプリケーション画面より優先度の高いアプリケーション画面で設定されていないアクセラレータキーを設定するものである。また、後述の読込部1504で読み込まれた画面定義ファイルから取得したアプリケーション画面の画面要素の表示に用いる文字列内の文字を使用してアクセラレータキーを設定するものである。更に、後述する変更部1509で画面要素の表示に用いる文字列が変更された場合に、再度所定のルールに従って、アクセラレータキーを設定するものである。
The accelerator
登録部1503は、アプリケーション画面を有するアプリケーションを実行することにより、同時に表示されたアプリケーション画面の組合せを登録する機能部である。
The
読込部1504は、アプリケーション画面の構成を定義する画面定義ファイルを読み込む機能部である。
A
書込部1505は、アクセラレータキー設定部1502で設定されたアクセラレータキーを、アプリケーションで利用可能にするべく、読込部1504で読み込んだ画面定義ファイルに書き込む機能部である。
The
文字列取得部1506は、アクセラレータキー設定部1502でアクセラレータキーを設定することができない場合に、画面要素の表示に用いる文字列を代替する文字列を取得する機能部である。
The character
代替文字列表示部1507は、文字列取得部1506で取得した代替する文字列を表示する機能部である。
The substitute character
文字列選択部1508は、代替文字列表示部1507で表示した文字列から変更する文字列を選択する機能部である。
The character
変更部1509は、画面要素の表示に用いる文字列を、文字列選択部1508で選択された文字列に変更する機能部である。
The
以上の手順により、画面に表示されている時間の長い、出現頻度の高い画面部品ほど自然なアクセラレータキーが割り当てられ、かつその割り当て処理を確実かつ容易に行うことができる。 Through the above procedure, a natural accelerator key is assigned to a screen component having a long appearance time and a high appearance frequency displayed on the screen, and the assignment process can be performed reliably and easily.
特に、同時に画面表示する組合せから画面の優先度を決定して、アクセラレータキーの割当を行うことで、適切にアクセラレータキーの割り当てをすることができる。 In particular, the accelerator key can be appropriately assigned by determining the priority of the screen from the combinations that are displayed on the screen at the same time and assigning the accelerator key.
なお、上述した各種データの構成及びその内容はこれに限定されるものではなく、用途や目的に応じて、様々な構成や内容で構成されることは言うまでもない。 It should be noted that the configuration and contents of the various data described above are not limited to this, and it goes without saying that the various data and configurations are configured according to the application and purpose.
以上、一実施形態について示したが、本発明は、例えば、システム、装置、方法、プログラムもしくは記録媒体等としての実施態様をとることが可能であり、具体的には、複数の機器から構成されるシステムに適用しても良いし、また、一つの機器からなる装置に適用しても良い。 Although one embodiment has been described above, the present invention can take an embodiment as, for example, a system, apparatus, method, program, or recording medium, and specifically includes a plurality of devices. The present invention may be applied to a system including a single device.
また、本発明におけるプログラムは、図8〜図10に示すフローチャートの処理方法をコンピュータが実行可能なプログラムであり、本発明の記憶媒体は図8〜図10の処理方法をコンピュータが実行可能なプログラムが記憶されている。なお、本発明におけるプログラムは図8〜図10の各装置の処理方法ごとのプログラムであってもよい。 Further, the program according to the present invention is a program that allows a computer to execute the processing methods of the flowcharts shown in FIGS. 8 to 10, and the storage medium according to the present invention is a program that allows the computer to execute the processing methods of FIGS. Is remembered. The program according to the present invention may be a program for each processing method of each apparatus shown in FIGS.
以上のように、前述した実施形態の機能を実現するプログラムを記録した記録媒体を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ(またはCPUやMPU)が記録媒体に格納されたプログラムを読出し実行することによっても、本発明の目的が達成されることは言うまでもない。 As described above, a recording medium that records a program that implements the functions of the above-described embodiments is supplied to a system or apparatus, and a computer (or CPU or MPU) of the system or apparatus stores the program stored in the recording medium. It goes without saying that the object of the present invention can also be achieved by executing the reading.
この場合、記録媒体から読み出されたプログラム自体が本発明の新規な機能を実現することになり、そのプログラムを記憶した記録媒体は本発明を構成することになる。 In this case, the program itself read from the recording medium realizes the novel function of the present invention, and the recording medium storing the program constitutes the present invention.
プログラムを供給するための記録媒体としては、例えば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、CD−ROM、CD−R、DVD−ROM、磁気テープ、不揮発性のメモリカード、ROM、EEPROM、シリコンディスク、ソリッドステートドライブ等を用いることができる。 As a recording medium for supplying the program, for example, a flexible disk, hard disk, optical disk, magneto-optical disk, CD-ROM, CD-R, DVD-ROM, magnetic tape, nonvolatile memory card, ROM, EEPROM, silicon A disk, solid state drive, or the like can be used.
また、コンピュータが読み出したプログラムを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムの指示に基づき、コンピュータ上で稼働しているOS(オペレーティングシステム)等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。 Further, by executing the program read by the computer, not only the functions of the above-described embodiments are realized, but also an OS (operating system) operating on the computer based on an instruction of the program is actually It goes without saying that a case where the function of the above-described embodiment is realized by performing part or all of the processing and the processing is included.
さらに、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPU等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。 Furthermore, after the program read from the recording medium is written to the memory provided in the function expansion board inserted into the computer or the function expansion unit connected to the computer, the function expansion board is based on the instructions of the program code. It goes without saying that the case where the CPU or the like provided in the function expansion unit performs part or all of the actual processing and the functions of the above-described embodiments are realized by the processing.
また、本発明は、複数の機器から構成されるシステムに適用しても、1つの機器からなる装置に適用してもよい。また、本発明は、システムあるいは装置にプログラムを供給することによって達成される場合にも適応できることは言うまでもない。この場合、本発明を達成するためのプログラムを格納した記録媒体を該システムあるいは装置に読み出すことによって、そのシステムあるいは装置が、本発明の効果を享受することが可能となる。 Further, the present invention may be applied to a system composed of a plurality of devices or an apparatus composed of a single device. Needless to say, the present invention can be applied to a case where the present invention is achieved by supplying a program to a system or apparatus. In this case, by reading a recording medium storing a program for achieving the present invention into the system or apparatus, the system or apparatus can enjoy the effects of the present invention.
さらに、本発明を達成するためのプログラムをネットワーク上のサーバ、データベース等から通信プログラムによりダウンロードして読み出すことによって、そのシステムあるいは装置が、本発明の効果を享受することが可能となる。 Furthermore, by downloading and reading a program for achieving the present invention from a server, database, etc. on a network using a communication program, the system or apparatus can enjoy the effects of the present invention.
なお、上述した各実施形態およびその変形例を組み合わせた構成も全て本発明に含まれるものである。 In addition, all the structures which combined each embodiment mentioned above and its modification are also included in this invention.
100 情報処理装置
101 CPU
102 ROM
103 RAM
1501 優先度決定部
1502 アクセラレータキー設定部
1503 登録部
1504 読込部
1505 書込部
1506 文字列取得部
1507 代替文字列表示部
1508 文字列選択部
1509 変更部
100
102 ROM
103 RAM
1501
Claims (10)
アクセラレータキーを設定するアプリケーション画面の表示する組合せから、アクセラレータキーを設定するためのアプリケーション画面の優先度を決定する優先度決定手段と、
前記優先度決定手段で決定された画面の優先度に従って、当該画面に表示する文字列を基に所定のルールに従って、アクセラレータキーを設定するアクセラレータキー設定手段と
を備えることを特徴とする情報処理装置。 An information processing apparatus capable of setting an accelerator key,
Priority determining means for determining the priority of the application screen for setting the accelerator key from the combination displayed on the application screen for setting the accelerator key;
Accelerator key setting means for setting an accelerator key according to a predetermined rule based on a character string displayed on the screen according to the priority of the screen determined by the priority determination means .
前記優先度決定手段は、前記登録されたアプリケーション画面の組合せで、表示頻度の高いアプリケーション画面を高い優先度に決定することを特徴とする請求項1に記載の情報処理装置。 A registration means for registering a combination of application screens displayed simultaneously by executing an application having the application screen;
The information processing apparatus according to claim 1, wherein the priority determination unit determines an application screen having a high display frequency as a high priority by a combination of the registered application screens.
前記アクセラレータキー設定手段は、前記画面定義ファイルから取得したアプリケーション画面の画面要素の表示に用いる文字列内の文字を使用してアクセラレータキーを設定することを特徴とする請求項1乃至3のいずれか1項に記載の情報処理装置。 It further comprises reading means for reading a screen definition file that defines the configuration of the application screen,
4. The accelerator key setting unit sets an accelerator key using characters in a character string used for display of a screen element of an application screen acquired from the screen definition file. The information processing apparatus according to item 1.
を更に備えることを特徴とする請求項4に記載の情報処理装置。 5. The writing apparatus according to claim 4, further comprising a writing unit that writes the accelerator key set by the accelerator key setting unit to the screen definition file read by the reading unit so that the accelerator key can be used by the application. Information processing device.
前記文字列取得手段で取得した代替する文字列を表示する代替文字列表示手段と
を更に備えることを特徴とする請求項4又は5に記載の情報処理装置。 A character string obtaining unit that obtains a character string that substitutes a character string used for display of the screen element when an accelerator key cannot be set by the accelerator key setting unit;
The information processing apparatus according to claim 4, further comprising: a substitute character string display unit that displays a substitute character string acquired by the character string acquisition unit.
前記画面要素の表示に用いる文字列を、前記文字列選択手段で選択された文字列に変更する変更手段と
を更に備えることを特徴とする請求項6に記載の情報処理装置。 A character string selection means for selecting a character string to be changed from the character string displayed by the substitute character string display means;
The information processing apparatus according to claim 6, further comprising a changing unit that changes a character string used for displaying the screen element to a character string selected by the character string selecting unit.
前記情報処理装置が、
アクセラレータキーを設定するアプリケーション画面の表示する組合せから、アクセラレータキーを設定するためのアプリケーション画面の優先度を決定する優先度決定ステップと、
前記優先度決定ステップで決定された画面の優先度に従って、当該画面に表示する文字列を基に所定のルールに従って、アクセラレータキーを設定するアクセラレータキー設定ステップと
を備えることを特徴とする情報処理装置。 A processing method of an information processing apparatus capable of setting an accelerator key,
The information processing apparatus is
A priority determination step for determining the priority of the application screen for setting the accelerator key from the combination displayed on the application screen for setting the accelerator key;
An accelerator key setting step of setting an accelerator key according to a predetermined rule based on a character string displayed on the screen in accordance with the priority of the screen determined in the priority determination step. .
前記情報処理装置を
アクセラレータキーを設定するアプリケーション画面の表示する組合せから、アクセラレータキーを設定するためのアプリケーション画面の優先度を決定する優先度決定手段と、
前記優先度決定手段で決定された画面の優先度に従って、当該画面に表示する文字列を基に所定のルールに従って、アクセラレータキーを設定するアクセラレータキー設定手段
として機能させることを特徴とするプログラム。 A program that can be executed by an information processing apparatus capable of setting an accelerator key,
Priority determining means for determining the priority of the application screen for setting the accelerator key from a combination of displaying the application screen for setting the accelerator key for the information processing device;
A program that functions as an accelerator key setting unit that sets an accelerator key according to a predetermined rule based on a character string displayed on the screen according to the priority of the screen determined by the priority determination unit.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011284440A JP2013134622A (en) | 2011-12-26 | 2011-12-26 | Information processing device, processing method therefor and program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011284440A JP2013134622A (en) | 2011-12-26 | 2011-12-26 | Information processing device, processing method therefor and program |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2013134622A true JP2013134622A (en) | 2013-07-08 |
Family
ID=48911269
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2011284440A Pending JP2013134622A (en) | 2011-12-26 | 2011-12-26 | Information processing device, processing method therefor and program |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2013134622A (en) |
-
2011
- 2011-12-26 JP JP2011284440A patent/JP2013134622A/en active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101120756B1 (en) | Automatic text generation | |
US10120654B2 (en) | Domain specific language design | |
US8689137B2 (en) | Command user interface for displaying selectable functionality controls in a database application | |
JP4270391B2 (en) | Multimedia file tooltip | |
US8386919B2 (en) | System for displaying an annotated programming file | |
Blum | Linux command line and shell scripting bible | |
CN106095767A (en) | Automatically generate the method and system of user's form interface | |
Spaanjaars | Beginning asp. net 4: in c# and vb | |
US9535667B2 (en) | Content collapse outside of selection | |
Allen et al. | Beginning Android 4 | |
US20150278190A1 (en) | Web server system, dictionary system, dictionary call method, screen control display method, and demonstration application generation method | |
US20040061719A1 (en) | Consolidation of computer documentation | |
US9613089B2 (en) | Form template refactoring | |
CN118176508A (en) | Copy paste update edit automation | |
Mikami et al. | Micro-versioning tool to support experimentation in exploratory programming | |
CA2686367A1 (en) | Dynamic native editor code view facade | |
Gassner | Flash Builder 4 and Flex 4 Bible | |
MacDonald | Access 2010: The missing manual | |
JP7340952B2 (en) | Template search system and template search method | |
JP2013134622A (en) | Information processing device, processing method therefor and program | |
Bitter et al. | LabVIEW Advanced Programming Techiniques | |
JP5016333B2 (en) | Document creation support apparatus and document creation support program | |
Campbell | iPhone Application Development for iOS 4: Visual QuickStart Guide | |
US7613709B2 (en) | System and method for editing operations of a text object model | |
Ford et al. | Coding Faster: Getting More Productive with Microsoft Visual Studio |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
RD03 | Notification of appointment of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7423 Effective date: 20130531 |
|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20130531 |