Esempio n. 1
0
    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))
Esempio n. 2
0
    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))