├── .github ├── ISSUE_TEMPLATE.md ├── TEST_FAIL_TEMPLATE.md ├── dependabot.yml └── workflows │ └── ci.yml ├── .github_changelog_generator ├── .gitignore ├── .pre-commit-config.yaml ├── .readthedocs.yaml ├── CHANGELOG.md ├── LICENSE ├── README.md ├── codecov.yml ├── demo ├── images │ └── about.svg ├── keybinding_helper.py ├── model_app.py ├── multi_file │ ├── __init__.py │ ├── __main__.py │ ├── actions.py │ ├── app.py │ ├── constants.py │ └── functions.py └── qapplication.py ├── docs ├── css │ └── style.css ├── gen_ref_nav.py ├── getting_started.md ├── images │ └── qmainwindow.jpeg ├── index.md └── my_hooks.py ├── mkdocs.yml ├── pyproject.toml ├── src └── app_model │ ├── __init__.py │ ├── _app.py │ ├── backends │ ├── __init__.py │ └── qt │ │ ├── __init__.py │ │ ├── _qaction.py │ │ ├── _qkeybindingedit.py │ │ ├── _qkeymap.py │ │ ├── _qmainwindow.py │ │ ├── _qmenu.py │ │ └── _util.py │ ├── expressions │ ├── __init__.py │ ├── _context.py │ ├── _context_keys.py │ └── _expressions.py │ ├── py.typed │ ├── registries │ ├── __init__.py │ ├── _commands_reg.py │ ├── _keybindings_reg.py │ ├── _menus_reg.py │ └── _register.py │ └── types │ ├── __init__.py │ ├── _action.py │ ├── _base.py │ ├── _command_rule.py │ ├── _constants.py │ ├── _icon.py │ ├── _keybinding_rule.py │ ├── _keys │ ├── __init__.py │ ├── _key_codes.py │ ├── _keybindings.py │ └── _standard_bindings.py │ ├── _menu_rule.py │ └── _utils.py └── tests ├── conftest.py ├── fixtures └── fake_module.py ├── test_actions.py ├── test_app.py ├── test_command_registry.py ├── test_context ├── test_context.py ├── test_context_keys.py └── test_expressions.py ├── test_key_codes.py ├── test_keybindings.py ├── test_qt ├── __init__.py ├── test_demos.py ├── test_qactions.py ├── test_qkeybindingedit.py ├── test_qkeymap.py ├── test_qmainwindow.py └── test_qmenu.py ├── test_registries.py └── test_types.py /.github/ISSUE_TEMPLATE.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pyapp-kit/app-model/HEAD/.github/ISSUE_TEMPLATE.md -------------------------------------------------------------------------------- /.github/TEST_FAIL_TEMPLATE.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pyapp-kit/app-model/HEAD/.github/TEST_FAIL_TEMPLATE.md -------------------------------------------------------------------------------- /.github/dependabot.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pyapp-kit/app-model/HEAD/.github/dependabot.yml -------------------------------------------------------------------------------- /.github/workflows/ci.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pyapp-kit/app-model/HEAD/.github/workflows/ci.yml -------------------------------------------------------------------------------- /.github_changelog_generator: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pyapp-kit/app-model/HEAD/.github_changelog_generator -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pyapp-kit/app-model/HEAD/.gitignore -------------------------------------------------------------------------------- /.pre-commit-config.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pyapp-kit/app-model/HEAD/.pre-commit-config.yaml -------------------------------------------------------------------------------- /.readthedocs.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pyapp-kit/app-model/HEAD/.readthedocs.yaml -------------------------------------------------------------------------------- /CHANGELOG.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pyapp-kit/app-model/HEAD/CHANGELOG.md -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pyapp-kit/app-model/HEAD/LICENSE -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pyapp-kit/app-model/HEAD/README.md -------------------------------------------------------------------------------- /codecov.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pyapp-kit/app-model/HEAD/codecov.yml -------------------------------------------------------------------------------- /demo/images/about.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pyapp-kit/app-model/HEAD/demo/images/about.svg -------------------------------------------------------------------------------- /demo/keybinding_helper.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pyapp-kit/app-model/HEAD/demo/keybinding_helper.py -------------------------------------------------------------------------------- /demo/model_app.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pyapp-kit/app-model/HEAD/demo/model_app.py -------------------------------------------------------------------------------- /demo/multi_file/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /demo/multi_file/__main__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pyapp-kit/app-model/HEAD/demo/multi_file/__main__.py -------------------------------------------------------------------------------- /demo/multi_file/actions.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pyapp-kit/app-model/HEAD/demo/multi_file/actions.py -------------------------------------------------------------------------------- /demo/multi_file/app.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pyapp-kit/app-model/HEAD/demo/multi_file/app.py -------------------------------------------------------------------------------- /demo/multi_file/constants.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pyapp-kit/app-model/HEAD/demo/multi_file/constants.py -------------------------------------------------------------------------------- /demo/multi_file/functions.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pyapp-kit/app-model/HEAD/demo/multi_file/functions.py -------------------------------------------------------------------------------- /demo/qapplication.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pyapp-kit/app-model/HEAD/demo/qapplication.py -------------------------------------------------------------------------------- /docs/css/style.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pyapp-kit/app-model/HEAD/docs/css/style.css -------------------------------------------------------------------------------- /docs/gen_ref_nav.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pyapp-kit/app-model/HEAD/docs/gen_ref_nav.py -------------------------------------------------------------------------------- /docs/getting_started.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pyapp-kit/app-model/HEAD/docs/getting_started.md -------------------------------------------------------------------------------- /docs/images/qmainwindow.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pyapp-kit/app-model/HEAD/docs/images/qmainwindow.jpeg -------------------------------------------------------------------------------- /docs/index.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pyapp-kit/app-model/HEAD/docs/index.md -------------------------------------------------------------------------------- /docs/my_hooks.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pyapp-kit/app-model/HEAD/docs/my_hooks.py -------------------------------------------------------------------------------- /mkdocs.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pyapp-kit/app-model/HEAD/mkdocs.yml -------------------------------------------------------------------------------- /pyproject.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pyapp-kit/app-model/HEAD/pyproject.toml -------------------------------------------------------------------------------- /src/app_model/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pyapp-kit/app-model/HEAD/src/app_model/__init__.py -------------------------------------------------------------------------------- /src/app_model/_app.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pyapp-kit/app-model/HEAD/src/app_model/_app.py -------------------------------------------------------------------------------- /src/app_model/backends/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pyapp-kit/app-model/HEAD/src/app_model/backends/__init__.py -------------------------------------------------------------------------------- /src/app_model/backends/qt/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pyapp-kit/app-model/HEAD/src/app_model/backends/qt/__init__.py -------------------------------------------------------------------------------- /src/app_model/backends/qt/_qaction.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pyapp-kit/app-model/HEAD/src/app_model/backends/qt/_qaction.py -------------------------------------------------------------------------------- /src/app_model/backends/qt/_qkeybindingedit.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pyapp-kit/app-model/HEAD/src/app_model/backends/qt/_qkeybindingedit.py -------------------------------------------------------------------------------- /src/app_model/backends/qt/_qkeymap.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pyapp-kit/app-model/HEAD/src/app_model/backends/qt/_qkeymap.py -------------------------------------------------------------------------------- /src/app_model/backends/qt/_qmainwindow.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pyapp-kit/app-model/HEAD/src/app_model/backends/qt/_qmainwindow.py -------------------------------------------------------------------------------- /src/app_model/backends/qt/_qmenu.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pyapp-kit/app-model/HEAD/src/app_model/backends/qt/_qmenu.py -------------------------------------------------------------------------------- /src/app_model/backends/qt/_util.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pyapp-kit/app-model/HEAD/src/app_model/backends/qt/_util.py -------------------------------------------------------------------------------- /src/app_model/expressions/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pyapp-kit/app-model/HEAD/src/app_model/expressions/__init__.py -------------------------------------------------------------------------------- /src/app_model/expressions/_context.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pyapp-kit/app-model/HEAD/src/app_model/expressions/_context.py -------------------------------------------------------------------------------- /src/app_model/expressions/_context_keys.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pyapp-kit/app-model/HEAD/src/app_model/expressions/_context_keys.py -------------------------------------------------------------------------------- /src/app_model/expressions/_expressions.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pyapp-kit/app-model/HEAD/src/app_model/expressions/_expressions.py -------------------------------------------------------------------------------- /src/app_model/py.typed: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/app_model/registries/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pyapp-kit/app-model/HEAD/src/app_model/registries/__init__.py -------------------------------------------------------------------------------- /src/app_model/registries/_commands_reg.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pyapp-kit/app-model/HEAD/src/app_model/registries/_commands_reg.py -------------------------------------------------------------------------------- /src/app_model/registries/_keybindings_reg.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pyapp-kit/app-model/HEAD/src/app_model/registries/_keybindings_reg.py -------------------------------------------------------------------------------- /src/app_model/registries/_menus_reg.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pyapp-kit/app-model/HEAD/src/app_model/registries/_menus_reg.py -------------------------------------------------------------------------------- /src/app_model/registries/_register.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pyapp-kit/app-model/HEAD/src/app_model/registries/_register.py -------------------------------------------------------------------------------- /src/app_model/types/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pyapp-kit/app-model/HEAD/src/app_model/types/__init__.py -------------------------------------------------------------------------------- /src/app_model/types/_action.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pyapp-kit/app-model/HEAD/src/app_model/types/_action.py -------------------------------------------------------------------------------- /src/app_model/types/_base.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pyapp-kit/app-model/HEAD/src/app_model/types/_base.py -------------------------------------------------------------------------------- /src/app_model/types/_command_rule.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pyapp-kit/app-model/HEAD/src/app_model/types/_command_rule.py -------------------------------------------------------------------------------- /src/app_model/types/_constants.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pyapp-kit/app-model/HEAD/src/app_model/types/_constants.py -------------------------------------------------------------------------------- /src/app_model/types/_icon.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pyapp-kit/app-model/HEAD/src/app_model/types/_icon.py -------------------------------------------------------------------------------- /src/app_model/types/_keybinding_rule.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pyapp-kit/app-model/HEAD/src/app_model/types/_keybinding_rule.py -------------------------------------------------------------------------------- /src/app_model/types/_keys/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pyapp-kit/app-model/HEAD/src/app_model/types/_keys/__init__.py -------------------------------------------------------------------------------- /src/app_model/types/_keys/_key_codes.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pyapp-kit/app-model/HEAD/src/app_model/types/_keys/_key_codes.py -------------------------------------------------------------------------------- /src/app_model/types/_keys/_keybindings.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pyapp-kit/app-model/HEAD/src/app_model/types/_keys/_keybindings.py -------------------------------------------------------------------------------- /src/app_model/types/_keys/_standard_bindings.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pyapp-kit/app-model/HEAD/src/app_model/types/_keys/_standard_bindings.py -------------------------------------------------------------------------------- /src/app_model/types/_menu_rule.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pyapp-kit/app-model/HEAD/src/app_model/types/_menu_rule.py -------------------------------------------------------------------------------- /src/app_model/types/_utils.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pyapp-kit/app-model/HEAD/src/app_model/types/_utils.py -------------------------------------------------------------------------------- /tests/conftest.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pyapp-kit/app-model/HEAD/tests/conftest.py -------------------------------------------------------------------------------- /tests/fixtures/fake_module.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pyapp-kit/app-model/HEAD/tests/fixtures/fake_module.py -------------------------------------------------------------------------------- /tests/test_actions.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pyapp-kit/app-model/HEAD/tests/test_actions.py -------------------------------------------------------------------------------- /tests/test_app.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pyapp-kit/app-model/HEAD/tests/test_app.py -------------------------------------------------------------------------------- /tests/test_command_registry.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pyapp-kit/app-model/HEAD/tests/test_command_registry.py -------------------------------------------------------------------------------- /tests/test_context/test_context.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pyapp-kit/app-model/HEAD/tests/test_context/test_context.py -------------------------------------------------------------------------------- /tests/test_context/test_context_keys.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pyapp-kit/app-model/HEAD/tests/test_context/test_context_keys.py -------------------------------------------------------------------------------- /tests/test_context/test_expressions.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pyapp-kit/app-model/HEAD/tests/test_context/test_expressions.py -------------------------------------------------------------------------------- /tests/test_key_codes.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pyapp-kit/app-model/HEAD/tests/test_key_codes.py -------------------------------------------------------------------------------- /tests/test_keybindings.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pyapp-kit/app-model/HEAD/tests/test_keybindings.py -------------------------------------------------------------------------------- /tests/test_qt/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pyapp-kit/app-model/HEAD/tests/test_qt/__init__.py -------------------------------------------------------------------------------- /tests/test_qt/test_demos.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pyapp-kit/app-model/HEAD/tests/test_qt/test_demos.py -------------------------------------------------------------------------------- /tests/test_qt/test_qactions.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pyapp-kit/app-model/HEAD/tests/test_qt/test_qactions.py -------------------------------------------------------------------------------- /tests/test_qt/test_qkeybindingedit.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pyapp-kit/app-model/HEAD/tests/test_qt/test_qkeybindingedit.py -------------------------------------------------------------------------------- /tests/test_qt/test_qkeymap.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pyapp-kit/app-model/HEAD/tests/test_qt/test_qkeymap.py -------------------------------------------------------------------------------- /tests/test_qt/test_qmainwindow.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pyapp-kit/app-model/HEAD/tests/test_qt/test_qmainwindow.py -------------------------------------------------------------------------------- /tests/test_qt/test_qmenu.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pyapp-kit/app-model/HEAD/tests/test_qt/test_qmenu.py -------------------------------------------------------------------------------- /tests/test_registries.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pyapp-kit/app-model/HEAD/tests/test_registries.py -------------------------------------------------------------------------------- /tests/test_types.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pyapp-kit/app-model/HEAD/tests/test_types.py --------------------------------------------------------------------------------