Launcher プログラム仕様

概要:

アプリケーションランチャー

詳細説明:

このスクリプトは、様々なアプリケーションやスクリプトを起動するためのGUIランチャーを提供します。 設定ファイル(.ini)からパスや設定を読み込み、ユーザーインターフェースを通じて簡単にプログラムを実行できるようにします。 また、Pythonpathの管理や環境変数の設定も行います。

関連リンク:

Launcher_usage

Launcher.Launcher.button_clicked(app, cparams, ibutton, button_type, action, event=None)[ソース]

概要: サブメニューボタンまたはヘルプボタンがクリックされた際のイベントハンドラです。 詳細説明: UIの応答性を保つため、button_clicked2 の実際の処理を app.root_window.after(1, ...) を使って、

Tkinterのイベントループの次のサイクルで実行するようにスケジュールします。

引数:
param app:

アプリケーションのインスタンス。

type app:

tkLauncherApp

param cparams:

計算エンジンのパラメータオブジェクト。

type cparams:

tkParams

param ibutton:

クリックされたサブメニューボタンまたはヘルプボタンのインデックス(1始まり)。

type ibutton:

int

param button_type:

クリックされたボタンの種類 ('submenu' または 'help')。

type button_type:

str

param action:

クリックアクションの種類 ('1' (左クリック), '2' (中クリック), '3' (右クリック), 'd1' (ダブルクリック))。

type action:

str

param event:

イベントオブジェクト。

type event:

tk.Event or None

Launcher.Launcher.button_clicked2(app, cparams, ibutton, button_type, action, event=None)[ソース]

概要: サブメニューボタンまたはヘルプボタンがクリックされた際の実際の処理を実行します。 詳細説明: 選択されているメインメニュー項目と、クリックされたサブボタンのインデックス、ボタンの種類(サブメニュー、ヘルプ)、

アクション(1 (左クリック), 2 (中クリック), 3 (右クリック), d1 (ダブルクリック))に基づいて、スクリプトエンジンにコマンドを実行させます。

引数:
param app:

アプリケーションのインスタンス。

type app:

tkLauncherApp

param cparams:

計算エンジンのパラメータオブジェクト。

type cparams:

tkParams

param ibutton:

クリックされたサブメニューボタンまたはヘルプボタンのインデックス(1始まり)。

type ibutton:

int

param button_type:

クリックされたボタンの種類 ('submenu' または 'help')。

type button_type:

str

param action:

クリックアクションの種類 ('1' (左クリック), '2' (中クリック), '3' (右クリック), 'd1' (ダブルクリック))。

type action:

str

param event:

イベントオブジェクト。

type event:

tk.Event or None

Launcher.Launcher.copy_config(app, cparams, config)[ソース]

概要: config オブジェクトのパラメータを cparams オブジェクトにコピーします。 詳細説明: config オブジェクトと cparams オブジェクトで共通するキーについて、cparams の値を config の値で上書きします。 引数:

param app:

アプリケーションのインスタンス。

type app:

tkLauncherApp

param cparams:

計算エンジンのパラメータオブジェクト。

type cparams:

tkParams

param config:

設定パラメータを格納するオブジェクト。

type config:

tkParams

Launcher.Launcher.copy_tkvars(app, cparams, tkvars)[ソース]

概要: Tkinter変数の値をアプリケーションのパラメータオブジェクトにコピーします。 詳細説明: 現在の実装では、この関数は何も処理せずreturnします。

将来的にTkinterウィジェットの値を cparams や config に反映させるためのプレースホルダです。

引数:
param app:

アプリケーションのインスタンス。

type app:

tkLauncherApp

param cparams:

計算エンジンのパラメータオブジェクト。

type cparams:

tkParams

param tkvars:

GUIウィジェットの変数辞書。

type tkvars:

dict

Launcher.Launcher.create_frame(app, config, cparams, parent_notebook)[ソース]

概要: ランチャーのメインGUIフレームを作成し、様々なウィジェットを配置します。 詳細説明: メニューリストボックス、右サイドバーボタン、ファイルパス入力フィールド、コマンドライン入力フィールド、

サブメニューボタン、メッセージボックスなどを含むフレームを作成し、親のノートブックに追加します。

引数:
param app:

アプリケーションのインスタンス。

type app:

tkLauncherApp

param config:

設定パラメータを格納するオブジェクト。

type config:

tkParams

param cparams:

計算エンジンのパラメータオブジェクト。

type cparams:

tkParams

param parent_notebook:

ウィジェットを追加する親のノートブックウィジェット。

type parent_notebook:

tk.ttk.Notebook

戻り値:
returns:

作成されたメインGUIフレーム。

rtype:

tktkinter.Frame

Launcher.Launcher.create_menu(app, config, cparams, root_window)[ソース]

概要: アプリケーションのメニューバーを作成します。 詳細説明: 「ファイル」メニュー(開く、終了)と「ツール」メニュー(設定)を含むメニューバーを作成します。

メニュー項目にはアクセラレータキーも設定されます。

引数:
param app:

アプリケーションのインスタンス。

type app:

tkLauncherApp

param config:

設定パラメータを格納するオブジェクト。

type config:

tkParams

param cparams:

計算エンジンのパラメータオブジェクト。

type cparams:

tkParams

param root_window:

メインウィンドウのルートオブジェクト。

type root_window:

tk.Tk

戻り値:
returns:

作成されたメニューバーオブジェクト。

rtype:

tk.Menu

Launcher.Launcher.create_toolbar(app, config, cparams, root_window)[ソース]

概要: アプリケーションのツールバーを作成します。 詳細説明: 設定ボタン、言語選択コンボボックス、終了ボタン、およびカスタムアクションを実行するための汎用ボタン(TButton)をツールバーに配置します。

各ボタンにはクリックイベントがバインドされます。

引数:
param app:

アプリケーションのインスタンス。

type app:

tkLauncherApp

param config:

設定パラメータを格納するオブジェクト。

type config:

tkParams

param cparams:

計算エンジンのパラメータオブジェクト。

type cparams:

tkParams

param root_window:

メインウィンドウのルートオブジェクト。

type root_window:

tk.Tk

戻り値:
returns:

作成されたツールバーのフレームオブジェクト。

rtype:

tk.Frame

Launcher.Launcher.create_window(app, config, cparams)[ソース]

概要: アプリケーションのメインウィンドウとGUIコンポーネントを作成します。 詳細説明: メインウィンドウを作成し、メニューバー、ツールバー、およびメインフレームを配置します。

メインフレームには、ユーザーが操作する主要なウィジェットが含まれます。

引数:
param app:

アプリケーションのインスタンス。

type app:

tkLauncherApp

param config:

設定パラメータを格納するオブジェクト。

type config:

tkParams

param cparams:

計算エンジンのパラメータオブジェクト。

type cparams:

tkParams

Launcher.Launcher.initialize(app, config)[ソース]

概要: アプリケーションの初期設定とグローバル変数を設定します。 詳細説明: tkLauncherApp インスタンスの主要な設定(ウィンドウタイトル、ディレクトリパス、外部アプリケーションパス、GUIの表示設定など)を初期化します。

環境変数もここで設定されます。

引数:
param app:

アプリケーションのインスタンス。

type app:

tkLauncherApp

param config:

設定パラメータを格納するオブジェクト。

type config:

tkParams

Launcher.Launcher.initialize_launcher_menus(app, cparams)[ソース]

概要: ランチャーのメニューとスクリプトエンジンを初期化します。 詳細説明: ランチャースクリプトディレクトリから .ini ファイルを読み込み、利用可能なスクリプトファイルを登録します。

[Boot] セクションなどの初期スクリプトを実行し、スクリプトエンジンを更新してメインメニューをリストボックスに表示します。

引数:
param app:

アプリケーションのインスタンス。

type app:

tkLauncherApp

param cparams:

計算エンジンのパラメータオブジェクト。

type cparams:

tkParams

Launcher.Launcher.input_path_button_click(app, cparams, tkvars, varname='infile', parameterpath_varname='prmpath', outputpath_varname='outfile', file_type=[('Excel', '*.xlsx'), ('All', '*.*')], ini_dir='.')[ソース]

概要: ファイル選択ダイアログを開き、選択されたファイルのパスを変数に設定します。 詳細説明: tk.filedialog.askopenfilename を使用してユーザーにファイルの選択を促し、選択されたファイルのパスを tkvars[varname] に設定します。

また、出力ファイルパス (cparams.outfile) とパラメータファイルパス (cparams.parameter_path) も推測して設定します。

引数:
param app:

アプリケーションのインスタンス。

type app:

tkLauncherApp

param cparams:

計算エンジンのパラメータオブジェクト。

type cparams:

tkParams

param tkvars:

GUIウィジェットの変数辞書。

type tkvars:

dict

param varname:

ファイルパスを格納する tkvars 内のキー名。

type varname:

str

param parameterpath_varname:

パラメータファイルパスを格納する tkvars 内のキー名。

type parameterpath_varname:

str

param outputpath_varname:

出力ファイルパスを格納する tkvars 内のキー名。

type outputpath_varname:

str

param file_type:

ファイルダイアログで表示されるファイルタイプのリスト。

type file_type:

list

param ini_dir:

ファイルダイアログの初期ディレクトリ。

type ini_dir:

str

Launcher.Launcher.listbox_dbl_clicked(app, cparams, event)[ソース]

概要: リストボックス項目がダブルクリックされた際のイベントハンドラです。 詳細説明: 現在の実装では、この関数は何も処理しません。 引数:

param app:

アプリケーションのインスタンス。

type app:

tkLauncherApp

param cparams:

計算エンジンのパラメータオブジェクト。

type cparams:

tkParams

param event:

イベントオブジェクト。

type event:

tk.Event

Launcher.Launcher.listbox_selected(app, cparams, event)[ソース]

概要: メインメニューリストボックスの項目が選択された際のイベントハンドラです。 詳細説明: 選択されたメインメニューに対応するサブメニューボタンのキャプションと状態(有効/無効)を更新します。

また、ツールチップも設定します。スクリプトエンジンに 'select' アクションを通知します。

引数:
param app:

アプリケーションのインスタンス。

type app:

tkLauncherApp

param cparams:

計算エンジンのパラメータオブジェクト。

type cparams:

tkParams

param event:

イベントオブジェクト。

type event:

tk.Event

Launcher.Launcher.main()[ソース]

概要: アプリケーションのエントリポイントです。 詳細説明: アプリケーションの初期化、設定ファイルの読み込み、コマンドライン引数の解析、

GUIウィンドウの作成と表示、ログファイルの設定、および終了時の設定保存処理を行います。 tkLauncherApp インスタンスを作成し、設定パラメータとGUIウィジェット変数を管理します。

Launcher.Launcher.set_rbutton_captions(app, cparams)[ソース]

概要: 右サイドバーボタン(RButton)のキャプションを設定します。 詳細説明: app.config.n_rbutton で定義された数のRButtonについて、スクリプトエンジンから対応するキャプションを取得し、GUIに表示します。 引数:

param app:

アプリケーションのインスタンス。

type app:

tkLauncherApp

param cparams:

計算エンジンのパラメータオブジェクト。

type cparams:

tkParams

Launcher.Launcher.set_tbutton_captions(app, cparams)[ソース]

概要: ツールバーボタン(TButton)のキャプションを設定します。 詳細説明: app.config.n_tbutton で定義された数のTButtonについて、スクリプトエンジンから対応するキャプションを取得し、GUIに表示します。 引数:

param app:

アプリケーションのインスタンス。

type app:

tkLauncherApp

param cparams:

計算エンジンのパラメータオブジェクト。

type cparams:

tkParams

Launcher.Launcher.update_vars(app, cparams)[ソース]

概要: コマンドライン引数を解析し、アプリケーションの変数を更新します。 詳細説明: app.add_argument を使用して期待されるコマンドライン引数を定義し、app.read_args で実際の引数を解析して cparams オブジェクトを更新します。

不正な引数があった場合はエラーメッセージを表示し終了します。

引数:
param app:

アプリケーションのインスタンス。

type app:

tkLauncherApp

param cparams:

計算エンジンのパラメータオブジェクト。

type cparams:

tkParams

Launcher.Launcher.usage(app)[ソース]

概要: アプリケーションの利用方法を表示します。 詳細説明: アプリケーションの usage_str を使用して、コマンドラインでの利用方法をコンソールに出力します。 引数:

param app:

アプリケーションのインスタンス。

type app:

tkApplication_GUI