iniview プログラム仕様

INIファイルやテキストファイルを閲覧するためのGUIアプリケーション。

本アプリケーションは、INIファイルや一般的なテキストファイルの内容を直感的に表示・操作するためのGUIツールです。 左ペインのツリービューでINIのキー(またはファイルの内容全体)を階層的に表示し、 右ペインのテキストエディタで選択したキーに対応する値を閲覧できます。 多行のINI値の解析、検索、コピー、ウィンドウ設定の保存、および外部コマンドの実行機能も提供します。

:doc:'iniview_usage'

class editor.iniview.IniViewer(root, ini_path=None)[ソース]

ベースクラス: object

INIファイルやテキストファイルをGUIで表示・操作するためのビューアアプリケーションクラス。

'ttkbootstrap' を利用したGUIで、左ペインにファイルの内容をツリービューで表示し、 右ペインで選択された項目の値をテキストエディタで表示します。 ファイルの読み込み、検索、値のコピー、ウィンドウ設定の保存・復元、外部コマンド実行などの機能を提供します。

copy_from_editor()[ソース]

エディタで選択されているテキスト、またはエディタ全体の内容をクリップボードにコピーする。

エディタでテキストが選択されていればその部分を、選択されていなければエディタ全体のテキストを クリップボードにコピーします。 ステータスバーにコピー完了メッセージを表示します。

Param:

None

戻り値:

None

copy_value()[ソース]

ツリービューで選択されている項目の値をクリップボードにコピーする。

選択された項目のキーに対応する値を 'settings' 辞書から取得し、 ルートウィンドウのクリップボードにコピーします。 ステータスバーにコピー完了メッセージを表示します。

Param:

None

戻り値:

None

create_context_menu()[ソース]

ツリービューのコンテキストメニューを作成する。

ツリービュー上で右クリックした際に表示されるコンテキストメニューを生成し、 「検索」と「コピー」コマンドを追加する。

Param:

None

戻り値:

None

create_menus()[ソース]

アプリケーションのメニューバーを作成する。

「操作」メニュー(ファイル読み込み、検索、コピーなど)、「表示」メニュー(右端で折り返し設定)、 および「ツール」メニュー(ファイル場所を開く、ターミナルを開く、外部コマンドなど)を生成し、 それぞれのコマンドを関連付ける。

Param:

None

戻り値:

None

load_ini(filepath)[ソース]

指定されたINIファイルを読み込み、ツリービューに表示する。

'parse_multiline_ini' 関数を使用してファイルを解析します。 既存のツリービューの内容をクリアし、解析結果のキーと値をツリービューに階層的に挿入します。 ウィンドウタイトルも更新します。

パラメータ:

filepath -- str 読み込むINIファイルのパス。

戻り値:

None

load_window_settings()[ソース]

'iniview.ini' ファイルからウィンドウの位置とサイズ、最後のファイルパス、およびパス設定をロードする。

'configparser' を使用して 'SETTINGS_FILE' を読み込みます。 以前保存されたウィンドウのジオメトリ、ペインのサッシュ位置、最後に開いたファイルパスを適用します。 外部コマンドやファイルマネージャー、ターミナルのパス設定も読み込みます。 最後に開いたファイルが存在し、パスが有効であれば、そのファイルを自動的に読み込みます。

Param:

None

戻り値:

None

検索結果を前後に移動し、対応する項目をツリービューで選択・表示する。

'search_results' リスト内の 'search_index' を 'direction' に応じて更新し、 次の(または前の)検索結果に移動します。 移動先の項目をツリービューで選択し、可視領域にスクロールします。 現在の検索位置をステータスバーに表示します。

パラメータ:

direction -- int 検索方向 ('1' で次へ、'-1' で前へ)。

戻り値:

None

on_close()[ソース]

アプリケーションが閉じられる際に呼び出されるイベントハンドラ。ウィンドウ設定を保存する。

現在のウィンドウのジオメトリ、最後に開いたファイルパス、ペインのサッシュ位置、 および外部コマンドパスを 'SETTINGS_FILE' に保存します。 その後、ルートウィンドウを破棄してアプリケーションを終了します。

Param:

None

戻り値:

None

on_select(event)[ソース]

ツリービューで項目が選択されたときに呼び出されるイベントハンドラ。

選択された項目のキーに対応する値を 'settings' 辞書から取得し、 右ペインのテキストエディタに表示します。 ステータスバーをクリアします。

パラメータ:

event -- tk.Event Tkinterのイベントオブジェクト。

戻り値:

None

search_item()[ソース]

ユーザーからの入力に基づいて、ツリービュー内の項目を検索する。

'simpledialog.askstring' を使用して検索文字列をユーザーに入力させます。 検索文字列がキーまたは値に含まれるすべての項目を検索し、結果を 'search_results' に保存します。 最初の検索結果に移動します。

Param:

None

戻り値:

None

select_file()[ソース]

ファイル選択ダイアログを開き、ユーザーが選択したファイルを読み込む。

'tk.filedialog.askopenfilename' を使用してファイル選択ダイアログを表示します。 直前に開いたファイルのディレクトリを初期ディレクトリとします。 選択されたファイルパスがあれば、'load_ini' メソッドでファイルを読み込み、 'last_opened_file' を更新し、ステータスバーにメッセージを表示します。

Param:

None

戻り値:

None

set_status(msg)[ソース]

ステータスバーのテキストを更新する。

アプリケーションの下部にあるステータスバーに指定されたメッセージを表示します。

パラメータ:

msg -- str ステータスバーに表示するメッセージ。

戻り値:

None

show_context_menu(event)[ソース]

ツリービューのコンテキストメニューを表示する。

右クリックイベント発生時に、イベントの座標に基づいてコンテキストメニューを表示します。

パラメータ:

event -- tk.Event Tkinterのイベントオブジェクト。

戻り値:

None

show_editor_menu(event)[ソース]

エディタのコンテキストメニューを表示する。

右クリックイベント発生時に、イベントの座標に基づいてエディタのコンテキストメニューを表示します。

パラメータ:

event -- tk.Event Tkinterのイベントオブジェクト。

戻り値:

None

toggle_wrap()[ソース]

エディタのテキスト折り返し設定を切り替える。

'wrap_var' BooleanVar の値に応じて、エディタの 'wrap' オプションを '"word"' (折り返す) または '"none"' (折り返さない) に設定します。

Param:

None

戻り値:

None

editor.iniview.parse_multiline_ini(filepath)[ソース]

指定されたファイルパスからINI形式のデータを解析し、辞書として返す。

ファイルのエンコーディングをchardetで自動検出します。 '.ini' 拡張子以外のファイルは、その内容全体を''all''キーの値として読み込みます。 '.ini' ファイルの場合、コメント行 ('#' で始まる行) をスキップし、多行の値をサポートします。 多行値は '"""' で囲まれた範囲として扱われます。

パラメータ:

filepath -- str 解析対象のファイルパス。

戻り値:

dict 解析された設定の辞書。キーはINIファイルのキー、値はINIファイルの値。 ファイルが存在しない場合や解析エラーの場合は空の辞書を返します。