Custom Fileブラウザを使用する
ユーザーは、Atomsファイルを参照する際に、自分のカスタムファイルブラウザを使用することができます。これにより、異なるパイプラインが独自のinternal DBブラウザを使用することができます。新しいブラウザコールバックを登録する場合は、Atoms.ui.utils.qt.open_file_browser methodをオーバーライドします。
ブラウザコールバックの引数は、以下のとおりです。
- parent:parent widget
- title:Atomsによって、要求されたブラウザのタイトル
- dir:現在のディレクトリ
- filter:ファイルフィルタ
- directory_mode:trueの場合、ディレクトリを参照します。
- save_mode:trueの場合、ファイルを保存します。
- hint:この文字列は、ユーザーが実行している特定のタスクに関する情報を提供します。
hint引数に指定できる値は、次のとおりです。
- load_state_machine_json, save_state_machine_json (State machine)
- load_animation_clip_script, save_animation_clip_script (Animation clips)
- load_agent_type_script, save_agent_type_script (Agent types)
- load_behaviour_module_script, save_behaviour_module_script (Behaviour modules)
- load_simulation_event_script, save_simulation_event_script (Simulation events)
- load_variation, save_variation, merge_variation (Variation json)
- material (load_only), texture (load_only), atoms_geo (load_only) (Variation elements)
- cloth_setup (load_only) (Cloth setup)
- atoms_cache_path (load_only) (Atoms cache)
- atoms (load_only) (Skeleton config map)
Example
from Atoms.ui.utils.qthandler import QtGui, QtCore, QtWidgets import Atoms.ui.utils.qt def my_open_file_browser(parent, title, dir="", filter="*", directory_mode=False, save_mode=False, hint=None): fn = None if directory_mode: if save_mode: fn = QtWidgets.QFileDialog.getExistingDirectory(parent, "MY_BROWSER " + title, dir) else: fn = QtWidgets.QFileDialog.getExistingDirectory(parent, "MY_BROWSER " + title, dir) else: if save_mode: fn = QtWidgets.QFileDialog.getSaveFileName(parent, "MY_BROWSER " + title, dir, filter) else: fn = QtWidgets.QFileDialog.getOpenFileName(parent, "MY_BROWSER " + title, dir, filter) return fn Atoms.ui.utils.qt.open_file_browser = my_open_file_browser
Copyright © 2017, Toolchefs LTD.