diff --git a/.github/workflows/dev_python3_9.yml b/.github/workflows/dev_python3_12.yml similarity index 92% rename from .github/workflows/dev_python3_9.yml rename to .github/workflows/dev_python3_12.yml index ff555ab..b27d04c 100644 --- a/.github/workflows/dev_python3_9.yml +++ b/.github/workflows/dev_python3_12.yml @@ -17,10 +17,10 @@ jobs: steps: - uses: actions/checkout@v3 - - name: Set up Python 3.9 + - name: Set up Python 3.12 uses: actions/setup-python@v3 with: - python-version: "3.9" + python-version: "3.12" - name: Update pip wheel setuptools run: python -m pip install --upgrade --user pip setuptools wheel - name: Run pip dev_requirements.txt diff --git a/.github/workflows/stable_python3_9.yml b/.github/workflows/stable_python3_12.yml similarity index 92% rename from .github/workflows/stable_python3_9.yml rename to .github/workflows/stable_python3_12.yml index 0480844..df89ae9 100644 --- a/.github/workflows/stable_python3_9.yml +++ b/.github/workflows/stable_python3_12.yml @@ -17,10 +17,10 @@ jobs: steps: - uses: actions/checkout@v3 - - name: Set up Python 3.9 + - name: Set up Python 3.12 uses: actions/setup-python@v3 with: - python-version: "3.9" + python-version: "3.12" - name: Update pip wheel setuptools run: python -m pip install --upgrade --user pip setuptools wheel - name: Run pip requirements.txt diff --git a/automation_ide/automation_editor_ui/editor_main/main_ui.py b/automation_ide/automation_editor_ui/editor_main/main_ui.py index fe79dc0..f403f1a 100644 --- a/automation_ide/automation_editor_ui/editor_main/main_ui.py +++ b/automation_ide/automation_editor_ui/editor_main/main_ui.py @@ -3,11 +3,13 @@ from pathlib import Path from typing import List, Dict, Type +from os import environ +environ["LOCUST_SKIP_MONKEY_PATCH"] = "1" + from PySide6.QtCore import QTimer, QCoreApplication from PySide6.QtGui import QIcon from PySide6.QtWidgets import QApplication, QWidget, QSystemTrayIcon from je_editor import EditorMain, language_wrapper -from je_editor.pyside_ui.main_ui.system_tray.extend_system_tray import ExtendSystemTray from qt_material import apply_stylesheet from automation_ide.automation_editor_ui.extend_multi_language.update_language_dict import update_language_dict @@ -15,8 +17,16 @@ from automation_ide.automation_editor_ui.syntax.syntax_extend import \ syntax_extend_package -EDITOR_EXTEND_TAB: Dict[str, Type[QWidget]] = {} +from je_api_testka.gui.main_widget import APITestkaWidget +from je_load_density.gui.main_widget import LoadDensityWidget +from je_auto_control.gui.main_widget import AutoControlGUIWidget + +EDITOR_EXTEND_TAB: Dict[str, Type[QWidget]] = { + "LoadDensity GUI": LoadDensityWidget, + "APITestka GUI": APITestkaWidget, + "AutoControl GUI": AutoControlGUIWidget, +} class AutomationEditor(EditorMain): diff --git a/automation_ide/automation_editor_ui/menu/automation_menu/api_testka_menu/build_api_testka_menu.py b/automation_ide/automation_editor_ui/menu/automation_menu/api_testka_menu/build_api_testka_menu.py index 506cfda..c9323a3 100644 --- a/automation_ide/automation_editor_ui/menu/automation_menu/api_testka_menu/build_api_testka_menu.py +++ b/automation_ide/automation_editor_ui/menu/automation_menu/api_testka_menu/build_api_testka_menu.py @@ -2,6 +2,7 @@ from typing import TYPE_CHECKING +from je_api_testka.gui.main_widget import APITestkaWidget from je_editor import language_wrapper from automation_ide.automation_editor_ui.menu.menu_utils import open_web_browser @@ -108,6 +109,16 @@ def set_apitestka_menu(ui_we_want_to_set: AutomationEditor): ui_we_want_to_set.apitestka_project_menu.addAction( ui_we_want_to_set.create_apitestka_project_action ) + # APITestka GUI + ui_we_want_to_set.api_testka_gui_action = QAction( + "APITestka GUI" + ) + ui_we_want_to_set.api_testka_gui_action.triggered.connect( + lambda: add_api_testka_gui(ui_we_want_to_set) + ) + ui_we_want_to_set.apitestka_menu.addAction( + ui_we_want_to_set.api_testka_gui_action + ) def create_project() -> None: @@ -118,3 +129,8 @@ def create_project() -> None: package.create_project_dir() except ImportError as error: print(repr(error), file=sys.stderr) + +def add_api_testka_gui(ui_we_want_to_set: AutomationEditor) -> None: + ui_we_want_to_set.tab_widget.addTab( + APITestkaWidget(), "APITestka GUI" + ) \ No newline at end of file diff --git a/automation_ide/automation_editor_ui/menu/automation_menu/auto_control_menu/build_autocontrol_menu.py b/automation_ide/automation_editor_ui/menu/automation_menu/auto_control_menu/build_autocontrol_menu.py index 9d1c25a..8e8e95c 100644 --- a/automation_ide/automation_editor_ui/menu/automation_menu/auto_control_menu/build_autocontrol_menu.py +++ b/automation_ide/automation_editor_ui/menu/automation_menu/auto_control_menu/build_autocontrol_menu.py @@ -2,6 +2,7 @@ from typing import TYPE_CHECKING +from je_auto_control.gui.main_widget import AutoControlGUIWidget from je_editor import EditorWidget, language_wrapper from automation_ide.automation_editor_ui.menu.menu_utils import open_web_browser @@ -130,6 +131,16 @@ def set_autocontrol_menu(ui_we_want_to_set: AutomationEditor): ui_we_want_to_set.autocontrol_record_menu.addAction( ui_we_want_to_set.stop_record_action ) + # AutoControl GUI + ui_we_want_to_set.autocontrol_gui_action = QAction( + "AutoControl GUI" + ) + ui_we_want_to_set.autocontrol_gui_action.triggered.connect( + lambda: add_autocontrol_gui(ui_we_want_to_set) + ) + ui_we_want_to_set.autocontrol_menu.addAction( + ui_we_want_to_set.autocontrol_gui_action + ) def create_project() -> None: @@ -145,3 +156,9 @@ def stop_record(editor_instance: AutomationEditor): widget = editor_instance.tab_widget.currentWidget() if isinstance(widget, EditorWidget): widget.code_edit.appendPlainText(str(je_auto_control.stop_record())) + + +def add_autocontrol_gui(ui_we_want_to_set: AutomationEditor) -> None: + ui_we_want_to_set.tab_widget.addTab( + AutoControlGUIWidget(), "AutoControl GUI" + ) diff --git a/automation_ide/automation_editor_ui/menu/automation_menu/load_density_menu/build_load_density_menu.py b/automation_ide/automation_editor_ui/menu/automation_menu/load_density_menu/build_load_density_menu.py index b38b214..4ed1483 100644 --- a/automation_ide/automation_editor_ui/menu/automation_menu/load_density_menu/build_load_density_menu.py +++ b/automation_ide/automation_editor_ui/menu/automation_menu/load_density_menu/build_load_density_menu.py @@ -3,6 +3,7 @@ from typing import TYPE_CHECKING from je_editor import language_wrapper +from je_load_density.gui.main_widget import LoadDensityWidget from automation_ide.automation_editor_ui.menu.menu_utils import open_web_browser @@ -108,6 +109,16 @@ def set_load_density_menu(ui_we_want_to_set: AutomationEditor): ui_we_want_to_set.load_density_project_menu.addAction( ui_we_want_to_set.create_load_density_project_action ) + # AutoControl GUI + ui_we_want_to_set.load_density_gui_action = QAction( + "LoadDensity GUI" + ) + ui_we_want_to_set.load_density_gui_action.triggered.connect( + lambda: add_load_density_gui(ui_we_want_to_set) + ) + ui_we_want_to_set.load_density_menu.addAction( + ui_we_want_to_set.load_density_gui_action + ) def create_project() -> None: @@ -118,3 +129,9 @@ def create_project() -> None: package.create_project_dir() except ImportError as error: print(repr(error), file=sys.stderr) + + +def add_load_density_gui(ui_we_want_to_set: AutomationEditor) -> None: + ui_we_want_to_set.tab_widget.addTab( + LoadDensityWidget(), "LoadDensity GUI" + ) diff --git a/dev.toml b/dev.toml index 7f40547..c2ef49c 100644 --- a/dev.toml +++ b/dev.toml @@ -6,20 +6,20 @@ build-backend = "setuptools.build_meta" [project] name = "automation_ide_dev" -version = "0.0.47" +version = "0.0.48" authors = [ { name = "JE-Chen", email = "jechenmailman@gmail.com" }, ] description = "AutomationEditor for multi automation" -requires-python = ">=3.9" +requires-python = ">=3.10" license-files = ["LICENSE"] dependencies = [ "je-editor", "je_auto_control", "je_web_runner", "je_load_density", "je_api_testka", "je-mail-thunder", - "automation-file", "PySide6==6.9.0", "test_pioneer" + "automation-file", "PySide6==6.9.1", "test_pioneer" ] classifiers = [ - "Programming Language :: Python :: 3.9", + "Programming Language :: Python :: 3.10", "Development Status :: 2 - Pre-Alpha", "Environment :: Win32 (MS Windows)", "Environment :: MacOS X", diff --git a/dev_requirements.txt b/dev_requirements.txt index 915582d..c2bad87 100644 --- a/dev_requirements.txt +++ b/dev_requirements.txt @@ -8,6 +8,6 @@ je-mail-thunder automation_ide_dev sphinx sphinx-rtd-theme -PySide6==6.9.0 +PySide6==6.9.1 auto-py-to-exe test_pioneer \ No newline at end of file diff --git a/pyproject.toml b/pyproject.toml index f86abdb..9850bb0 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -6,20 +6,20 @@ build-backend = "setuptools.build_meta" [project] name = "automation_ide" -version = "0.0.42" +version = "0.0.43" authors = [ { name = "JE-Chen", email = "jechenmailman@gmail.com" }, ] description = "AutomationEditor for multi automation" -requires-python = ">=3.9" +requires-python = ">=3.10" license-files = ["LICENSE"] dependencies = [ "je-editor", "je_auto_control", "je_web_runner", "je_load_density", "je_api_testka", "je-mail-thunder", - "automation-file", "PySide6==6.9.0", "test_pioneer" + "automation-file", "PySide6==6.9.1", "test_pioneer" ] classifiers = [ - "Programming Language :: Python :: 3.9", + "Programming Language :: Python :: 3.10", "Development Status :: 2 - Pre-Alpha", "Environment :: Win32 (MS Windows)", "Environment :: MacOS X", diff --git a/requirements.txt b/requirements.txt index 472c4e2..f9dfbfd 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,2 +1,2 @@ automation_ide -PySide6==6.9.0 +PySide6==6.9.1