diff --git a/src/OptAlgorithm/ConstantCalculator.py b/src/OptAlgorithm/ConstantCalculator.py index 3a9dfe7..7146fa2 100644 --- a/src/OptAlgorithm/ConstantCalculator.py +++ b/src/OptAlgorithm/ConstantCalculator.py @@ -1,4 +1,4 @@ -from OptAlgorithm.AutoConfigClass import AutoConfigClass +from src.OptAlgorithm.AutoConfigClass import AutoConfigClass from numpy import sqrt class ConstantCalculator(AutoConfigClass): diff --git a/src/OptAlgorithm/OptAlgorithm.py b/src/OptAlgorithm/OptAlgorithm.py index e9dbc34..c86e411 100644 --- a/src/OptAlgorithm/OptAlgorithm.py +++ b/src/OptAlgorithm/OptAlgorithm.py @@ -1,7 +1,7 @@ -from OptAlgorithm.PhaseCalc import PhaseCalc -from OptAlgorithm.OptTimeCalculator import OptTimeCalculator -from OptAlgorithm.AutoConfigClass import AutoConfigClass -from OptAlgorithm.ConstantCalculator import ConstantCalculator +from src.OptAlgorithm.PhaseCalc import PhaseCalc +from src.OptAlgorithm.OptTimeCalculator import OptTimeCalculator +from src.OptAlgorithm.AutoConfigClass import AutoConfigClass +from src.OptAlgorithm.ConstantCalculator import ConstantCalculator from numpy import cos, sin, sqrt, cbrt, arcsin diff --git a/src/OptAlgorithm/OptTimeCalculator.py b/src/OptAlgorithm/OptTimeCalculator.py index 3b954be..aa1d9ce 100644 --- a/src/OptAlgorithm/OptTimeCalculator.py +++ b/src/OptAlgorithm/OptTimeCalculator.py @@ -1,7 +1,7 @@ from numpy import sqrt, arcsin, arccos, cos, sin -from OptAlgorithm.AutoConfigClass import AutoConfigClass -from OptAlgorithm.ConstantCalculator import ConstantCalculator +from src.OptAlgorithm.AutoConfigClass import AutoConfigClass +from src.OptAlgorithm.ConstantCalculator import ConstantCalculator class OptTimeCalculator(AutoConfigClass): diff --git a/src/OptAlgorithm/__pycache__/ConstantCalculator.cpython-310.pyc b/src/OptAlgorithm/__pycache__/ConstantCalculator.cpython-310.pyc index 002933b..0103bf2 100644 Binary files a/src/OptAlgorithm/__pycache__/ConstantCalculator.cpython-310.pyc and b/src/OptAlgorithm/__pycache__/ConstantCalculator.cpython-310.pyc differ diff --git a/src/OptAlgorithm/__pycache__/OptAlgorithm.cpython-310.pyc b/src/OptAlgorithm/__pycache__/OptAlgorithm.cpython-310.pyc index d41c35b..cfaf5d4 100644 Binary files a/src/OptAlgorithm/__pycache__/OptAlgorithm.cpython-310.pyc and b/src/OptAlgorithm/__pycache__/OptAlgorithm.cpython-310.pyc differ diff --git a/src/OptAlgorithm/__pycache__/OptTimeCalculator.cpython-310.pyc b/src/OptAlgorithm/__pycache__/OptTimeCalculator.cpython-310.pyc index cfe359f..c0b0403 100644 Binary files a/src/OptAlgorithm/__pycache__/OptTimeCalculator.cpython-310.pyc and b/src/OptAlgorithm/__pycache__/OptTimeCalculator.cpython-310.pyc differ diff --git a/src/__init__.py b/src/__init__.py new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/src/__init__.py @@ -0,0 +1 @@ + diff --git a/src/__pycache__/__init__.cpython-310.pyc b/src/__pycache__/__init__.cpython-310.pyc new file mode 100644 index 0000000..36e9c1b Binary files /dev/null and b/src/__pycache__/__init__.cpython-310.pyc differ diff --git a/src/gui/__init__.py b/src/gui/__init__.py index 2e2d808..3b75cd5 100644 --- a/src/gui/__init__.py +++ b/src/gui/__init__.py @@ -1 +1,2 @@ from .plot_window import PlotWindow +from .settings_windows import settingsWindow diff --git a/src/gui/__pycache__/__init__.cpython-310.pyc b/src/gui/__pycache__/__init__.cpython-310.pyc index f91d31e..b143238 100644 Binary files a/src/gui/__pycache__/__init__.cpython-310.pyc and b/src/gui/__pycache__/__init__.cpython-310.pyc differ diff --git a/src/gui/__pycache__/plot_window.cpython-310.pyc b/src/gui/__pycache__/plot_window.cpython-310.pyc index 1433394..e692912 100644 Binary files a/src/gui/__pycache__/plot_window.cpython-310.pyc and b/src/gui/__pycache__/plot_window.cpython-310.pyc differ diff --git a/src/gui/__pycache__/settings_windows.cpython-310.pyc b/src/gui/__pycache__/settings_windows.cpython-310.pyc new file mode 100644 index 0000000..7cdeaff Binary files /dev/null and b/src/gui/__pycache__/settings_windows.cpython-310.pyc differ diff --git a/src/gui/plot_window.py b/src/gui/plot_window.py index 8b77ed4..ee0171e 100644 --- a/src/gui/plot_window.py +++ b/src/gui/plot_window.py @@ -1,8 +1,8 @@ import pyqtgraph as pg import numpy as np -from gui import qt_settings as qts -from OptAlgorithm import OptAlgorithm +from src.gui import qt_settings as qts +from src.OptAlgorithm import OptAlgorithm class PlotWindow: diff --git a/src/gui/settings_windows.py b/src/gui/settings_windows.py new file mode 100644 index 0000000..48e0616 --- /dev/null +++ b/src/gui/settings_windows.py @@ -0,0 +1,64 @@ +import pyqtgraph as pg +from pyqtgraph.Qt import QtWidgets +import pyqtgraph.parametertree.parameterTypes as pTypes +from pyqtgraph.parametertree import Parameter, ParameterTree + +from src.utils.json_tools import read_json, write_json + +class settingsWindow(QtWidgets.QWidget): + def __init__(self, path: str, name: str): + super(settingsWindow, self).__init__() + self.settingsPath = path + self.name = name + + self.data = {} + self.params = None + self.load_settings() + self.init_ui() + + def load_settings(self): + self.data = read_json(self.settingsPath) + + def write_settings(self): + write_json(self.settingsPath, self.data) + + def _getTreeStructure(self) -> list: + params = [] + for key, value in self.data.items(): + params.append({'name': str(key), 'type': type(value).__name__, 'value': value}) + return params + + def init_ui(self): + temp = self._getTreeStructure() + self.params = Parameter.create(name='params', type='group', children=temp) + self.params.sigTreeStateChanged.connect(self.change) + + ParamsTree = ParameterTree() + ParamsTree.setParameters(self.params) + ParamsTree.setWindowTitle('Settings ,f,f') + layout = QtWidgets.QGridLayout() + layout.addWidget(ParamsTree, 0,0) + self.setLayout(layout) + + self.show() + + def change(self, param, changes): + print("tree changes:") + for param, change, data in changes: + path = self.params.childPath(param) + if path is not None: + childName = '.'.join(path) + else: + childName = param.name() + print(' parameter: %s'% childName) + print(' change: %s'% change) + print(' data: %s'% str(data)) + print(' ----------') + + +if __name__ == '__main__': + app = pg.mkQApp("Parameter Tree Example") + window = settingsWindow('params\operator_params.json', 'operator') + app.exec() + + diff --git a/src/uml/creator.py b/src/uml/creator.py index f07b915..e3d43ff 100644 --- a/src/uml/creator.py +++ b/src/uml/creator.py @@ -1,4 +1,4 @@ -from uml.request_generator import Request +from src.uml.request_generator import Request class UMLCreator: diff --git a/src/utils/__init__.py b/src/utils/__init__.py index 170ff94..1939c2e 100644 --- a/src/utils/__init__.py +++ b/src/utils/__init__.py @@ -1,2 +1,2 @@ -from .json_tools import read_json +from .json_tools import read_json, write_json from .diagram_parser import DiagramParser \ No newline at end of file diff --git a/src/utils/__pycache__/__init__.cpython-310.pyc b/src/utils/__pycache__/__init__.cpython-310.pyc index 34e14df..94a75c6 100644 Binary files a/src/utils/__pycache__/__init__.cpython-310.pyc and b/src/utils/__pycache__/__init__.cpython-310.pyc differ diff --git a/src/utils/__pycache__/json_tools.cpython-310.pyc b/src/utils/__pycache__/json_tools.cpython-310.pyc index 1d2234b..a0ec4c2 100644 Binary files a/src/utils/__pycache__/json_tools.cpython-310.pyc and b/src/utils/__pycache__/json_tools.cpython-310.pyc differ diff --git a/src/utils/json_tools.py b/src/utils/json_tools.py index 3b3b14f..1933f4c 100644 --- a/src/utils/json_tools.py +++ b/src/utils/json_tools.py @@ -9,3 +9,13 @@ def read_json(filepath: str) -> dict: with open(filepath, 'r') as json_file: data = json.load(json_file) return data + +def write_json(filepath: str, data: dict): + if not path.exists(filepath): + raise FileNotFoundError(f"JSON file {filepath} not found!") + + try: + with open(filepath, 'w') as json_file: + json.dump(data, json_file) + except Exception as e: + raise e \ No newline at end of file