class MainWindow(QtGui.QMainWindow): def __init__(self, model): super(MainWindow, self).__init__() self._ui = Ui_MainWindow() self._ui.setupUi(self) self._view = PelvisView(model) self._view.register_visible_gender_options([self._ui.radioButtonMale.text(), self._ui.radioButtonFemale.text()]) self._model = model self._visibleGender = self._ui.radioButtonMale.text() self._ui.widgetScene.setContext(model.context()) self._model.set_time(self._ui.spinBoxHipWidth.value()) self._view.set_visible_gender(self._visibleGender) self._makeConnections() def _makeConnections(self): self._ui.dockWidget.visibilityChanged.connect(self._dockWidgetVisibilityChanged) self._ui.actionDemographicOptions.activated.connect(self._demographicOptionsClicked) self._ui.spinBoxHipWidth.valueChanged.connect(self._hipWidthValueChanged) self._ui.radioButtonFemale.clicked.connect(self._genderClicked) self._ui.radioButtonMale.clicked.connect(self._genderClicked) self._ui.actionIMeasureU.activated.connect(self._iMeasureUClicked) self._model.imuInputReceived.connect(self._ui.widgetScene.updateFromIMU) self._model.resetInitialParameters.connect(self._ui.widgetScene.resetInitial) self._ui.pushButtonResetView.clicked.connect(self._resetView) def _iMeasureUClicked(self): self._model.listen(self._ui.actionIMeasureU.isChecked()) def _hipWidthValueChanged(self, value): self._model.set_time(value) def _genderClicked(self): visibleGender = self.sender().text() if visibleGender != self._visibleGender: self._visibleGender = visibleGender self._view.set_visible_gender(self._visibleGender) self._resetView() def _resetView(self): self._ui.widgetScene.setInitialView() # self._ui.widgetScene.resetView(self._visibleGender) # self._ui.widgetScene.viewAll() def _demographicOptionsClicked(self): state = self._ui.actionDemographicOptions.isChecked() self._ui.dockWidget.setVisible(state) def _dockWidgetVisibilityChanged(self, state): self._ui.actionDemographicOptions.setChecked(state)
def __init__(self, model): super(MainWindow, self).__init__() self._ui = Ui_MainWindow() self._ui.setupUi(self) self._view = PelvisView(model) self._view.register_visible_gender_options([self._ui.radioButtonMale.text(), self._ui.radioButtonFemale.text()]) self._model = model self._visibleGender = self._ui.radioButtonMale.text() self._ui.widgetScene.setContext(model.context()) self._model.set_time(self._ui.spinBoxHipWidth.value()) self._view.set_visible_gender(self._visibleGender) self._makeConnections()