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
概要: アプリケーションのメニューバーを作成します。 詳細説明: 「ファイル」メニュー(開く、終了)と「ツール」メニュー(設定)を含むメニューバーを作成します。
メニュー項目にはアクセラレータキーも設定されます。
- 引数:
- 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
概要: ランチャーのメニューとスクリプトエンジンを初期化します。 詳細説明: ランチャースクリプトディレクトリから .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