add completer to general fit linedit
This commit is contained in:
		| @@ -19,8 +19,6 @@ class FitModelWidget(QtWidgets.QWidget, Ui_FitParameter): | ||||
|  | ||||
|         self.parametername.setText(label + ' ') | ||||
|  | ||||
|         # validator = QtGui.QDoubleValidator() | ||||
|         # validator.setDecimals(9) | ||||
|         # self.parameter_line.setValidator(validator) | ||||
|         self.parameter_line.setText('1') | ||||
|         self.parameter_line.setMaximumWidth(60) | ||||
| @@ -38,15 +36,21 @@ class FitModelWidget(QtWidgets.QWidget, Ui_FitParameter): | ||||
|         if fixed: | ||||
|             self.fixed_check.hide() | ||||
|  | ||||
|         self.menu = QtWidgets.QMenu(self) | ||||
|         self.add_links() | ||||
|  | ||||
|         self.is_linked = None | ||||
|         self.parameter_pos = None | ||||
|         self.func_idx = None | ||||
|  | ||||
|         self._linetext = '1' | ||||
|  | ||||
|         self.completer = QtWidgets.QCompleter() | ||||
|         self.completer.setCompletionMode(QtWidgets.QCompleter.UnfilteredPopupCompletion) | ||||
|         self.parameter_hint_model = QtGui.QStandardItemModel() | ||||
|         self.completer.setModel(self.parameter_hint_model) | ||||
|         self.parameter_line.setCompleter(self.completer) | ||||
|  | ||||
|         self.menu = QtWidgets.QMenu(self) | ||||
|         self.add_links() | ||||
|  | ||||
|     @property | ||||
|     def name(self): | ||||
|         return convert(self.parametername.text().strip(), old='html', new='str') | ||||
| @@ -130,16 +134,25 @@ class FitModelWidget(QtWidgets.QWidget, Ui_FitParameter): | ||||
|             parameter = {} | ||||
|         self.menu.clear() | ||||
|  | ||||
|         self.parameter_hint_model.clear() | ||||
|  | ||||
|         ac = QtWidgets.QAction('Link to...', self) | ||||
|         ac.triggered.connect(self.link_parameter) | ||||
|         self.menu.addAction(ac) | ||||
|  | ||||
|         for model_key, model_funcs in parameter.items(): | ||||
|             m = QtWidgets.QMenu('Model ' + model_key, self) | ||||
|             hint_key = model_key | ||||
|  | ||||
|             for func_name, func_params in model_funcs.items(): | ||||
|                 m2 = QtWidgets.QMenu(func_name, m) | ||||
|                 hint_key += f'.{func_name}' | ||||
|                 for p_name, idx in func_params: | ||||
|                     ac = QtWidgets.QAction(p_name, m2) | ||||
|                     hint_key += f'.{p_name}' | ||||
|                     item = QtGui.QStandardItem(hint_key) | ||||
|                     item.setData((model_key, *idx)) | ||||
|                     self.parameter_hint_model.appendRow(item) | ||||
|                     ac.setData((model_key, *idx)) | ||||
|                     ac.triggered.connect(self.link_parameter) | ||||
|                     m2.addAction(ac) | ||||
|   | ||||
| @@ -339,7 +339,7 @@ class ParameterSingleWidget(QtWidgets.QWidget): | ||||
|         # self.value_line.setText(f'{float(val):.5g}') | ||||
|         self.value_line.setText(f'{val}') | ||||
|  | ||||
|     def show_as_local_parameter(self, is_local): | ||||
|     def show_as_local_parameter(self, is_local: bool): | ||||
|         if is_local: | ||||
|             self.label.setStyleSheet('font-weight: bold;') | ||||
|         else: | ||||
|   | ||||
		Reference in New Issue
	
	Block a user