Launcher プログラム仕様
Launcher.py - アプリケーションランチャー
このスクリプトは、様々なアプリケーションやスクリプトを起動するためのGUIランチャーを提供します。 設定ファイル(.ini)からパスや設定を読み込み、ユーザーインターフェースを通じて簡単にプログラムを実行できるようにします。 また、Pythonpathの管理や環境変数の設定も行います。
関連リンク: Launcher.py 技術ドキュメント
- Launcher.Launcher.button_clicked(app, cparams, ibutton, button_type, action, event=None)[ソース]
概要: サブメニューボタンまたはヘルプボタンがクリックされた際のイベントハンドラです。 詳細説明: UIの応答性を保つため、button_clicked2 の実際の処理を app.root_window.after(1, ...) を使って、
Tkinterのイベントループの次のサイクルで実行するようにスケジュールします。
- パラメータ:
app -- tkLauncherApp: アプリケーションのインスタンス。
cparams -- tkParams: 計算エンジンのパラメータオブジェクト。
ibutton -- int: クリックされたサブメニューボタンまたはヘルプボタンのインデックス(1始まり)。
button_type -- str: クリックされたボタンの種類 ('submenu' または 'help')。
action -- str: クリックアクションの種類 ('1' (左クリック), '2' (中クリック), '3' (右クリック), 'd1' (ダブルクリック))。
event -- tk.Event, optional: イベントオブジェクト。
- Launcher.Launcher.button_clicked2(app, cparams, ibutton, button_type, action, event=None)[ソース]
概要: サブメニューボタンまたはヘルプボタンがクリックされた際の実際の処理を実行します。 詳細説明: 選択されているメインメニュー項目と、クリックされたサブボタンのインデックス、ボタンの種類(サブメニュー、ヘルプ)、
アクション(クリック、ダブルクリック)に基づいて、スクリプトエンジンにコマンドを実行させます。
- パラメータ:
app -- tkLauncherApp: アプリケーションのインスタンス。
cparams -- tkParams: 計算エンジンのパラメータオブジェクト。
ibutton -- int: クリックされたサブメニューボタンまたはヘルプボタンのインデックス(1始まり)。
button_type -- str: クリックされたボタンの種類 ('submenu' または 'help')。
action -- str: クリックアクションの種類 ('1' (左クリック), '2' (中クリック), '3' (右クリック), 'd1' (ダブルクリック))。
event -- tk.Event, optional: イベントオブジェクト。
- Launcher.Launcher.copy_config(app, cparams, config)[ソース]
概要: config オブジェクトのパラメータを cparams オブジェクトにコピーします。 詳細説明: config オブジェクトと cparams オブジェクトで共通するキーについて、cparams の値を config の値で上書きします。 :param app: tkLauncherApp: アプリケーションのインスタンス。 :param cparams: tkParams: 計算エンジンのパラメータオブジェクト。 :param config: tkParams: 設定パラメータを格納するオブジェクト。
- Launcher.Launcher.copy_tkvars(app, cparams, tkvars)[ソース]
概要: Tkinter変数の値をアプリケーションのパラメータオブジェクトにコピーします。 詳細説明: 現在の実装では、この関数は何も処理せずreturnします。
将来的にTkinterウィジェットの値を cparams や config に反映させるためのプレースホルダです。
- パラメータ:
app -- tkLauncherApp: アプリケーションのインスタンス。
cparams -- tkParams: 計算エンジンのパラメータオブジェクト。
tkvars -- dict: GUIウィジェットの変数辞書。
- Launcher.Launcher.create_frame(app, config, cparams, parent_notebook)[ソース]
概要: ランチャーのメインGUIフレームを作成し、様々なウィジェットを配置します。 詳細説明: メニューリストボックス、右サイドバーボタン、ファイルパス入力フィールド、コマンドライン入力フィールド、
サブメニューボタン、メッセージボックスなどを含むフレームを作成し、親のノートブックに追加します。
- パラメータ:
app -- tkLauncherApp: アプリケーションのインスタンス。
config -- tkParams: 設定パラメータを格納するオブジェクト。
cparams -- tkParams: 計算エンジンのパラメータオブジェクト。
parent_notebook -- tk.ttk.Notebook: ウィジェットを追加する親のノートブックウィジェット。
- 戻り値:
tktkinter.Frame: 作成されたメインGUIフレーム。
概要: アプリケーションのメニューバーを作成します。 詳細説明: 「ファイル」メニュー(開く、終了)と「ツール」メニュー(設定)を含むメニューバーを作成します。
メニュー項目にはアクセラレータキーも設定されます。
- パラメータ:
app -- tkLauncherApp: アプリケーションのインスタンス。
config -- tkParams: 設定パラメータを格納するオブジェクト。
cparams -- tkParams: 計算エンジンのパラメータオブジェクト。
root_window -- tk.Tk: メインウィンドウのルートオブジェクト。
- 戻り値:
tk.Menu: 作成されたメニューバーオブジェクト。
- Launcher.Launcher.create_toolbar(app, config, cparams, root_window)[ソース]
概要: アプリケーションのツールバーを作成します。 詳細説明: 設定ボタン、言語選択コンボボックス、終了ボタン、およびカスタムアクションを実行するための汎用ボタン(TButton)をツールバーに配置します。
各ボタンにはクリックイベントがバインドされます。
- パラメータ:
app -- tkLauncherApp: アプリケーションのインスタンス。
config -- tkParams: 設定パラメータを格納するオブジェクト。
cparams -- tkParams: 計算エンジンのパラメータオブジェクト。
root_window -- tk.Tk: メインウィンドウのルートオブジェクト。
- 戻り値:
tk.Frame: 作成されたツールバーのフレームオブジェクト。
- Launcher.Launcher.create_window(app, config, cparams)[ソース]
概要: アプリケーションのメインウィンドウとGUIコンポーネントを作成します。 詳細説明: メインウィンドウを作成し、メニューバー、ツールバー、およびメインフレームを配置します。
メインフレームには、ユーザーが操作する主要なウィジェットが含まれます。
- パラメータ:
app -- tkLauncherApp: アプリケーションのインスタンス。
config -- tkParams: 設定パラメータを格納するオブジェクト。
cparams -- tkParams: 計算エンジンのパラメータオブジェクト。
- Launcher.Launcher.initialize(app, config)[ソース]
概要: アプリケーションの初期設定とグローバル変数を設定します。 詳細説明: tkLauncherApp インスタンスの主要な設定(ウィンドウタイトル、ディレクトリパス、外部アプリケーションパス、GUIの表示設定など)を初期化します。
環境変数もここで設定されます。
- パラメータ:
app -- tkLauncherApp: アプリケーションのインスタンス。
config -- tkParams: 設定パラメータを格納するオブジェクト。
概要: ランチャーのメニューとスクリプトエンジンを初期化します。 詳細説明: ランチャースクリプトディレクトリから .ini ファイルを読み込み、利用可能なスクリプトファイルを登録します。
[Boot] セクションなどの初期スクリプトを実行し、スクリプトエンジンを更新してメインメニューをリストボックスに表示します。
- パラメータ:
app -- tkLauncherApp: アプリケーションのインスタンス。
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) も推測して設定します。
- パラメータ:
app -- tkLauncherApp: アプリケーションのインスタンス。
cparams -- tkParams: 計算エンジンのパラメータオブジェクト。
tkvars -- dict: GUIウィジェットの変数辞書。
varname -- str: ファイルパスを格納する tkvars 内のキー名。デフォルトは "infile"。
parameterpath_varname -- str: パラメータファイルパスを格納する tkvars 内のキー名。デフォルトは "prmpath"。
outputpath_varname -- str: 出力ファイルパスを格納する tkvars 内のキー名。デフォルトは "outfile"。
file_type -- list: ファイルダイアログで表示されるファイルタイプのリスト。デフォルトは Excelと全てのファイル。
ini_dir -- str: ファイルダイアログの初期ディレクトリ。デフォルトは '.'。
- Launcher.Launcher.listbox_dbl_clicked(app, cparams, event)[ソース]
概要: リストボックス項目がダブルクリックされた際のイベントハンドラです。 詳細説明: 現在の実装では、この関数は何も処理しません。 :param app: tkLauncherApp: アプリケーションのインスタンス。 :param cparams: tkParams: 計算エンジンのパラメータオブジェクト。 :param event: tk.Event: イベントオブジェクト。
- Launcher.Launcher.listbox_selected(app, cparams, event)[ソース]
概要: メインメニューリストボックスの項目が選択された際のイベントハンドラです。 詳細説明: 選択されたメインメニューに対応するサブメニューボタンのキャプションと状態(有効/無効)を更新します。
また、ツールチップも設定します。スクリプトエンジンに 'select' アクションを通知します。
- パラメータ:
app -- tkLauncherApp: アプリケーションのインスタンス。
cparams -- tkParams: 計算エンジンのパラメータオブジェクト。
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: tkLauncherApp: アプリケーションのインスタンス。 :param cparams: tkParams: 計算エンジンのパラメータオブジェクト。
- Launcher.Launcher.set_tbutton_captions(app, cparams)[ソース]
概要: ツールバーボタン(TButton)のキャプションを設定します。 詳細説明: app.config.n_tbutton で定義された数のTButtonについて、スクリプトエンジンから対応するキャプションを取得し、GUIに表示します。 :param app: tkLauncherApp: アプリケーションのインスタンス。 :param cparams: tkParams: 計算エンジンのパラメータオブジェクト。