예제 #1
0
    def generate_parameter_inputs(self, layout):
        parameter_wiget = QWidget(self)
        parameter_wiget._grid = QtWidgets.QGridLayout()
        parameter_wiget.setLayout(parameter_wiget._grid)

        self.inputs = None

        if "obstacle" in self.mode.lower():
            self.inputs = [
                [None, None, "Static PWL distance 1"],
                [None, None, "Static PWL distance 2"],
                [None, None, "Static PWL distance 3"],
                [None, None, "Static PWL distance 4"],
                [None, None, "Static PWL distance 5"],
                [None, None, "Static PWL amplitude 1"],
                [None, None, "Static PWL amplitude 2"],
                [None, None, "Static PWL amplitude 3"],
                [None, None, "Static PWL amplitude 4"],
                [None, None, "Static PWL amplitude 5"],
                [None, None, "Moving PWL distance 1"],
                [None, None, "Moving PWL distance 2"],
                [None, None, "Moving PWL amplitude 1"],
                [None, None, "Moving PWL amplitude 2"],
                [None, None, "Static adjacent factor"],
                [None, None, "Moving max"],
            ]
            helper_path = os.path.dirname(os.path.realpath(__file__))
            param_file = os.path.join(
                helper_path,
                "../../examples/processing/obstacle_bg_params_dump.yaml"
            )

        if self.inputs is not None:
            for idx, i in enumerate(self.inputs):
                i[0] = QLabel(i[-1])
                i[1] = QLineEdit("0", self)
                parameter_wiget._grid.addWidget(i[0], idx, 0)
                parameter_wiget._grid.addWidget(i[1], idx, 1)

            try:
                with open(param_file, 'r') as f_handle:
                    params = yaml.load(f_handle)
                self.set_params(params)
            except Exception:
                # Continue with empty inputs if file doesn't exist
                print("Failed to set params from file")

        layout.addWidget(parameter_wiget)