def __init__(self, parent): QtGui.QDialog.__init__(self, parent) self._ui = Ui_AdjustClipping() self._ui.setupUi(self) self._parent = parent self._viewer = parent._stageView clipRange = self._viewer.computeGfCamera().frustum.nearFar self._nearCache = self._viewer.overrideNear or clipRange.min self._farCache = self._viewer.overrideFar or clipRange.max self._refreshTimer = QtCore.QTimer(self) self._refreshTimer.setInterval(250) self._refreshTimer.start() # Connect timer QtCore.QObject.connect(self._refreshTimer, QtCore.SIGNAL('timeout()'), self._updateAutomaticValues) # When the checkboxes change, we want to update instantly QtCore.QObject.connect(self._ui.overrideNear, QtCore.SIGNAL('stateChanged(int)'), self._overrideNearToggled) QtCore.QObject.connect(self._ui.overrideFar, QtCore.SIGNAL('stateChanged(int)'), self._overrideFarToggled) # we also want to update the clipping planes as the user is typing QtCore.QObject.connect(self._ui.nearEdit, QtCore.SIGNAL('textChanged(QString)'), self._nearChanged) QtCore.QObject.connect(self._ui.farEdit, QtCore.SIGNAL('textChanged(QString)'), self._farChanged) # uncheck the main window menu item when the window is closed QtCore.QObject.connect(self, QtCore.SIGNAL('finished(int)'), self._cleanUpAndClose) # Set the checkboxes to their initial state self._ui.overrideNear.setChecked(self._viewer.overrideNear \ is not None) self._ui.overrideFar.setChecked(self._viewer.overrideFar \ is not None) # load the initial values for the text boxes, but first deactivate them # if their corresponding checkbox is off. self._ui.nearEdit.setEnabled(self._ui.overrideNear.isChecked()) self._ui.nearEdit.setText(str(self._nearCache)) self._ui.farEdit.setEnabled(self._ui.overrideFar.isChecked()) self._ui.farEdit.setText(str(self._farCache)) # Make sure only doubles can be typed in the text boxes self._ui.nearEdit.setValidator(QtGui.QDoubleValidator(self)) self._ui.farEdit.setValidator(QtGui.QDoubleValidator(self))
def __init__(self, parent, dataModel): QtGui.QDialog.__init__(self, parent) self._ui = Ui_AdjustClipping() self._ui.setupUi(self) self._dataModel = dataModel clipRange = self._dataModel.cameraFrustum.nearFar self._nearCache = self._dataModel.overrideNear or clipRange.min self._farCache = self._dataModel.overrideFar or clipRange.max QtCore.QObject.connect(self._dataModel, QtCore.SIGNAL('signalFrustumChanged()'), self.update) # When the checkboxes change, we want to update instantly QtCore.QObject.connect(self._ui.overrideNear, QtCore.SIGNAL('stateChanged(int)'), self._overrideNearToggled) QtCore.QObject.connect(self._ui.overrideFar, QtCore.SIGNAL('stateChanged(int)'), self._overrideFarToggled) # we also want to update the clipping planes as the user is typing QtCore.QObject.connect(self._ui.nearEdit, QtCore.SIGNAL('textChanged(QString)'), self._nearChanged) QtCore.QObject.connect(self._ui.farEdit, QtCore.SIGNAL('textChanged(QString)'), self._farChanged) # Set the checkboxes to their initial state self._ui.overrideNear.setChecked(self._dataModel.overrideNear \ is not None) self._ui.overrideFar.setChecked(self._dataModel.overrideFar \ is not None) # load the initial values for the text boxes, but first deactivate them # if their corresponding checkbox is off. self._ui.nearEdit.setEnabled(self._ui.overrideNear.isChecked()) self._ui.nearEdit.setText(str(self._nearCache)) self._ui.farEdit.setEnabled(self._ui.overrideFar.isChecked()) self._ui.farEdit.setText(str(self._farCache)) # Make sure only doubles can be typed in the text boxes self._ui.nearEdit.setValidator(QtGui.QDoubleValidator(self)) self._ui.farEdit.setValidator(QtGui.QDoubleValidator(self))