"""
tkpluginモジュール
==================
このモジュールは、Tkinterアプリケーションにおけるプラグインやモジュールを管理するための
基底クラスである `tkModule` を提供します。
`tklib.tkobject.tkObject` を継承し、モジュールのライフサイクル管理と
基本的なプロパティ設定を可能にします。
関連リンク: :doc:`tkplugin_usage`
"""
import sys
from tklib.tkobject import tkObject
[ドキュメント]
class tkModule(tkObject):
"""
Tkinterアプリケーションのプラグインまたはモジュールの基本クラスです。
`tkObject` を継承し、モジュール名や内部参照を管理します。
`initialize` メソッドで初期化処理を実行します。
"""
def __init__(self, name, module = None, **kwargs):
"""
`tkModule` の新しいインスタンスを初期化します。
モジュール名を設定し、オプションで親モジュールへの参照を保持します。
`update` と `initialize` メソッドを呼び出して、インスタンスの
プロパティを更新し、追加の初期化処理を実行します。
:param name: str: このモジュールの名前。
:param module: tkModule or None: 親モジュールへの参照。デフォルトはNone。
:param kwargs: dict: `tkObject` および `initialize` メソッドに渡される追加のキーワード引数。
"""
self.name = name
self.module = module
self.update(**kwargs)
self.initialize(**kwargs)
[ドキュメント]
def initialize(self, **kwargs):
"""
モジュールの追加の初期化処理を実行します。
このメソッドは `__init__` メソッドから呼び出され、`tkObject` の
初期化処理(`super().__init__(**kwargs)`)を実行します。
子クラスでオーバーライドすることで、カスタムの初期化ロジックを
追加することができます。
:param kwargs: dict: `super().__init__` に渡される追加のキーワード引数。
"""
super().__init__(**kwargs)
# def __del__(self):
# print("{} destroyed".format(self.name))
def __str__(self):
"""
モジュールの文字列表現を返します。
このモジュールの名前を返します。
:returns: str: このモジュールの名前。
"""
return self.name