[add] functionality to display one groupbox of AutoPickParaBox exclusively
This commit is contained in:
		
							parent
							
								
									6daccad341
								
							
						
					
					
						commit
						be463c2adf
					
				| @ -1979,7 +1979,8 @@ class AutoPickParaBox(QtGui.QWidget): | ||||
|         self.add_special_pick_parameters_tab() | ||||
|         self.params_to_gui() | ||||
|         self._toggle_advanced_settings() | ||||
|         self.resize(720, 1280)         | ||||
|         self.resize(720, 1280) | ||||
|         self.setWindowModality(QtCore.Qt.WindowModality.ApplicationModal)         | ||||
| 
 | ||||
|     def _init_sublayouts(self): | ||||
|         self._main_layout = QtGui.QVBoxLayout() | ||||
| @ -2107,31 +2108,29 @@ class AutoPickParaBox(QtGui.QWidget): | ||||
|         scrollA = QtGui.QScrollArea() | ||||
|         scrollA.setWidgetResizable(True) | ||||
|         scrollA.setWidget(widget) | ||||
| 
 | ||||
|         widget.setLayout(layout) | ||||
|          | ||||
|         self.tabs.addTab(scrollA, name) | ||||
| 
 | ||||
|     def add_main_parameters_tab(self): | ||||
|         self.add_to_layout(self._main_layout, 'Directories', | ||||
|                            self.parameter.get_main_para_names()['dirs']) | ||||
|                            self.parameter.get_main_para_names()['dirs'], 0) | ||||
|         self.add_to_layout(self._main_layout, 'NLLoc', | ||||
|                            self.parameter.get_main_para_names()['nlloc']) | ||||
|                            self.parameter.get_main_para_names()['nlloc'], 1) | ||||
|         self.add_to_layout(self._main_layout, 'Seismic Moment', | ||||
|                            self.parameter.get_main_para_names()['smoment']) | ||||
|                            self.parameter.get_main_para_names()['smoment'], 2) | ||||
|         self.add_to_layout(self._main_layout, 'Common Settings Characteristic Function', | ||||
|                            self.parameter.get_main_para_names()['pick']) | ||||
|                            self.parameter.get_main_para_names()['pick'], 3) | ||||
|         self.add_tab(self._main_layout, 'Main Settings') | ||||
| 
 | ||||
|     def add_special_pick_parameters_tab(self): | ||||
|         self.add_to_layout(self._advanced_layout, 'Z-component', | ||||
|                            self.parameter.get_special_para_names()['z']) | ||||
|                            self.parameter.get_special_para_names()['z'], 0) | ||||
|         self.add_to_layout(self._advanced_layout, 'H-components', | ||||
|                            self.parameter.get_special_para_names()['h']) | ||||
|                            self.parameter.get_special_para_names()['h'], 1) | ||||
|         self.add_to_layout(self._advanced_layout, 'First-motion picker', | ||||
|                            self.parameter.get_special_para_names()['fm']) | ||||
|                            self.parameter.get_special_para_names()['fm'], 2) | ||||
|         self.add_to_layout(self._advanced_layout, 'Quality assessment', | ||||
|                            self.parameter.get_special_para_names()['quality']) | ||||
|                            self.parameter.get_special_para_names()['quality'], 3) | ||||
|         self.add_tab(self._advanced_layout, 'Advanced Settings') | ||||
| 
 | ||||
|     # def gen_h_seperator(self): | ||||
| @ -2145,12 +2144,32 @@ class AutoPickParaBox(QtGui.QWidget): | ||||
|     #     font.setBold(True) | ||||
|     #     label.setFont(font) | ||||
|     #     return label | ||||
| 
 | ||||
|     def refresh(self): | ||||
|         for groupbox in self.groupboxes.values(): | ||||
|             layout = groupbox._parentLayout | ||||
|             position = groupbox._position | ||||
|             layout.insertWidget(position, groupbox) | ||||
| 
 | ||||
|     def get_groupbox_exclusive(self, name): | ||||
|         widget = QtGui.QWidget(self, 1) | ||||
|         self._exclusive_widget = widget | ||||
|         layout = QtGui.QVBoxLayout() | ||||
|         button = QtGui.QPushButton('Okay')         | ||||
|         widget.setLayout(layout) | ||||
|         layout.addWidget(self.groupboxes[name]) | ||||
|         layout.addWidget(button) | ||||
|         button.clicked.connect(widget.close) | ||||
|         button.clicked.connect(self.refresh) | ||||
|         return widget | ||||
|          | ||||
|     def add_to_layout(self, layout, name, items): | ||||
|     def add_to_layout(self, layout, name, items, position): | ||||
|         groupbox = QtGui.QGroupBox(name) | ||||
|         groupbox._position = position | ||||
|         groupbox._parentLayout = layout | ||||
|         self.groupboxes[name] = groupbox | ||||
|         groupbox.setLayout(self.init_boxes(items)) | ||||
|         layout.addWidget(groupbox) | ||||
|         layout.insertWidget(position, groupbox) | ||||
| 
 | ||||
|     def show_groupboxes(self): | ||||
|         for name in self.groupboxes.keys(): | ||||
| @ -2174,6 +2193,16 @@ class AutoPickParaBox(QtGui.QWidget): | ||||
|         else: | ||||
|             print('Groupbox {} not part of object.'.format(name)) | ||||
| 
 | ||||
|     def show_file_buttons(self): | ||||
|         self.saveButton.show() | ||||
|         self.loadButton.show() | ||||
|         self.defaultsButton.show() | ||||
|          | ||||
|     def hide_file_buttons(self): | ||||
|         self.saveButton.hide() | ||||
|         self.loadButton.hide() | ||||
|         self.defaultsButton.hide() | ||||
|          | ||||
|     def show_parameter(self, name=None): | ||||
|         if not name: | ||||
|             for name in self.boxes.keys(): | ||||
| @ -2286,6 +2315,13 @@ class AutoPickParaBox(QtGui.QWidget): | ||||
|         except Exception as e: | ||||
|             self._warn('Could not restore defaults:\n{}'.format(e)) | ||||
|             return | ||||
|          | ||||
|     def show(self): | ||||
|         self.refresh() | ||||
|         self.show_parameter() | ||||
|         if hasattr(self, '_exclusive_widget'): | ||||
|             self._exclusive_widget.close() | ||||
|         QtGui.QWidget.show(self) | ||||
|              | ||||
|     def _warn(self, message): | ||||
|         self.qmb = QtGui.QMessageBox(QtGui.QMessageBox.Icon.Warning, | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user